From 3db1486bfb1ac7a684c6d48691591e4adbe7591e Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sun, 26 Mar 2023 14:35:10 +0900 Subject: [PATCH 001/639] Fix transaction amount overflow --- .../transactions-list.component.html | 4 ++-- .../transactions-list.component.scss | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/components/transactions-list/transactions-list.component.html b/frontend/src/app/components/transactions-list/transactions-list.component.html index cb54e1870..1549f7871 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.html +++ b/frontend/src/app/components/transactions-list/transactions-list.component.html @@ -77,7 +77,7 @@ - +
@@ -206,7 +206,7 @@ - +
diff --git a/frontend/src/app/components/transactions-list/transactions-list.component.scss b/frontend/src/app/components/transactions-list/transactions-list.component.scss index 08d7d7486..5d6dd7d61 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.scss +++ b/frontend/src/app/components/transactions-list/transactions-list.component.scss @@ -46,7 +46,16 @@ } td.amount { - width: 32.5%; + width: 36%; + @media (max-width: 576px) { + width: 50%; + } +} +td.amount.large { + width: 45%; + @media (max-width: 576px) { + width: 60%; + } } .extra-info { From 125b9e4525132304ca11c24eca871bd392adbc05 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 24 May 2023 15:49:35 -0400 Subject: [PATCH 002/639] Restore liquid max block weight to defaults --- production/mempool-frontend-config.liquid.json | 1 - 1 file changed, 1 deletion(-) diff --git a/production/mempool-frontend-config.liquid.json b/production/mempool-frontend-config.liquid.json index 6a7c79d52..1a4fc2998 100644 --- a/production/mempool-frontend-config.liquid.json +++ b/production/mempool-frontend-config.liquid.json @@ -11,7 +11,6 @@ "LIQUID_WEBSITE_URL": "https://liquid.network", "BISQ_WEBSITE_URL": "https://bisq.markets", "ITEMS_PER_PAGE": 25, - "BLOCK_WEIGHT_UNITS": 300000, "MEMPOOL_BLOCKS_AMOUNT": 2, "KEEP_BLOCKS_AMOUNT": 16 } From e9386ec003682ff921737709d234f4832822b0c8 Mon Sep 17 00:00:00 2001 From: Antoni Spaanderman <56turtle56@gmail.com> Date: Sun, 26 Mar 2023 16:39:45 +0200 Subject: [PATCH 003/639] Add Bitcoin Core RPC cookie authentication option --- backend/mempool-config.sample.json | 8 +++++-- .../__fixtures__/mempool-config.template.json | 10 ++++++--- backend/src/__tests__/config.test.ts | 8 +++++-- .../bitcoin/bitcoin-api-abstract-factory.ts | 1 + backend/src/api/bitcoin/bitcoin-client.ts | 3 +++ .../src/api/bitcoin/bitcoin-second-client.ts | 3 +++ backend/src/config.ts | 8 +++++++ backend/src/rpc-api/jsonrpc.ts | 21 ++++++++++++++++--- docker/README.md | 16 ++++++++++---- docker/backend/mempool-config.json | 8 +++++-- docker/backend/start.sh | 8 +++++++ 11 files changed, 78 insertions(+), 16 deletions(-) diff --git a/backend/mempool-config.sample.json b/backend/mempool-config.sample.json index 32becd00d..68b5c3801 100644 --- a/backend/mempool-config.sample.json +++ b/backend/mempool-config.sample.json @@ -35,7 +35,9 @@ "PORT": 8332, "USERNAME": "mempool", "PASSWORD": "mempool", - "TIMEOUT": 60000 + "TIMEOUT": 60000, + "COOKIE": false, + "COOKIE_PATH": "/path/to/bitcoin/.cookie" }, "ELECTRUM": { "HOST": "127.0.0.1", @@ -52,7 +54,9 @@ "PORT": 8332, "USERNAME": "mempool", "PASSWORD": "mempool", - "TIMEOUT": 60000 + "TIMEOUT": 60000, + "COOKIE": false, + "COOKIE_PATH": "/path/to/bitcoin/.cookie" }, "DATABASE": { "ENABLED": true, diff --git a/backend/src/__fixtures__/mempool-config.template.json b/backend/src/__fixtures__/mempool-config.template.json index 919784464..1d5c7135a 100644 --- a/backend/src/__fixtures__/mempool-config.template.json +++ b/backend/src/__fixtures__/mempool-config.template.json @@ -36,7 +36,9 @@ "PORT": 15, "USERNAME": "__CORE_RPC_USERNAME__", "PASSWORD": "__CORE_RPC_PASSWORD__", - "TIMEOUT": 1000 + "TIMEOUT": 1000, + "COOKIE": "__CORE_RPC_COOKIE__", + "COOKIE_PATH": "__CORE_RPC_COOKIE_PATH__" }, "ELECTRUM": { "HOST": "__ELECTRUM_HOST__", @@ -53,7 +55,9 @@ "PORT": 17, "USERNAME": "__SECOND_CORE_RPC_USERNAME__", "PASSWORD": "__SECOND_CORE_RPC_PASSWORD__", - "TIMEOUT": 2000 + "TIMEOUT": 2000, + "COOKIE": "__SECOND_CORE_RPC_COOKIE__", + "COOKIE_PATH": "__SECOND_CORE_RPC_COOKIE_PATH__" }, "DATABASE": { "ENABLED": false, @@ -119,4 +123,4 @@ "CLIGHTNING": { "SOCKET": "__CLIGHTNING_SOCKET__" } -} \ No newline at end of file +} diff --git a/backend/src/__tests__/config.test.ts b/backend/src/__tests__/config.test.ts index 278d83f50..f4cf719c6 100644 --- a/backend/src/__tests__/config.test.ts +++ b/backend/src/__tests__/config.test.ts @@ -54,7 +54,9 @@ describe('Mempool Backend Config', () => { PORT: 8332, USERNAME: 'mempool', PASSWORD: 'mempool', - TIMEOUT: 60000 + TIMEOUT: 60000, + COOKIE: false, + COOKIE_PATH: '' }); expect(config.SECOND_CORE_RPC).toStrictEqual({ @@ -62,7 +64,9 @@ describe('Mempool Backend Config', () => { PORT: 8332, USERNAME: 'mempool', PASSWORD: 'mempool', - TIMEOUT: 60000 + TIMEOUT: 60000, + COOKIE: false, + COOKIE_PATH: '' }); expect(config.DATABASE).toStrictEqual({ diff --git a/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts b/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts index 7b2802d1b..f8dfe8c26 100644 --- a/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts +++ b/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts @@ -25,4 +25,5 @@ export interface BitcoinRpcCredentials { user: string; pass: string; timeout: number; + cookie?: string; } diff --git a/backend/src/api/bitcoin/bitcoin-client.ts b/backend/src/api/bitcoin/bitcoin-client.ts index 429638984..f0dab4441 100644 --- a/backend/src/api/bitcoin/bitcoin-client.ts +++ b/backend/src/api/bitcoin/bitcoin-client.ts @@ -2,12 +2,15 @@ import config from '../../config'; const bitcoin = require('../../rpc-api/index'); import { BitcoinRpcCredentials } from './bitcoin-api-abstract-factory'; +export const defaultCookiePath = `${process.env.HOME}/.bitcoin/${{mainnet:'',testnet:'testnet3/',signet:'signet/'}[config.MEMPOOL.NETWORK]}.cookie`; + const nodeRpcCredentials: BitcoinRpcCredentials = { host: config.CORE_RPC.HOST, port: config.CORE_RPC.PORT, user: config.CORE_RPC.USERNAME, pass: config.CORE_RPC.PASSWORD, timeout: config.CORE_RPC.TIMEOUT, + cookie: config.CORE_RPC.COOKIE ? config.CORE_RPC.COOKIE_PATH || defaultCookiePath : undefined, }; export default new bitcoin.Client(nodeRpcCredentials); diff --git a/backend/src/api/bitcoin/bitcoin-second-client.ts b/backend/src/api/bitcoin/bitcoin-second-client.ts index 7f81a96a0..85d05556e 100644 --- a/backend/src/api/bitcoin/bitcoin-second-client.ts +++ b/backend/src/api/bitcoin/bitcoin-second-client.ts @@ -2,12 +2,15 @@ import config from '../../config'; const bitcoin = require('../../rpc-api/index'); import { BitcoinRpcCredentials } from './bitcoin-api-abstract-factory'; +import { defaultCookiePath } from './bitcoin-client'; + const nodeRpcCredentials: BitcoinRpcCredentials = { host: config.SECOND_CORE_RPC.HOST, port: config.SECOND_CORE_RPC.PORT, user: config.SECOND_CORE_RPC.USERNAME, pass: config.SECOND_CORE_RPC.PASSWORD, timeout: config.SECOND_CORE_RPC.TIMEOUT, + cookie: config.SECOND_CORE_RPC.COOKIE ? config.SECOND_CORE_RPC.COOKIE_PATH || defaultCookiePath : undefined, }; export default new bitcoin.Client(nodeRpcCredentials); diff --git a/backend/src/config.ts b/backend/src/config.ts index ff5ea4f9f..b9a3f366a 100644 --- a/backend/src/config.ts +++ b/backend/src/config.ts @@ -70,6 +70,8 @@ interface IConfig { USERNAME: string; PASSWORD: string; TIMEOUT: number; + COOKIE: boolean; + COOKIE_PATH: string; }; SECOND_CORE_RPC: { HOST: string; @@ -77,6 +79,8 @@ interface IConfig { USERNAME: string; PASSWORD: string; TIMEOUT: number; + COOKIE: boolean; + COOKIE_PATH: string; }; DATABASE: { ENABLED: boolean; @@ -180,6 +184,8 @@ const defaults: IConfig = { 'USERNAME': 'mempool', 'PASSWORD': 'mempool', 'TIMEOUT': 60000, + 'COOKIE': false, + 'COOKIE_PATH': '' // default value depends on network, see src/api/bitcoin/bitcoin-client }, 'SECOND_CORE_RPC': { 'HOST': '127.0.0.1', @@ -187,6 +193,8 @@ const defaults: IConfig = { 'USERNAME': 'mempool', 'PASSWORD': 'mempool', 'TIMEOUT': 60000, + 'COOKIE': false, + 'COOKIE_PATH': '' }, 'DATABASE': { 'ENABLED': true, diff --git a/backend/src/rpc-api/jsonrpc.ts b/backend/src/rpc-api/jsonrpc.ts index 4f7a38baa..0bcbdc16c 100644 --- a/backend/src/rpc-api/jsonrpc.ts +++ b/backend/src/rpc-api/jsonrpc.ts @@ -1,5 +1,6 @@ var http = require('http') var https = require('https') +import { readFileSync } from 'fs'; var JsonRPC = function (opts) { // @ts-ignore @@ -55,7 +56,13 @@ JsonRPC.prototype.call = function (method, params) { } // use HTTP auth if user and password set - if (this.opts.user && this.opts.pass) { + if (this.opts.cookie) { + if (!this.cachedCookie) { + this.cachedCookie = readFileSync(this.opts.cookie).toString(); + } + // @ts-ignore + requestOptions.auth = this.cachedCookie; + } else if (this.opts.user && this.opts.pass) { // @ts-ignore requestOptions.auth = this.opts.user + ':' + this.opts.pass } @@ -93,7 +100,7 @@ JsonRPC.prototype.call = function (method, params) { reject(err) }) - request.on('response', function (response) { + request.on('response', (response) => { clearTimeout(reqTimeout) // We need to buffer the response chunks in a nonblocking way. @@ -104,7 +111,7 @@ JsonRPC.prototype.call = function (method, params) { // When all the responses are finished, we decode the JSON and // depending on whether it's got a result or an error, we call // emitSuccess or emitError on the promise. - response.on('end', function () { + response.on('end', () => { var err if (cbCalled) return @@ -113,6 +120,14 @@ JsonRPC.prototype.call = function (method, params) { try { var decoded = JSON.parse(buffer) } catch (e) { + // if we authenticated using a cookie and it failed, read the cookie file again + if ( + response.statusCode === 401 /* Unauthorized */ && + this.opts.cookie + ) { + this.cachedCookie = undefined; + } + if (response.statusCode !== 200) { err = new Error('Invalid params, response status code: ' + response.statusCode) err.code = -32602 diff --git a/docker/README.md b/docker/README.md index b669b37c8..74b9be0d9 100644 --- a/docker/README.md +++ b/docker/README.md @@ -162,7 +162,9 @@ Corresponding `docker-compose.yml` overrides: "PORT": 8332, "USERNAME": "mempool", "PASSWORD": "mempool", - "TIMEOUT": 60000 + "TIMEOUT": 60000, + "COOKIE": "false", + "COOKIE_PATH": "" }, ``` @@ -174,7 +176,9 @@ Corresponding `docker-compose.yml` overrides: CORE_RPC_PORT: "" CORE_RPC_USERNAME: "" CORE_RPC_PASSWORD: "" - CORE_RPC_TIMEOUT: 60000 + CORE_RPC_TIMEOUT: 60000, + CORE_RPC_COOKIE: "" + CORE_RPC_COOKIE_PATH: "" ... ``` @@ -229,7 +233,9 @@ Corresponding `docker-compose.yml` overrides: "PORT": 8332, "USERNAME": "mempool", "PASSWORD": "mempool", - "TIMEOUT": 60000 + "TIMEOUT": 60000, + "COOKIE": "false", + "COOKIE_PATH": "" }, ``` @@ -241,7 +247,9 @@ Corresponding `docker-compose.yml` overrides: SECOND_CORE_RPC_PORT: "" SECOND_CORE_RPC_USERNAME: "" SECOND_CORE_RPC_PASSWORD: "" - SECOND_CORE_RPC_TIMEOUT: "" + SECOND_CORE_RPC_TIMEOUT: "", + SECOND_CORE_RPC_COOKIE: "" + SECOND_CORE_RPC_COOKIE_PATH: "" ... ``` diff --git a/docker/backend/mempool-config.json b/docker/backend/mempool-config.json index 06ed51f41..7a1db21b4 100644 --- a/docker/backend/mempool-config.json +++ b/docker/backend/mempool-config.json @@ -36,7 +36,9 @@ "PORT": __CORE_RPC_PORT__, "USERNAME": "__CORE_RPC_USERNAME__", "PASSWORD": "__CORE_RPC_PASSWORD__", - "TIMEOUT": __CORE_RPC_TIMEOUT__ + "TIMEOUT": __CORE_RPC_TIMEOUT__, + "COOKIE": __CORE_RPC_COOKIE__, + "COOKIE_PATH": "__CORE_RPC_COOKIE_PATH__" }, "ELECTRUM": { "HOST": "__ELECTRUM_HOST__", @@ -53,7 +55,9 @@ "PORT": __SECOND_CORE_RPC_PORT__, "USERNAME": "__SECOND_CORE_RPC_USERNAME__", "PASSWORD": "__SECOND_CORE_RPC_PASSWORD__", - "TIMEOUT": __SECOND_CORE_RPC_TIMEOUT__ + "TIMEOUT": __SECOND_CORE_RPC_TIMEOUT__, + "COOKIE": __SECOND_CORE_RPC_COOKIE__, + "COOKIE_PATH": "__SECOND_CORE_RPC_COOKIE_PATH__" }, "DATABASE": { "ENABLED": __DATABASE_ENABLED__, diff --git a/docker/backend/start.sh b/docker/backend/start.sh index cb1108a05..0aa8fde5c 100755 --- a/docker/backend/start.sh +++ b/docker/backend/start.sh @@ -38,6 +38,8 @@ __CORE_RPC_PORT__=${CORE_RPC_PORT:=8332} __CORE_RPC_USERNAME__=${CORE_RPC_USERNAME:=mempool} __CORE_RPC_PASSWORD__=${CORE_RPC_PASSWORD:=mempool} __CORE_RPC_TIMEOUT__=${CORE_RPC_TIMEOUT:=60000} +__CORE_RPC_COOKIE__=${CORE_RPC_COOKIE:=false} +__CORE_RPC_COOKIE_PATH__=${CORE_RPC_COOKIE:=""} # ELECTRUM __ELECTRUM_HOST__=${ELECTRUM_HOST:=127.0.0.1} @@ -55,6 +57,8 @@ __SECOND_CORE_RPC_PORT__=${SECOND_CORE_RPC_PORT:=8332} __SECOND_CORE_RPC_USERNAME__=${SECOND_CORE_RPC_USERNAME:=mempool} __SECOND_CORE_RPC_PASSWORD__=${SECOND_CORE_RPC_PASSWORD:=mempool} __SECOND_CORE_RPC_TIMEOUT__=${SECOND_CORE_RPC_TIMEOUT:=60000} +__SECOND_CORE_RPC_COOKIE__=${SECOND_CORE_RPC_COOKIE:=false} +__SECOND_CORE_RPC_COOKIE_PATH__=${SECOND_CORE_RPC_COOKIE:=""} # DATABASE __DATABASE_ENABLED__=${DATABASE_ENABLED:=true} @@ -165,6 +169,8 @@ sed -i "s!__CORE_RPC_PORT__!${__CORE_RPC_PORT__}!g" mempool-config.json sed -i "s!__CORE_RPC_USERNAME__!${__CORE_RPC_USERNAME__}!g" mempool-config.json sed -i "s!__CORE_RPC_PASSWORD__!${__CORE_RPC_PASSWORD__}!g" mempool-config.json sed -i "s!__CORE_RPC_TIMEOUT__!${__CORE_RPC_TIMEOUT__}!g" mempool-config.json +sed -i "s!__CORE_RPC_COOKIE__!${__CORE_RPC_COOKIE__}!g" mempool-config.json +sed -i "s!__CORE_RPC_COOKIE_PATH__!${__CORE_RPC_COOKIE_PATH__}!g" mempool-config.json sed -i "s!__ELECTRUM_HOST__!${__ELECTRUM_HOST__}!g" mempool-config.json sed -i "s!__ELECTRUM_PORT__!${__ELECTRUM_PORT__}!g" mempool-config.json @@ -179,6 +185,8 @@ sed -i "s!__SECOND_CORE_RPC_PORT__!${__SECOND_CORE_RPC_PORT__}!g" mempool-config sed -i "s!__SECOND_CORE_RPC_USERNAME__!${__SECOND_CORE_RPC_USERNAME__}!g" mempool-config.json sed -i "s!__SECOND_CORE_RPC_PASSWORD__!${__SECOND_CORE_RPC_PASSWORD__}!g" mempool-config.json sed -i "s!__SECOND_CORE_RPC_TIMEOUT__!${__SECOND_CORE_RPC_TIMEOUT__}!g" mempool-config.json +sed -i "s!__SECOND_CORE_RPC_COOKIE__!${__SECOND_CORE_RPC_COOKIE__}!g" mempool-config.json +sed -i "s!__SECOND_CORE_RPC_COOKIE_PATH__!${__SECOND_CORE_RPC_COOKIE_PATH__}!g" mempool-config.json sed -i "s!__DATABASE_ENABLED__!${__DATABASE_ENABLED__}!g" mempool-config.json sed -i "s!__DATABASE_HOST__!${__DATABASE_HOST__}!g" mempool-config.json From dc491a598405cfaa641dfbed011e5a5cd3812654 Mon Sep 17 00:00:00 2001 From: Antoni Spaanderman <56turtle56@gmail.com> Date: Mon, 27 Mar 2023 21:28:45 +0200 Subject: [PATCH 004/639] change default cookie path to /bitcoin/.cookie --- backend/src/__tests__/config.test.ts | 4 ++-- backend/src/api/bitcoin/bitcoin-client.ts | 4 +--- backend/src/api/bitcoin/bitcoin-second-client.ts | 4 +--- backend/src/config.ts | 4 ++-- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/backend/src/__tests__/config.test.ts b/backend/src/__tests__/config.test.ts index f4cf719c6..d1d8222bd 100644 --- a/backend/src/__tests__/config.test.ts +++ b/backend/src/__tests__/config.test.ts @@ -56,7 +56,7 @@ describe('Mempool Backend Config', () => { PASSWORD: 'mempool', TIMEOUT: 60000, COOKIE: false, - COOKIE_PATH: '' + COOKIE_PATH: '/bitcoin/.cookie' }); expect(config.SECOND_CORE_RPC).toStrictEqual({ @@ -66,7 +66,7 @@ describe('Mempool Backend Config', () => { PASSWORD: 'mempool', TIMEOUT: 60000, COOKIE: false, - COOKIE_PATH: '' + COOKIE_PATH: '/bitcoin/.cookie' }); expect(config.DATABASE).toStrictEqual({ diff --git a/backend/src/api/bitcoin/bitcoin-client.ts b/backend/src/api/bitcoin/bitcoin-client.ts index f0dab4441..e8b30a888 100644 --- a/backend/src/api/bitcoin/bitcoin-client.ts +++ b/backend/src/api/bitcoin/bitcoin-client.ts @@ -2,15 +2,13 @@ import config from '../../config'; const bitcoin = require('../../rpc-api/index'); import { BitcoinRpcCredentials } from './bitcoin-api-abstract-factory'; -export const defaultCookiePath = `${process.env.HOME}/.bitcoin/${{mainnet:'',testnet:'testnet3/',signet:'signet/'}[config.MEMPOOL.NETWORK]}.cookie`; - const nodeRpcCredentials: BitcoinRpcCredentials = { host: config.CORE_RPC.HOST, port: config.CORE_RPC.PORT, user: config.CORE_RPC.USERNAME, pass: config.CORE_RPC.PASSWORD, timeout: config.CORE_RPC.TIMEOUT, - cookie: config.CORE_RPC.COOKIE ? config.CORE_RPC.COOKIE_PATH || defaultCookiePath : undefined, + cookie: config.CORE_RPC.COOKIE ? config.CORE_RPC.COOKIE_PATH : undefined, }; export default new bitcoin.Client(nodeRpcCredentials); diff --git a/backend/src/api/bitcoin/bitcoin-second-client.ts b/backend/src/api/bitcoin/bitcoin-second-client.ts index 85d05556e..6ae9cefb0 100644 --- a/backend/src/api/bitcoin/bitcoin-second-client.ts +++ b/backend/src/api/bitcoin/bitcoin-second-client.ts @@ -2,15 +2,13 @@ import config from '../../config'; const bitcoin = require('../../rpc-api/index'); import { BitcoinRpcCredentials } from './bitcoin-api-abstract-factory'; -import { defaultCookiePath } from './bitcoin-client'; - const nodeRpcCredentials: BitcoinRpcCredentials = { host: config.SECOND_CORE_RPC.HOST, port: config.SECOND_CORE_RPC.PORT, user: config.SECOND_CORE_RPC.USERNAME, pass: config.SECOND_CORE_RPC.PASSWORD, timeout: config.SECOND_CORE_RPC.TIMEOUT, - cookie: config.SECOND_CORE_RPC.COOKIE ? config.SECOND_CORE_RPC.COOKIE_PATH || defaultCookiePath : undefined, + cookie: config.SECOND_CORE_RPC.COOKIE ? config.SECOND_CORE_RPC.COOKIE_PATH : undefined, }; export default new bitcoin.Client(nodeRpcCredentials); diff --git a/backend/src/config.ts b/backend/src/config.ts index b9a3f366a..eb1b0af21 100644 --- a/backend/src/config.ts +++ b/backend/src/config.ts @@ -185,7 +185,7 @@ const defaults: IConfig = { 'PASSWORD': 'mempool', 'TIMEOUT': 60000, 'COOKIE': false, - 'COOKIE_PATH': '' // default value depends on network, see src/api/bitcoin/bitcoin-client + 'COOKIE_PATH': '/bitcoin/.cookie' }, 'SECOND_CORE_RPC': { 'HOST': '127.0.0.1', @@ -194,7 +194,7 @@ const defaults: IConfig = { 'PASSWORD': 'mempool', 'TIMEOUT': 60000, 'COOKIE': false, - 'COOKIE_PATH': '' + 'COOKIE_PATH': '/bitcoin/.cookie' }, 'DATABASE': { 'ENABLED': true, From 0d69ad43ab26c7d2150e4b8460e762b7e06241e0 Mon Sep 17 00:00:00 2001 From: Antoni Spaanderman <56turtle56@gmail.com> Date: Sun, 18 Jun 2023 20:34:56 +0200 Subject: [PATCH 005/639] fix config issues --- .../src/__fixtures__/mempool-config.template.json | 4 ++-- docker/README.md | 12 ++++++------ docker/backend/mempool-config.json | 2 +- docker/backend/start.sh | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/backend/src/__fixtures__/mempool-config.template.json b/backend/src/__fixtures__/mempool-config.template.json index 1d5c7135a..cdf188b88 100644 --- a/backend/src/__fixtures__/mempool-config.template.json +++ b/backend/src/__fixtures__/mempool-config.template.json @@ -37,7 +37,7 @@ "USERNAME": "__CORE_RPC_USERNAME__", "PASSWORD": "__CORE_RPC_PASSWORD__", "TIMEOUT": 1000, - "COOKIE": "__CORE_RPC_COOKIE__", + "COOKIE": false, "COOKIE_PATH": "__CORE_RPC_COOKIE_PATH__" }, "ELECTRUM": { @@ -56,7 +56,7 @@ "USERNAME": "__SECOND_CORE_RPC_USERNAME__", "PASSWORD": "__SECOND_CORE_RPC_PASSWORD__", "TIMEOUT": 2000, - "COOKIE": "__SECOND_CORE_RPC_COOKIE__", + "COOKIE": false, "COOKIE_PATH": "__SECOND_CORE_RPC_COOKIE_PATH__" }, "DATABASE": { diff --git a/docker/README.md b/docker/README.md index 74b9be0d9..997a330b4 100644 --- a/docker/README.md +++ b/docker/README.md @@ -163,7 +163,7 @@ Corresponding `docker-compose.yml` overrides: "USERNAME": "mempool", "PASSWORD": "mempool", "TIMEOUT": 60000, - "COOKIE": "false", + "COOKIE": false, "COOKIE_PATH": "" }, ``` @@ -176,8 +176,8 @@ Corresponding `docker-compose.yml` overrides: CORE_RPC_PORT: "" CORE_RPC_USERNAME: "" CORE_RPC_PASSWORD: "" - CORE_RPC_TIMEOUT: 60000, - CORE_RPC_COOKIE: "" + CORE_RPC_TIMEOUT: 60000 + CORE_RPC_COOKIE: false CORE_RPC_COOKIE_PATH: "" ... ``` @@ -234,7 +234,7 @@ Corresponding `docker-compose.yml` overrides: "USERNAME": "mempool", "PASSWORD": "mempool", "TIMEOUT": 60000, - "COOKIE": "false", + "COOKIE": false, "COOKIE_PATH": "" }, ``` @@ -247,8 +247,8 @@ Corresponding `docker-compose.yml` overrides: SECOND_CORE_RPC_PORT: "" SECOND_CORE_RPC_USERNAME: "" SECOND_CORE_RPC_PASSWORD: "" - SECOND_CORE_RPC_TIMEOUT: "", - SECOND_CORE_RPC_COOKIE: "" + SECOND_CORE_RPC_TIMEOUT: "" + SECOND_CORE_RPC_COOKIE: false SECOND_CORE_RPC_COOKIE_PATH: "" ... ``` diff --git a/docker/backend/mempool-config.json b/docker/backend/mempool-config.json index 7a1db21b4..a91a52d6b 100644 --- a/docker/backend/mempool-config.json +++ b/docker/backend/mempool-config.json @@ -129,4 +129,4 @@ "GEOLITE2_ASN": "__MAXMIND_GEOLITE2_ASN__", "GEOIP2_ISP": "__MAXMIND_GEOIP2_ISP__" } -} \ No newline at end of file +} diff --git a/docker/backend/start.sh b/docker/backend/start.sh index 0aa8fde5c..1dce5e811 100755 --- a/docker/backend/start.sh +++ b/docker/backend/start.sh @@ -39,7 +39,7 @@ __CORE_RPC_USERNAME__=${CORE_RPC_USERNAME:=mempool} __CORE_RPC_PASSWORD__=${CORE_RPC_PASSWORD:=mempool} __CORE_RPC_TIMEOUT__=${CORE_RPC_TIMEOUT:=60000} __CORE_RPC_COOKIE__=${CORE_RPC_COOKIE:=false} -__CORE_RPC_COOKIE_PATH__=${CORE_RPC_COOKIE:=""} +__CORE_RPC_COOKIE_PATH__=${CORE_RPC_COOKIE_PATH:=""} # ELECTRUM __ELECTRUM_HOST__=${ELECTRUM_HOST:=127.0.0.1} @@ -58,7 +58,7 @@ __SECOND_CORE_RPC_USERNAME__=${SECOND_CORE_RPC_USERNAME:=mempool} __SECOND_CORE_RPC_PASSWORD__=${SECOND_CORE_RPC_PASSWORD:=mempool} __SECOND_CORE_RPC_TIMEOUT__=${SECOND_CORE_RPC_TIMEOUT:=60000} __SECOND_CORE_RPC_COOKIE__=${SECOND_CORE_RPC_COOKIE:=false} -__SECOND_CORE_RPC_COOKIE_PATH__=${SECOND_CORE_RPC_COOKIE:=""} +__SECOND_CORE_RPC_COOKIE_PATH__=${SECOND_CORE_RPC_COOKIE_PATH:=""} # DATABASE __DATABASE_ENABLED__=${DATABASE_ENABLED:=true} From 1339b98281b235b6e4a5a15db041df835b37a686 Mon Sep 17 00:00:00 2001 From: junderw Date: Sat, 27 Aug 2022 16:35:20 +0900 Subject: [PATCH 006/639] Feature: Readable RegExp constructor --- frontend/src/app/shared/common.utils.ts | 69 ++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/shared/common.utils.ts b/frontend/src/app/shared/common.utils.ts index 7d206f4b5..6cbe35386 100644 --- a/frontend/src/app/shared/common.utils.ts +++ b/frontend/src/app/shared/common.utils.ts @@ -119,6 +119,7 @@ export function convertRegion(input, to: 'name' | 'abbreviated'): string { } } + export function haversineDistance(lat1: number, lon1: number, lat2: number, lon2: number): number { const rlat1 = lat1 * Math.PI / 180; const rlon1 = lon1 * Math.PI / 180; @@ -135,4 +136,70 @@ export function haversineDistance(lat1: number, lon1: number, lat2: number, lon2 export function kmToMiles(km: number): number { return km * 0.62137119; -} \ No newline at end of file +} + +// all base58 characters +const BASE58_CHARS = '[a-km-zA-HJ-NP-Z1-9]'; +// all bech32 characters (after the separator) +const BECH32_CHARS = '[ac-hj-np-z02-9]'; +// All characters usable in bech32 human readable portion (before the 1 separator) +// Note: Technically the spec says "all US ASCII characters" but in practice only alphabet is used. +// Note: If HRP contains the separator (1) then the separator is "the last instance of separator" +const BECH32_HRP_CHARS = '[a-zA-Z0-9]'; +// Hex characters +const HEX_CHARS = '[a-fA-F0-9]'; +// A regex to say "A single 0 OR any number with no leading zeroes" +// (?: // Start a non-capturing group +// 0 // A single 0 +// | // OR +// [1-9][0-9]* // Any succession of numbers starting with 1-9 +// ) // End the non-capturing group. +const ZERO_INDEX_NUMBER_CHARS = '(?:0|[1-9][0-9]*)'; +export type RegexType = 'address' | 'blockhash' | 'transaction' | 'blockheight'; +export type Network = 'testnet' | 'signet' | 'liquid' | 'bisq' | 'mainnet'; +export function getRegex(type: RegexType, network: Network): RegExp { + let regex = '^'; // ^ = Start of string + switch (type) { + // Match a block height number + // [Testing Order]: any order is fine + case 'blockheight': + regex += ZERO_INDEX_NUMBER_CHARS; // block height is a 0 indexed number + break; + // Match a 32 byte block hash in hex. Assumes at least 32 bits of difficulty. + // [Testing Order]: Must always be tested before 'transaction' + case 'blockhash': + regex += '0{8}'; // Starts with exactly 8 zeroes in a row + regex += `${HEX_CHARS}{56}`; // Continues with exactly 56 hex letters/numbers + break; + // Match a 32 byte tx hash in hex. Contains optional output index specifier. + // [Testing Order]: Must always be tested after 'blockhash' + case 'transaction': + regex += `${HEX_CHARS}{64}`; // Exactly 64 hex letters/numbers + regex += '(?:'; // Start a non-capturing group + regex += ':'; // 1 instances of the symbol ":" + regex += ZERO_INDEX_NUMBER_CHARS; // A zero indexed number + regex += ')?'; // End the non-capturing group. This group appears 0 or 1 times + break; + case 'address': + // TODO + switch (network) { + case 'mainnet': + break; + case 'testnet': + break; + case 'signet': + break; + case 'liquid': + break; + case 'bisq': + break; + default: + throw new Error('Invalid Network (Unreachable error in TypeScript)'); + } + break; + default: + throw new Error('Invalid RegexType (Unreachable error in TypeScript)'); + } + regex += '$'; // $ = End of string + return new RegExp(regex); +} From c0d3f295eec2f483e8006b6f06de6fd8b3650a5b Mon Sep 17 00:00:00 2001 From: junderw Date: Sun, 28 Aug 2022 00:07:13 +0900 Subject: [PATCH 007/639] Finished Regex portion --- .../search-form/search-form.component.ts | 25 ++- frontend/src/app/shared/common.utils.ts | 191 ++++++++++++++---- 2 files changed, 178 insertions(+), 38 deletions(-) diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index ab42fe1f7..8031195f0 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -9,6 +9,7 @@ import { ElectrsApiService } from '../../services/electrs-api.service'; import { RelativeUrlPipe } from '../../shared/pipes/relative-url/relative-url.pipe'; import { ApiService } from '../../services/api.service'; import { SearchResultsComponent } from './search-results/search-results.component'; +import { ADDRESS_REGEXES, getRegex } from '../../shared/common.utils'; @Component({ selector: 'app-search-form', @@ -38,6 +39,7 @@ export class SearchFormComponent implements OnInit { regexBlockhash = /^[0]{8}[a-fA-F0-9]{56}$/; regexTransaction = /^([a-fA-F0-9]{64})(:\d+)?$/; regexBlockheight = /^[0-9]{1,9}$/; + focus$ = new Subject(); click$ = new Subject(); @@ -58,8 +60,13 @@ export class SearchFormComponent implements OnInit { private elementRef: ElementRef, ) { } - ngOnInit(): void { - this.stateService.networkChanged$.subscribe((network) => this.network = network); + + ngOnInit() { + this.stateService.networkChanged$.subscribe((network) => { + this.network = network; + // TODO: Eventually change network type here from string to enum of consts + this.regexAddress = getRegex('address', network as any); + }); this.searchForm = this.formBuilder.group({ searchText: ['', Validators.required], @@ -203,6 +210,20 @@ export class SearchFormComponent implements OnInit { this.isSearching = true; if (!this.regexTransaction.test(searchText) && this.regexAddress.test(searchText)) { this.navigate('/address/', searchText); + } else if ( + // If the search text matches any other network besides this one + ADDRESS_REGEXES + .filter(([, network]) => network !== this.network) + .some(([regex]) => regex.test(searchText)) + ) { + // Gather all network matches as string[] + const networks = ADDRESS_REGEXES.filter(([regex, network]) => + network !== this.network && + regex.test(searchText) + ).map(([, network]) => network); + // ############################################### + // TODO: Create the search items for the drop down + // ############################################### } else if (this.regexBlockhash.test(searchText) || this.regexBlockheight.test(searchText)) { this.navigate('/block/', searchText); } else if (this.regexTransaction.test(searchText)) { diff --git a/frontend/src/app/shared/common.utils.ts b/frontend/src/app/shared/common.utils.ts index 6cbe35386..bbc9143c0 100644 --- a/frontend/src/app/shared/common.utils.ts +++ b/frontend/src/app/shared/common.utils.ts @@ -139,67 +139,186 @@ export function kmToMiles(km: number): number { } // all base58 characters -const BASE58_CHARS = '[a-km-zA-HJ-NP-Z1-9]'; +const BASE58_CHARS = `[a-km-zA-HJ-NP-Z1-9]`; + // all bech32 characters (after the separator) -const BECH32_CHARS = '[ac-hj-np-z02-9]'; -// All characters usable in bech32 human readable portion (before the 1 separator) -// Note: Technically the spec says "all US ASCII characters" but in practice only alphabet is used. -// Note: If HRP contains the separator (1) then the separator is "the last instance of separator" -const BECH32_HRP_CHARS = '[a-zA-Z0-9]'; +const BECH32_CHARS_LW = `[ac-hj-np-z02-9]`; +const BECH32_CHARS_UP = `[AC-HJ-NP-Z02-9]`; + // Hex characters -const HEX_CHARS = '[a-fA-F0-9]'; +const HEX_CHARS = `[a-fA-F0-9]`; + // A regex to say "A single 0 OR any number with no leading zeroes" -// (?: // Start a non-capturing group -// 0 // A single 0 -// | // OR -// [1-9][0-9]* // Any succession of numbers starting with 1-9 -// ) // End the non-capturing group. -const ZERO_INDEX_NUMBER_CHARS = '(?:0|[1-9][0-9]*)'; -export type RegexType = 'address' | 'blockhash' | 'transaction' | 'blockheight'; -export type Network = 'testnet' | 'signet' | 'liquid' | 'bisq' | 'mainnet'; -export function getRegex(type: RegexType, network: Network): RegExp { - let regex = '^'; // ^ = Start of string +// (?: // Start a non-capturing group +// 0 // A single 0 +// | // OR +// [1-9]\d* // Any succession of numbers starting with 1-9 +// ) // End the non-capturing group. +const ZERO_INDEX_NUMBER_CHARS = `(?:0|[1-9]\d*)`; + +// Formatting of the address regex is for readability, +// We should ignore formatting it with automated formatting tools like prettier. +// +// prettier-ignore +const ADDRESS_CHARS = { + mainnet: { + base58: `[13]` // Starts with a single 1 or 3 + + BASE58_CHARS + + `{26,33}`, // Repeat the previous char 26-33 times. + // Version byte 0x00 (P2PKH) can be as short as 27 characters, up to 34 length + // P2SH must be 34 length + bech32: `(?:` + + `bc1` // Starts with bc1 + + BECH32_CHARS_LW + + `{6,100}` // As per bech32, 6 char checksum is minimum + + `|` + + `BC1` // All upper case version + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, + testnet: { + base58: `[mn2]` // Starts with a single m, n, or 2 (P2PKH is m or n, 2 is P2SH) + + BASE58_CHARS + + `{33,34}`, // m|n is 34 length, 2 is 35 length (We match the first letter separately) + bech32: `(?:` + + `tb1` // Starts with bc1 + + BECH32_CHARS_LW + + `{6,100}` // As per bech32, 6 char checksum is minimum + + `|` + + `TB1` // All upper case version + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, + signet: { + base58: `[mn2]` + + BASE58_CHARS + + `{33,34}`, + bech32: `(?:` + + `tb1` // Starts with tb1 + + BECH32_CHARS_LW + + `{6,100}` + + `|` + + `TB1` // All upper case version + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, + liquid: { + base58: `[GHPQ]` // G|H is P2PKH, P|Q is P2SH + + BASE58_CHARS + + `{33}`, // All min-max lengths are 34 + bech32: `(?:` + + `(?:` // bech32 liquid starts with ex or lq + + `ex` + + `|` + + `lq` + + `)` + + BECH32_CHARS_LW // blech32 and bech32 are the same alphabet and protocol, different checksums. + + `{6,100}` + + `|` + + `(?:` // Same as above but all upper case + + `EX` + + `|` + + `LQ` + + `)` + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, + bisq: { + base58: `B1` // bisq base58 addrs start with B1 + + BASE58_CHARS + + `{33}`, // always length 35 + bech32: `(?:` + + `bbc1` // Starts with bbc1 + + BECH32_CHARS_LW + + `{6,100}` + + `|` + + `BBC1` // All upper case version + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, +} +type RegexTypeNoAddr = `blockhash` | `transaction` | `blockheight`; +export type RegexType = `address` | RegexTypeNoAddr; + +export const NETWORKS = [`testnet`, `signet`, `liquid`, `bisq`, `mainnet`] as const; +export type Network = typeof NETWORKS[number]; // Turn const array into union type + +export const ADDRESS_REGEXES: [RegExp, string][] = NETWORKS + .map(network => [getRegex('address', network), network]) + +export function getRegex(type: RegexTypeNoAddr): RegExp; +export function getRegex(type: 'address', network: Network): RegExp; +export function getRegex(type: RegexType, network?: Network): RegExp { + let regex = `^`; // ^ = Start of string switch (type) { // Match a block height number // [Testing Order]: any order is fine - case 'blockheight': + case `blockheight`: regex += ZERO_INDEX_NUMBER_CHARS; // block height is a 0 indexed number break; // Match a 32 byte block hash in hex. Assumes at least 32 bits of difficulty. - // [Testing Order]: Must always be tested before 'transaction' - case 'blockhash': - regex += '0{8}'; // Starts with exactly 8 zeroes in a row + // [Testing Order]: Must always be tested before `transaction` + case `blockhash`: + regex += `0{8}`; // Starts with exactly 8 zeroes in a row regex += `${HEX_CHARS}{56}`; // Continues with exactly 56 hex letters/numbers break; // Match a 32 byte tx hash in hex. Contains optional output index specifier. - // [Testing Order]: Must always be tested after 'blockhash' - case 'transaction': + // [Testing Order]: Must always be tested after `blockhash` + case `transaction`: regex += `${HEX_CHARS}{64}`; // Exactly 64 hex letters/numbers - regex += '(?:'; // Start a non-capturing group - regex += ':'; // 1 instances of the symbol ":" + regex += `(?:`; // Start a non-capturing group + regex += `:`; // 1 instances of the symbol ":" regex += ZERO_INDEX_NUMBER_CHARS; // A zero indexed number - regex += ')?'; // End the non-capturing group. This group appears 0 or 1 times + regex += `)?`; // End the non-capturing group. This group appears 0 or 1 times break; - case 'address': - // TODO + // Match any one of the many address types + // [Testing Order]: While possible that a bech32 address happens to be 64 hex + // characters in the future (current lengths are not 64), it is highly unlikely + // Order therefore, does not matter. + case `address`: + if (!network) { + throw new Error(`Must pass network when type is address`); + } + regex += `(?:`; // Start a non-capturing group (each network has multiple options) switch (network) { - case 'mainnet': + case `mainnet`: + regex += ADDRESS_CHARS.mainnet.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.mainnet.bech32; break; - case 'testnet': + case `testnet`: + regex += ADDRESS_CHARS.testnet.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.testnet.bech32; break; - case 'signet': + case `signet`: + regex += ADDRESS_CHARS.signet.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.signet.bech32; break; - case 'liquid': + case `liquid`: + regex += ADDRESS_CHARS.liquid.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.liquid.bech32; break; - case 'bisq': + case `bisq`: + regex += ADDRESS_CHARS.bisq.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.bisq.bech32; break; default: - throw new Error('Invalid Network (Unreachable error in TypeScript)'); + throw new Error(`Invalid Network ${network} (Unreachable error in TypeScript)`); } + regex += `)`; // End the non-capturing group break; default: - throw new Error('Invalid RegexType (Unreachable error in TypeScript)'); + throw new Error(`Invalid RegexType ${type} (Unreachable error in TypeScript)`); } - regex += '$'; // $ = End of string + regex += `$`; // $ = End of string return new RegExp(regex); } From 0a51b752e62d82b6986c8177cc63a48991383fcb Mon Sep 17 00:00:00 2001 From: junderw Date: Sun, 28 Aug 2022 16:07:46 +0900 Subject: [PATCH 008/639] Improve types and add liquidtestnet for regex --- frontend/src/app/shared/common.utils.ts | 38 +++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/shared/common.utils.ts b/frontend/src/app/shared/common.utils.ts index bbc9143c0..288fc0362 100644 --- a/frontend/src/app/shared/common.utils.ts +++ b/frontend/src/app/shared/common.utils.ts @@ -160,7 +160,12 @@ const ZERO_INDEX_NUMBER_CHARS = `(?:0|[1-9]\d*)`; // We should ignore formatting it with automated formatting tools like prettier. // // prettier-ignore -const ADDRESS_CHARS = { +const ADDRESS_CHARS: { + [k in Network]: { + base58: string; + bech32: string; + }; +} = { mainnet: { base58: `[13]` // Starts with a single 1 or 3 + BASE58_CHARS @@ -227,6 +232,28 @@ const ADDRESS_CHARS = { + `{6,100}` + `)`, }, + liquidtestnet: { + base58: `[89]` // ???(TODO: find version) is P2PKH, 8|9 is P2SH + + BASE58_CHARS + + `{33}`, // P2PKH is ???(TODO: find size), P2SH is 34 + bech32: `(?:` + + `(?:` // bech32 liquid testnet starts with tex or tlq + + `tex` // TODO: Why does mempool use this and not ert|el like in the elements source? + + `|` + + `tlq` // TODO: does this exist? + + `)` + + BECH32_CHARS_LW // blech32 and bech32 are the same alphabet and protocol, different checksums. + + `{6,100}` + + `|` + + `(?:` // Same as above but all upper case + + `TEX` + + `|` + + `TLQ` + + `)` + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, bisq: { base58: `B1` // bisq base58 addrs start with B1 + BASE58_CHARS @@ -245,10 +272,10 @@ const ADDRESS_CHARS = { type RegexTypeNoAddr = `blockhash` | `transaction` | `blockheight`; export type RegexType = `address` | RegexTypeNoAddr; -export const NETWORKS = [`testnet`, `signet`, `liquid`, `bisq`, `mainnet`] as const; +export const NETWORKS = [`testnet`, `signet`, `liquid`, `liquidtestnet`, `bisq`, `mainnet`] as const; export type Network = typeof NETWORKS[number]; // Turn const array into union type -export const ADDRESS_REGEXES: [RegExp, string][] = NETWORKS +export const ADDRESS_REGEXES: [RegExp, Network][] = NETWORKS .map(network => [getRegex('address', network), network]) export function getRegex(type: RegexTypeNoAddr): RegExp; @@ -306,6 +333,11 @@ export function getRegex(type: RegexType, network?: Network): RegExp { regex += `|`; // OR regex += ADDRESS_CHARS.liquid.bech32; break; + case `liquidtestnet`: + regex += ADDRESS_CHARS.liquidtestnet.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.liquidtestnet.bech32; + break; case `bisq`: regex += ADDRESS_CHARS.bisq.base58; regex += `|`; // OR From 3d900a38497d7d6b588abba8d06c2af2c8c5d663 Mon Sep 17 00:00:00 2001 From: junderw Date: Sun, 28 Aug 2022 16:28:42 +0900 Subject: [PATCH 009/639] Fix: Prevent regex clash with channel IDs --- frontend/src/app/shared/common.utils.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/shared/common.utils.ts b/frontend/src/app/shared/common.utils.ts index 288fc0362..8b914beda 100644 --- a/frontend/src/app/shared/common.utils.ts +++ b/frontend/src/app/shared/common.utils.ts @@ -149,12 +149,13 @@ const BECH32_CHARS_UP = `[AC-HJ-NP-Z02-9]`; const HEX_CHARS = `[a-fA-F0-9]`; // A regex to say "A single 0 OR any number with no leading zeroes" -// (?: // Start a non-capturing group -// 0 // A single 0 -// | // OR -// [1-9]\d* // Any succession of numbers starting with 1-9 -// ) // End the non-capturing group. -const ZERO_INDEX_NUMBER_CHARS = `(?:0|[1-9]\d*)`; +// Capped at 13 digits so as to not be confused with lightning channel IDs (which are around 17 digits) +// (?: // Start a non-capturing group +// 0 // A single 0 +// | // OR +// [1-9][0-9]{0,12} // Any succession of numbers up to 13 digits starting with 1-9 +// ) // End the non-capturing group. +const ZERO_INDEX_NUMBER_CHARS = `(?:0|[1-9][0-9]{0,12})`; // Formatting of the address regex is for readability, // We should ignore formatting it with automated formatting tools like prettier. From d825143b3562c4ab493f56ae67a4eadcfde7a469 Mon Sep 17 00:00:00 2001 From: junderw Date: Sun, 4 Sep 2022 21:31:02 +0900 Subject: [PATCH 010/639] Search for full address in separate network if matches --- .../search-form/search-form.component.ts | 26 +- frontend/src/app/shared/common.utils.ts | 1 - .../pipes/relative-url/relative-url.pipe.ts | 4 +- frontend/src/app/shared/regex.utils.ts | 224 ++++++++++++++++++ 4 files changed, 235 insertions(+), 20 deletions(-) create mode 100644 frontend/src/app/shared/regex.utils.ts diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index 8031195f0..a9e31221a 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -9,7 +9,7 @@ import { ElectrsApiService } from '../../services/electrs-api.service'; import { RelativeUrlPipe } from '../../shared/pipes/relative-url/relative-url.pipe'; import { ApiService } from '../../services/api.service'; import { SearchResultsComponent } from './search-results/search-results.component'; -import { ADDRESS_REGEXES, getRegex } from '../../shared/common.utils'; +import { findOtherNetworks, getRegex } from '../../shared/regex.utils'; @Component({ selector: 'app-search-form', @@ -208,22 +208,13 @@ export class SearchFormComponent implements OnInit { const searchText = result || this.searchForm.value.searchText.trim(); if (searchText) { this.isSearching = true; + + const otherNetworks = findOtherNetworks(searchText, this.network as any); if (!this.regexTransaction.test(searchText) && this.regexAddress.test(searchText)) { this.navigate('/address/', searchText); - } else if ( - // If the search text matches any other network besides this one - ADDRESS_REGEXES - .filter(([, network]) => network !== this.network) - .some(([regex]) => regex.test(searchText)) - ) { - // Gather all network matches as string[] - const networks = ADDRESS_REGEXES.filter(([regex, network]) => - network !== this.network && - regex.test(searchText) - ).map(([, network]) => network); - // ############################################### - // TODO: Create the search items for the drop down - // ############################################### + } else if (otherNetworks.length > 0) { + // Change the network to the first match + this.navigate('/address/', searchText, undefined, otherNetworks[0]); } else if (this.regexBlockhash.test(searchText) || this.regexBlockheight.test(searchText)) { this.navigate('/block/', searchText); } else if (this.regexTransaction.test(searchText)) { @@ -252,8 +243,9 @@ export class SearchFormComponent implements OnInit { } } - navigate(url: string, searchText: string, extras?: any): void { - this.router.navigate([this.relativeUrlPipe.transform(url), searchText], extras); + + navigate(url: string, searchText: string, extras?: any, swapNetwork?: string) { + this.router.navigate([this.relativeUrlPipe.transform(url, swapNetwork), searchText], extras); this.searchTriggered.emit(); this.searchForm.setValue({ searchText: '', diff --git a/frontend/src/app/shared/common.utils.ts b/frontend/src/app/shared/common.utils.ts index 8b914beda..e50ba13b7 100644 --- a/frontend/src/app/shared/common.utils.ts +++ b/frontend/src/app/shared/common.utils.ts @@ -119,7 +119,6 @@ export function convertRegion(input, to: 'name' | 'abbreviated'): string { } } - export function haversineDistance(lat1: number, lon1: number, lat2: number, lon2: number): number { const rlat1 = lat1 * Math.PI / 180; const rlon1 = lon1 * Math.PI / 180; diff --git a/frontend/src/app/shared/pipes/relative-url/relative-url.pipe.ts b/frontend/src/app/shared/pipes/relative-url/relative-url.pipe.ts index d7fe612fe..83f5f20df 100644 --- a/frontend/src/app/shared/pipes/relative-url/relative-url.pipe.ts +++ b/frontend/src/app/shared/pipes/relative-url/relative-url.pipe.ts @@ -10,8 +10,8 @@ export class RelativeUrlPipe implements PipeTransform { private stateService: StateService, ) { } - transform(value: string): string { - let network = this.stateService.network; + transform(value: string, swapNetwork?: string): string { + let network = swapNetwork || this.stateService.network; if (this.stateService.env.BASE_MODULE === 'liquid' && network === 'liquidtestnet') { network = 'testnet'; } else if (this.stateService.env.BASE_MODULE !== 'mempool') { diff --git a/frontend/src/app/shared/regex.utils.ts b/frontend/src/app/shared/regex.utils.ts new file mode 100644 index 000000000..bac256c8d --- /dev/null +++ b/frontend/src/app/shared/regex.utils.ts @@ -0,0 +1,224 @@ +// all base58 characters +const BASE58_CHARS = `[a-km-zA-HJ-NP-Z1-9]`; + +// all bech32 characters (after the separator) +const BECH32_CHARS_LW = `[ac-hj-np-z02-9]`; +const BECH32_CHARS_UP = `[AC-HJ-NP-Z02-9]`; + +// Hex characters +const HEX_CHARS = `[a-fA-F0-9]`; + +// A regex to say "A single 0 OR any number with no leading zeroes" +// Capped at 13 digits so as to not be confused with lightning channel IDs (which are around 17 digits) +// (?: // Start a non-capturing group +// 0 // A single 0 +// | // OR +// [1-9][0-9]{0,12} // Any succession of numbers up to 13 digits starting with 1-9 +// ) // End the non-capturing group. +const ZERO_INDEX_NUMBER_CHARS = `(?:0|[1-9][0-9]{0,12})`; + +// Formatting of the address regex is for readability, +// We should ignore formatting it with automated formatting tools like prettier. +// +// prettier-ignore +const ADDRESS_CHARS: { + [k in Network]: { + base58: string; + bech32: string; + }; +} = { + mainnet: { + base58: `[13]` // Starts with a single 1 or 3 + + BASE58_CHARS + + `{26,33}`, // Repeat the previous char 26-33 times. + // Version byte 0x00 (P2PKH) can be as short as 27 characters, up to 34 length + // P2SH must be 34 length + bech32: `(?:` + + `bc1` // Starts with bc1 + + BECH32_CHARS_LW + + `{6,100}` // As per bech32, 6 char checksum is minimum + + `|` + + `BC1` // All upper case version + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, + testnet: { + base58: `[mn2]` // Starts with a single m, n, or 2 (P2PKH is m or n, 2 is P2SH) + + BASE58_CHARS + + `{33,34}`, // m|n is 34 length, 2 is 35 length (We match the first letter separately) + bech32: `(?:` + + `tb1` // Starts with bc1 + + BECH32_CHARS_LW + + `{6,100}` // As per bech32, 6 char checksum is minimum + + `|` + + `TB1` // All upper case version + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, + signet: { + base58: `[mn2]` + + BASE58_CHARS + + `{33,34}`, + bech32: `(?:` + + `tb1` // Starts with tb1 + + BECH32_CHARS_LW + + `{6,100}` + + `|` + + `TB1` // All upper case version + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, + liquid: { + base58: `[GHPQ]` // G|H is P2PKH, P|Q is P2SH + + BASE58_CHARS + + `{33}`, // All min-max lengths are 34 + bech32: `(?:` + + `(?:` // bech32 liquid starts with ex or lq + + `ex` + + `|` + + `lq` + + `)` + + BECH32_CHARS_LW // blech32 and bech32 are the same alphabet and protocol, different checksums. + + `{6,100}` + + `|` + + `(?:` // Same as above but all upper case + + `EX` + + `|` + + `LQ` + + `)` + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, + liquidtestnet: { + base58: `[89]` // ???(TODO: find version) is P2PKH, 8|9 is P2SH + + BASE58_CHARS + + `{33}`, // P2PKH is ???(TODO: find size), P2SH is 34 + bech32: `(?:` + + `(?:` // bech32 liquid testnet starts with tex or tlq + + `tex` // TODO: Why does mempool use this and not ert|el like in the elements source? + + `|` + + `tlq` // TODO: does this exist? + + `)` + + BECH32_CHARS_LW // blech32 and bech32 are the same alphabet and protocol, different checksums. + + `{6,100}` + + `|` + + `(?:` // Same as above but all upper case + + `TEX` + + `|` + + `TLQ` + + `)` + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, + bisq: { + base58: `B1` // bisq base58 addrs start with B1 + + BASE58_CHARS + + `{33}`, // always length 35 + bech32: `(?:` + + `bbc1` // Starts with bbc1 + + BECH32_CHARS_LW + + `{6,100}` + + `|` + + `BBC1` // All upper case version + + BECH32_CHARS_UP + + `{6,100}` + + `)`, + }, +} +type RegexTypeNoAddr = `blockhash` | `transaction` | `blockheight`; +export type RegexType = `address` | RegexTypeNoAddr; + +export const NETWORKS = [`testnet`, `signet`, `liquid`, `liquidtestnet`, `bisq`, `mainnet`] as const; +export type Network = typeof NETWORKS[number]; // Turn const array into union type + +export const ADDRESS_REGEXES: [RegExp, Network][] = NETWORKS + .map(network => [getRegex('address', network), network]) + +export function findOtherNetworks(address: string, skipNetwork: Network): Network[] { + return ADDRESS_REGEXES.filter(([regex, network]) => + network !== skipNetwork && + regex.test(address) + ).map(([, network]) => network); +} + +export function getRegex(type: RegexTypeNoAddr): RegExp; +export function getRegex(type: 'address', network: Network): RegExp; +export function getRegex(type: RegexType, network?: Network): RegExp { + let regex = `^`; // ^ = Start of string + switch (type) { + // Match a block height number + // [Testing Order]: any order is fine + case `blockheight`: + regex += ZERO_INDEX_NUMBER_CHARS; // block height is a 0 indexed number + break; + // Match a 32 byte block hash in hex. Assumes at least 32 bits of difficulty. + // [Testing Order]: Must always be tested before `transaction` + case `blockhash`: + regex += `0{8}`; // Starts with exactly 8 zeroes in a row + regex += `${HEX_CHARS}{56}`; // Continues with exactly 56 hex letters/numbers + break; + // Match a 32 byte tx hash in hex. Contains optional output index specifier. + // [Testing Order]: Must always be tested after `blockhash` + case `transaction`: + regex += `${HEX_CHARS}{64}`; // Exactly 64 hex letters/numbers + regex += `(?:`; // Start a non-capturing group + regex += `:`; // 1 instances of the symbol ":" + regex += ZERO_INDEX_NUMBER_CHARS; // A zero indexed number + regex += `)?`; // End the non-capturing group. This group appears 0 or 1 times + break; + // Match any one of the many address types + // [Testing Order]: While possible that a bech32 address happens to be 64 hex + // characters in the future (current lengths are not 64), it is highly unlikely + // Order therefore, does not matter. + case `address`: + if (!network) { + throw new Error(`Must pass network when type is address`); + } + regex += `(?:`; // Start a non-capturing group (each network has multiple options) + switch (network) { + case `mainnet`: + regex += ADDRESS_CHARS.mainnet.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.mainnet.bech32; + break; + case `testnet`: + regex += ADDRESS_CHARS.testnet.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.testnet.bech32; + break; + case `signet`: + regex += ADDRESS_CHARS.signet.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.signet.bech32; + break; + case `liquid`: + regex += ADDRESS_CHARS.liquid.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.liquid.bech32; + break; + case `liquidtestnet`: + regex += ADDRESS_CHARS.liquidtestnet.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.liquidtestnet.bech32; + break; + case `bisq`: + regex += ADDRESS_CHARS.bisq.base58; + regex += `|`; // OR + regex += ADDRESS_CHARS.bisq.bech32; + break; + default: + throw new Error(`Invalid Network ${network} (Unreachable error in TypeScript)`); + } + regex += `)`; // End the non-capturing group + break; + default: + throw new Error(`Invalid RegexType ${type} (Unreachable error in TypeScript)`); + } + regex += `$`; // $ = End of string + return new RegExp(regex); +} From 2c59992d3fbc28f64312802c622564b97a946cd6 Mon Sep 17 00:00:00 2001 From: junderw Date: Sun, 4 Sep 2022 21:53:52 +0900 Subject: [PATCH 011/639] Fix E2E error --- .../search-form/search-form.component.ts | 2 +- frontend/src/app/shared/common.utils.ts | 218 ------------------ 2 files changed, 1 insertion(+), 219 deletions(-) diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index a9e31221a..18b4048ef 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -65,7 +65,7 @@ export class SearchFormComponent implements OnInit { this.stateService.networkChanged$.subscribe((network) => { this.network = network; // TODO: Eventually change network type here from string to enum of consts - this.regexAddress = getRegex('address', network as any); + this.regexAddress = getRegex('address', network as any || 'mainnet'); }); this.searchForm = this.formBuilder.group({ diff --git a/frontend/src/app/shared/common.utils.ts b/frontend/src/app/shared/common.utils.ts index e50ba13b7..87c952c31 100644 --- a/frontend/src/app/shared/common.utils.ts +++ b/frontend/src/app/shared/common.utils.ts @@ -136,221 +136,3 @@ export function haversineDistance(lat1: number, lon1: number, lat2: number, lon2 export function kmToMiles(km: number): number { return km * 0.62137119; } - -// all base58 characters -const BASE58_CHARS = `[a-km-zA-HJ-NP-Z1-9]`; - -// all bech32 characters (after the separator) -const BECH32_CHARS_LW = `[ac-hj-np-z02-9]`; -const BECH32_CHARS_UP = `[AC-HJ-NP-Z02-9]`; - -// Hex characters -const HEX_CHARS = `[a-fA-F0-9]`; - -// A regex to say "A single 0 OR any number with no leading zeroes" -// Capped at 13 digits so as to not be confused with lightning channel IDs (which are around 17 digits) -// (?: // Start a non-capturing group -// 0 // A single 0 -// | // OR -// [1-9][0-9]{0,12} // Any succession of numbers up to 13 digits starting with 1-9 -// ) // End the non-capturing group. -const ZERO_INDEX_NUMBER_CHARS = `(?:0|[1-9][0-9]{0,12})`; - -// Formatting of the address regex is for readability, -// We should ignore formatting it with automated formatting tools like prettier. -// -// prettier-ignore -const ADDRESS_CHARS: { - [k in Network]: { - base58: string; - bech32: string; - }; -} = { - mainnet: { - base58: `[13]` // Starts with a single 1 or 3 - + BASE58_CHARS - + `{26,33}`, // Repeat the previous char 26-33 times. - // Version byte 0x00 (P2PKH) can be as short as 27 characters, up to 34 length - // P2SH must be 34 length - bech32: `(?:` - + `bc1` // Starts with bc1 - + BECH32_CHARS_LW - + `{6,100}` // As per bech32, 6 char checksum is minimum - + `|` - + `BC1` // All upper case version - + BECH32_CHARS_UP - + `{6,100}` - + `)`, - }, - testnet: { - base58: `[mn2]` // Starts with a single m, n, or 2 (P2PKH is m or n, 2 is P2SH) - + BASE58_CHARS - + `{33,34}`, // m|n is 34 length, 2 is 35 length (We match the first letter separately) - bech32: `(?:` - + `tb1` // Starts with bc1 - + BECH32_CHARS_LW - + `{6,100}` // As per bech32, 6 char checksum is minimum - + `|` - + `TB1` // All upper case version - + BECH32_CHARS_UP - + `{6,100}` - + `)`, - }, - signet: { - base58: `[mn2]` - + BASE58_CHARS - + `{33,34}`, - bech32: `(?:` - + `tb1` // Starts with tb1 - + BECH32_CHARS_LW - + `{6,100}` - + `|` - + `TB1` // All upper case version - + BECH32_CHARS_UP - + `{6,100}` - + `)`, - }, - liquid: { - base58: `[GHPQ]` // G|H is P2PKH, P|Q is P2SH - + BASE58_CHARS - + `{33}`, // All min-max lengths are 34 - bech32: `(?:` - + `(?:` // bech32 liquid starts with ex or lq - + `ex` - + `|` - + `lq` - + `)` - + BECH32_CHARS_LW // blech32 and bech32 are the same alphabet and protocol, different checksums. - + `{6,100}` - + `|` - + `(?:` // Same as above but all upper case - + `EX` - + `|` - + `LQ` - + `)` - + BECH32_CHARS_UP - + `{6,100}` - + `)`, - }, - liquidtestnet: { - base58: `[89]` // ???(TODO: find version) is P2PKH, 8|9 is P2SH - + BASE58_CHARS - + `{33}`, // P2PKH is ???(TODO: find size), P2SH is 34 - bech32: `(?:` - + `(?:` // bech32 liquid testnet starts with tex or tlq - + `tex` // TODO: Why does mempool use this and not ert|el like in the elements source? - + `|` - + `tlq` // TODO: does this exist? - + `)` - + BECH32_CHARS_LW // blech32 and bech32 are the same alphabet and protocol, different checksums. - + `{6,100}` - + `|` - + `(?:` // Same as above but all upper case - + `TEX` - + `|` - + `TLQ` - + `)` - + BECH32_CHARS_UP - + `{6,100}` - + `)`, - }, - bisq: { - base58: `B1` // bisq base58 addrs start with B1 - + BASE58_CHARS - + `{33}`, // always length 35 - bech32: `(?:` - + `bbc1` // Starts with bbc1 - + BECH32_CHARS_LW - + `{6,100}` - + `|` - + `BBC1` // All upper case version - + BECH32_CHARS_UP - + `{6,100}` - + `)`, - }, -} -type RegexTypeNoAddr = `blockhash` | `transaction` | `blockheight`; -export type RegexType = `address` | RegexTypeNoAddr; - -export const NETWORKS = [`testnet`, `signet`, `liquid`, `liquidtestnet`, `bisq`, `mainnet`] as const; -export type Network = typeof NETWORKS[number]; // Turn const array into union type - -export const ADDRESS_REGEXES: [RegExp, Network][] = NETWORKS - .map(network => [getRegex('address', network), network]) - -export function getRegex(type: RegexTypeNoAddr): RegExp; -export function getRegex(type: 'address', network: Network): RegExp; -export function getRegex(type: RegexType, network?: Network): RegExp { - let regex = `^`; // ^ = Start of string - switch (type) { - // Match a block height number - // [Testing Order]: any order is fine - case `blockheight`: - regex += ZERO_INDEX_NUMBER_CHARS; // block height is a 0 indexed number - break; - // Match a 32 byte block hash in hex. Assumes at least 32 bits of difficulty. - // [Testing Order]: Must always be tested before `transaction` - case `blockhash`: - regex += `0{8}`; // Starts with exactly 8 zeroes in a row - regex += `${HEX_CHARS}{56}`; // Continues with exactly 56 hex letters/numbers - break; - // Match a 32 byte tx hash in hex. Contains optional output index specifier. - // [Testing Order]: Must always be tested after `blockhash` - case `transaction`: - regex += `${HEX_CHARS}{64}`; // Exactly 64 hex letters/numbers - regex += `(?:`; // Start a non-capturing group - regex += `:`; // 1 instances of the symbol ":" - regex += ZERO_INDEX_NUMBER_CHARS; // A zero indexed number - regex += `)?`; // End the non-capturing group. This group appears 0 or 1 times - break; - // Match any one of the many address types - // [Testing Order]: While possible that a bech32 address happens to be 64 hex - // characters in the future (current lengths are not 64), it is highly unlikely - // Order therefore, does not matter. - case `address`: - if (!network) { - throw new Error(`Must pass network when type is address`); - } - regex += `(?:`; // Start a non-capturing group (each network has multiple options) - switch (network) { - case `mainnet`: - regex += ADDRESS_CHARS.mainnet.base58; - regex += `|`; // OR - regex += ADDRESS_CHARS.mainnet.bech32; - break; - case `testnet`: - regex += ADDRESS_CHARS.testnet.base58; - regex += `|`; // OR - regex += ADDRESS_CHARS.testnet.bech32; - break; - case `signet`: - regex += ADDRESS_CHARS.signet.base58; - regex += `|`; // OR - regex += ADDRESS_CHARS.signet.bech32; - break; - case `liquid`: - regex += ADDRESS_CHARS.liquid.base58; - regex += `|`; // OR - regex += ADDRESS_CHARS.liquid.bech32; - break; - case `liquidtestnet`: - regex += ADDRESS_CHARS.liquidtestnet.base58; - regex += `|`; // OR - regex += ADDRESS_CHARS.liquidtestnet.bech32; - break; - case `bisq`: - regex += ADDRESS_CHARS.bisq.base58; - regex += `|`; // OR - regex += ADDRESS_CHARS.bisq.bech32; - break; - default: - throw new Error(`Invalid Network ${network} (Unreachable error in TypeScript)`); - } - regex += `)`; // End the non-capturing group - break; - default: - throw new Error(`Invalid RegexType ${type} (Unreachable error in TypeScript)`); - } - regex += `$`; // $ = End of string - return new RegExp(regex); -} From 213800f563a2731a991cfbe2ce76b3ec419a92ad Mon Sep 17 00:00:00 2001 From: softsimon Date: Wed, 19 Jul 2023 16:46:02 +0900 Subject: [PATCH 012/639] Merge error fix --- .../app/components/search-form/search-form.component.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index 18b4048ef..eb8adbd83 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -35,10 +35,10 @@ export class SearchFormComponent implements OnInit { } } - regexAddress = /^([a-km-zA-HJ-NP-Z1-9]{26,35}|[a-km-zA-HJ-NP-Z1-9]{80}|[A-z]{2,5}1[a-zA-HJ-NP-Z0-9]{39,59})$/; - regexBlockhash = /^[0]{8}[a-fA-F0-9]{56}$/; - regexTransaction = /^([a-fA-F0-9]{64})(:\d+)?$/; - regexBlockheight = /^[0-9]{1,9}$/; + regexAddress = getRegex('address', 'mainnet'); // Default to mainnet + regexBlockhash = getRegex('blockhash'); + regexTransaction = getRegex('transaction'); + regexBlockheight = getRegex('blockheight'); focus$ = new Subject(); click$ = new Subject(); From d7ac326f920ae40fe7e93c140ad3760ac5ab4d98 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sun, 23 Jul 2023 12:02:04 +0900 Subject: [PATCH 013/639] [block list] improve block list when db = false --- .../blocks-list/blocks-list.component.html | 66 ++++++++++--------- .../blocks-list/blocks-list.component.ts | 17 +++-- 2 files changed, 46 insertions(+), 37 deletions(-) diff --git a/frontend/src/app/components/blocks-list/blocks-list.component.html b/frontend/src/app/components/blocks-list/blocks-list.component.html index 39fbb95e0..6248e6868 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.html +++ b/frontend/src/app/components/blocks-list/blocks-list.component.html @@ -1,6 +1,6 @@ -
+

Blocks

@@ -9,28 +9,28 @@
- - + - - + - - - - + + - - + + - - - - - - - - - - - - - - - - - - diff --git a/frontend/src/app/components/blocks-list/blocks-list.component.ts b/frontend/src/app/components/blocks-list/blocks-list.component.ts index 1af6572fc..b1c40ec6f 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.ts +++ b/frontend/src/app/components/blocks-list/blocks-list.component.ts @@ -17,6 +17,7 @@ export class BlocksList implements OnInit { blocks$: Observable = undefined; + isMempoolModule = false; indexingAvailable = false; auditAvailable = false; isLoading = true; @@ -36,6 +37,7 @@ export class BlocksList implements OnInit { public stateService: StateService, private cd: ChangeDetectorRef, ) { + this.isMempoolModule = this.stateService.env.BASE_MODULE === 'mempool'; } ngOnInit(): void { @@ -64,11 +66,10 @@ export class BlocksList implements OnInit { this.lastBlockHeight = Math.max(...blocks.map(o => o.height)); }), map(blocks => { - if (this.indexingAvailable) { + if (this.stateService.env.BASE_MODULE === 'mempool') { for (const block of blocks) { // @ts-ignore: Need to add an extra field for the template - block.extras.pool.logo = `/resources/mining-pools/` + - block.extras.pool.name.toLowerCase().replace(' ', '').replace('.', '') + '.svg'; + block.extras.pool.logo = `/resources/mining-pools/` + block.extras.pool.name.toLowerCase().replace(' ', '').replace('.', '') + '.svg'; } } if (this.widget) { @@ -99,7 +100,7 @@ export class BlocksList implements OnInit { } if (blocks[1]) { this.blocksCount = Math.max(this.blocksCount, blocks[1][0].height) + 1; - if (this.stateService.env.MINING_DASHBOARD) { + if (this.isMempoolModule) { // @ts-ignore: Need to add an extra field for the template blocks[1][0].extras.pool.logo = `/resources/mining-pools/` + blocks[1][0].extras.pool.name.toLowerCase().replace(' ', '').replace('.', '') + '.svg'; @@ -110,9 +111,11 @@ export class BlocksList implements OnInit { return acc; }, []), switchMap((blocks) => { - blocks.forEach(block => { - block.extras.feeDelta = block.extras.expectedFees ? (block.extras.totalFees - block.extras.expectedFees) / block.extras.expectedFees : 0; - }); + if (this.isMempoolModule && this.auditAvailable) { + blocks.forEach(block => { + block.extras.feeDelta = block.extras.expectedFees ? (block.extras.totalFees - block.extras.expectedFees) / block.extras.expectedFees : 0; + }); + } return of(blocks); }) ); From 597073c9b6ae5eae166690aa7fcf1e3c5745a292 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sun, 23 Jul 2023 12:18:21 +0900 Subject: [PATCH 014/639] [block list] re-enable block fee if !auditAvailable in widget --- .../src/app/components/blocks-list/blocks-list.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/blocks-list/blocks-list.component.html b/frontend/src/app/components/blocks-list/blocks-list.component.html index 6248e6868..85e2ea17f 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.html +++ b/frontend/src/app/components/blocks-list/blocks-list.component.html @@ -17,7 +17,7 @@ i18n-ngbTooltip="latest-blocks.health" ngbTooltip="Health" placement="bottom" #health [disableTooltip]="!isEllipsisActive(health)">Health - + @@ -65,7 +65,7 @@ - - - rwW(6j%~CLxM#w?bL>)c{CoNOiJl%G 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

#L#_gV{2V|k;;k~Tc08@f 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¨J5+oeDZzca`fvQ%NAV9jdyE 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 SU&10jCk}_H-~)t30kqCr$AeV;oD|I8=;pGX zV;kq+=Y+%8+d%R6sdEOAVP#&Hq_%S+Sh4vv22;Jf#F!x06giua6Y=f7aC{Ba=QH*5YaZ* zo<~e*qdTi_;`UUx@{jGc%{MFG9A}gLmbo)6c6$0q>Mt6;z~=%hBArK-IeWx#B>&Ff z93uu#+CZe(d#Eetjz9J}B&a1_n*AiHYX{Ip`Qn_uZ+YC+d}SRg!;Q$}msBy@;v3Dy0&s z|Fl#KF<$idj?snMC*4J8%|315Lyd)Ku+8~eeZMh}!s*TTv+IW}wrQ*9QAtx)=fIAP zRpWh2_RG!p7~={y;4Q`HW9gaK)mEdAod|9N>0`k5im#b>7%SjC*Wd%piKoikIZuL@ zHQM#bi%#;e#mYobf>ha_+I5`m1lQK@fU=?f#YbpRL7h1AUM(sO<==1?zzI?G=a~_29Jj8g)G_y9U-Pz?Fvj*q=)&K8< z=X160QFM=YF8XaMwO2*f?h%nw`ycHq*w*HktVWQTxqU6QGV@J*Fqp;HRWfnJgkQ?;;4$Lj zZ&#xW`)w4Ms58|(>&A`aaU8N^-?JcTXD1SuXj=Ax-wwxUP(FoW5Vip`Nj7+LIUFmU zbz3fkr8?C+_()+W!L7@4tIHJWJ!M$o@+4xNsa4z9K}NGO=OZd70*;xil+=aSS&5|6 zx0Ak9Z~Mt7m6z5&Qjh_ay&)8WAm79`{CUm>#qT@3gx;KwkB!Wwu4vIBLg3)52*J1G z%aaKO?g;Ania0JW!5jHswi`0hP899a^g@g0MJ{ki)ck$6j|HL8GxmXqO2WT zdVJ1XwS1YJP>kxaI7#R7kA`=?jq)!f|4l_c=}k$;&I584E!5XLcrkni+jfOq2H5d_ z@CbS80uh4o{xxfu%(cM9X>O!l!n)Vd=A7)x5L#{Fyn-3<-O#MlDZhQ6+l6^z*WsIG zkD~{Oa|Z55KTCR?r+F!~QU@VPB+R<83K9aZl!Xk6LKlP2;j^uAHna%HqdEBwNji`T zhuf05je8?F=2`H4_Tz^Ij6xIkoUWc2?g{<5E$F+g$oJln!krrSC;8WZXIYhX5TshT zvAy7B!iXJ@4rGVx`T6-aDDiy|cRHgje6ymtS5DFNX}muN6%K~q`xNa{){$~V{S%1* zah47^2w&&*mcjHK*b?Fam9-8;WZt_CSZJGDXxd;VKK<<4${Xolmw%K!{k$H6lzHDO z78;0!EqG)5LGy~d)lDr7!n(BkH2W7af7SnA?s;9s|Gx(>z1(TpCvTNUxyKeK69RS*vI|e# z_r>Rmz=I}5w+(;UcU8$dmD^! z^h7977VUpgeuc&uGa!9Ap2^RZuT?C0er-i`hDa;$^6meg6u7ixahyL|iOo7G>F zYpG{K8DE^%6ItSN{a+W&wm!G+qMf96| z9DC7MC->dG`XKVd%NL6!+SuV>tw#CNzw0OTlQTZvah&5{XuOesS-1>;Y;581TR+5I z`Ki~z=Gd-E)fe)Z5s%Zu=cqp`7&VcPgY3bRHfgTkKm1H|F>lQlTa5vXzH5N#R+{Le zvP>AdcXhw1uSoxRdm97luRng5*Kfa%t-^o%$A6KRU;k`J=9t%Uy%zb}%WaGJ4*Zsu zPQlpU;DBt^8Gnhcd`0m9N&)jE`u_x*%!v|-!>nREQG@Cv3d1FTMZk-si(@Abku3-QFMXs?{Y)-pZeT=6Z+e z`O9xNn|K-Z#xX)B1O2_L=_tK`#_hk2WxEgc@c59l_ueJn2K|=oHSQt9Qdz%+PkDI$ zuVs1U_YxB;+{(60_EgySYV)X}xy#Tccvj)>?ovbe4SdP=o7`ee0lDwPn7PqRH*Og_da>$9gfp9 zOPrNc>&)q~0-b`NR+t>=Cyda3HsKy2N4jmFh@3lSy5(WTS7nnBOehIv(ff=Z(OkLb zq&sk?CmfE$q)o-qzm5d>agk4jG2S{%@i#d=7Z02$r4p-CaPMp_ZaHUIjM;9obNcUG zD#9k^v>23!_D9ln9Xw<165>nhKRs6z8Dv>PdVglDF(~!=SgTJMr@&2&{mtOvCaPH2fDNFp8E^TAHR~6fo zQKf3N;tcODGtI-}T45vkFEf)*v|2n{21ZM%#a>b*6Dc`QOk+ zWJlF4e=@gko?9ZhazPyik&s1Dff zY>!4|>x!7fL>9iNa0D#GZ zo7k4A{r=UqJHzBfLqLLNs@V^&qfq`u8K>0AB0g)if4>@!XA&hDiv|T7XsjaM%tx4R zob;UowO1Ihtxhw`@L18TZB9H8p`cZF_;?*nHo>JJR+7Dyd@#;wx7nHX4NtbbeEntI z`{*mKZ6(D_4j3(kFS0WWJgjd>{#p?Mdy}OsCBtt<5UJ1(-Zy8xLA|jG*LebA+fc6t zt>1rq8@o5=Q2?oPs{OATe6`XTC?k}$CxzbA&EPYZa2_1r6@HIZuv5p!Agtce0h*Jp z>HzVg-&F4M!>ps~!{tkXA?2LxUi2^GTKms9pz(m`tZ5BWMbbV=c`x-B+FqlD^}SXe z+M#6i#gR&q?~cHB=nbo@S<6?~9nK%7yJQ|Q)y~@5Ts4MT{eROZR_C_bK<}Jy>hBg+ zd#vKwf;JMmN8f(7|GfIdfa4DR6926q8+u+Bh%o-yYA?Ohch>wpUkhb~w+OX~4kJ$F zmFTnHH9@pR-~W)@pq6a5y5J#_+o4*pn@@Q(<;-zqk1;8&vX^Jw(nUf(#=q8gIC&Za zpgmzc{yo~~Z4i8J_1?E%f9>12++KJe-}`p#{r))aq)+a8dA<$Ce;M1D_HE`ru5*&t zakMeOI(4!JT$cgd$Dq;J+WqFEJU)G$TdCgefBE{GJl^c@j~_p71M@%RZEThMHU=p4 zxZ3%nS9y8)8Ur_Br|+{)5Gef@Ej|r*E%_7hz8CHZ_Kw=cws7C}M{V1Dhp@w~_Oa`< zH~Hh+x4G@Bta8LY)~==Xd+6dC|1TAo|G%ji6SgyP*82?-!7X*o5+nJGZWr;s+_(P| zcCmi$=PS-F{HJe`GL!aSctSaC%eh6&>hL!}e`%%7h|Ix-s;Mn@Z zR5RaAK2eT`;F>E_-$qWduY!%E23mva-2Te~)7@*ExA00!j8iaKCSCe->Z4Wu^|S@= zgBEZ%gORiqENnu4S#diR2d_!?d5@O(fnVk4r4M-YAU+ub-?p3AVaJ|LxbJImG5lmh z<=*dO@bsgvO#dc7{`jw>-j`qgEYH9EWt_PzJ-!@1<%g_!V_nmQ z_W0kA1&CGkw@3YaY@b~3M$i2V?lRU?g_NYdDQ=2*N9oP9Pb{CLskPkG0LJ7G3SVu) zmmQ3o+0s0REe&oCY8k>%9euT zBKeO(d%uUde`6Q6WPt3!iNBD)v0t$aa8L0eKD(9)4wX18l5uaPYyPb*teg!`!~bvR za7ClKwrKnp6t^mtTdFb}>VfUH0vzcty2GDf@;%o-1qf?cK2zGrX z(<%gO-RhFh_wXuAkZg%ev|}Va1D`uTqD*A{R-orj!z5QcS4^-Wj2d+w>mKNP@Q(dT zhg4Qd!c9uUuA?TKRArqFi!`({vL6JK6Jf*vs&WV76yFQ2UFq$mF?)F?#>!)91jo*K z*M(D8oc3;>q`bE6qiA_m9mp4F5G2jZ%lW&xvS%ZOFRZ*OAdC5JDOUrurGByB2es2e zQB`0?c8qO)-HC1i`A@)3t5m^yxIpsR{Xti6gYjl~!hQq~Ds)%2Ue8PO_Wdm>kjtIb z?Tz^8-ozJdYxW59xjm`7Ug(}z=$mG(6?Ds zg!IsKl=IoFlLN8Mb=GVFHaT#^lO+EbbP0dgGi)2tR4Xs-VA49MGwWe~;HP>|_n*MC z;mqo9}I(*?--9S)NV?mGd1cN)`0X z?LOcENebK!d?rt>_K$1yuY(`P5k=Swv+hQpOrw0p$r6@B>I~ry6uLYK$^L&lDX;7; zR<-9L1FE~?vLxE$`vDWPti_U;a(H5fwL3)Co(BH*j;~I1&?%VT~E`25X{C(ZEyx_Lfr1gwW;N6OUeHH%JuV;Ss zu9C{DRIl5g%VDdhroKlSZQD?UVr{e)4b~I3mj_#UEi403$G);CGu{I|eu6H23e=4& zj{*k!RMC~*AS+{FdiVxUx54eFX^U>j=YHOJ-~RIPmRvrD-_R2yo+SRTl{I}e*84ac zd<=Z|f%d-2&#J$E{E*i^8SKN(1?}gDDx6h05{vWv_QyvX;O|?kK0Z#}smB=LzcyG= zrAP~f1aPHJrJs@=U7w%aH(h?UE!^YWQ}}yo|25n8-!*oh=X?J#aINRfE(2YrNbvY9 z!e>!I3%8V8XY|5!X2z#|Cxh!$AE}$wvCZmr)7E|8mM<;f_9S#4s5(H#>SW%8wcw_E ztCjJ8i8XaYvussX{j}*Kq2? zp8a=U2W8pep1`!Aj2_VUZPq)E0X6sz+qunWN8+TRinZu&G0)W|i1mT=w=t0Z`t5Jy z@#D*{^4uqhJ^wO~AJM7HG7`f0D=9v2*fBebO11@kML{1?T;$-YER!S(I^~P7)>$=H z|LYT#w_UT*$#6q#q*HQxekiZ$t#JO|+HaO2jX`FcoUQZtIFDZ@l-D7Pa9MR ztjC0X@O;Y7A?_PF-Og-_U$6q5uS3rVZe~YT6#N;oTpEs3=Y3S7@Fp1MyN*kf#TlhK z;}5|`22OT?1PjoFf2o*$>8>t&xG)e3ls$@B7Xd?)W&3Dd8F58f`5nR>NYa?LzRHg7 z$)06)&MyWs3k(!Yi>RKtnCBNd8k2q-=xCL`F3_%e`dzkCuux@R@tOQfbFQ zXKk(uE?2dg@=}R0(G#`iGMVzG^mHfxF+(@X zh-?)-L-7;O^H;r=fg!~}Sc}2hr4-g=aczGpWD(AnZ|VU9TxHSw`m+SBZY4v*iC6G! z*)XS`-gq<{oF#)IyX%^;IvW@e{j21z8fE=V8|m^5^@dRu>esa)yT8y7gT3W_1ex1# zz21QK2@}W!=@5a4qqf&1wgmIGK%e65{k{B$`XAp8(5aOShn&-!`89DM&=G9KWC}RX zMw>CF3tDGwuMePrSho-j_2SqbW1=rgD&Y=xYC2*UVt= zuz^|c+_~Zf0ua47am)RXwtc38fzzD4g#-V4{~xc7{|`)vUfn`dCGD8+Zm1u!8>IAD z1hv2ABp+``b$*97Wh$5^WKDIB&j5ma8tteG{1j=W^kQITnqlc?)X}$ zEb?ByZ*(ts5>195q>KDSU2X5L3(%l%JE|5l5uj*~5U%)M`>|?;{S~%ORZink)vbi* zV3*7-az(aYVt#f4wP7d5cJ6)0veD&<2gT*lU#Y{66Z?;PQjE98Hhs#P)b;Wj3)V!O z@lwG62i37RBbf>+4mmCS|Hifx<5sk-A<|d1#IcN3;eFNkNcfM{<o7ju&b}9)K zTIe0!9ysOqetG<_ey^8tyV&--qcFzMEQ!%hy0$buuQ)#>8&Cl{|Q^=9g(UNw}LUB76pKE zdA0Mhn+=$cGkFgD&UoZ_EESZgsz;|LZ&V_@G(Db-irt$RZ<;(0Ay0e0~``G*-5|ZUG-<*s#kHSeo0H zIIGYxod%k?{D%!|NRyw{0WIH0-6hbzWW53Y=DELzwNTmXjBMtPh_$WcqrLsl8Wq|N z{~vrbEaxw~)});S@gc$Mk_;GW(kph;BmW=igjKIN^g6naJB|v3qZu%c@^*IDGHFbM z7{OX@MXRDh*KTib89VN!aunJ6| zm?tmkSfwPC9I02;@$vR9Kp~vm z$Y-*k_Ej1(3p*BGyq~O4;K^t&?ypI!d{>~X-#K$6OP{&Tu`bR*b`3mv6rD)aX8a(Sb5yuA)JHO2Ur_Tqlv+peN z*=#j>#Z3_Fo)AACN5VdQZrQ+wI>_Kd*t|DzmblBsVGiVk2Q`Lb@a9)n|}Z2ZanAXR8)KjJzGU(LQ*7OrZ!cHX%S%0i{U(J6(<;xp z(!a(xXQ|x2F}7gG!Sa?hisV3X-NL(9d4$4QeGP;P;T+H`$DM#OkQ4h)Wj60ZgBVxM z_L3)&Qfq*Y{Q!M0)h{vnUT1=TZs*=cLa_EN*_O&yt@QK(max4b7{PeWo8g^HWk zVM*g9R?=NuCbrU9?dTHc2d5E2RP4WI+o8+cK7(9Nd)mKWNZ0P{r!r{Ng+w2;kt*E( z$YStb&{oZ_8C#c+6;yq@`cB6fXqdHm|MqQ7-*5l= zfO?;}hr6N?FR7YMoGY^;@g%GLcjUNFiu~+Fj2@FOV752=QbPP&eRJrLkHL1A2OH=v z_R2dW`w44Wyy02t~5;X`mNX3?=vZfc_!WEO1R~ac-6-mE@dW8zO2$CU3% z^w}qI57?b9`Cb?B>$?uOko=p?+T{P3QnJ7??;gb#uUCyJ8v+^i?PEcb71Z(YG~g+D z#(nZws{n6m%Q#-7*dAS}vD(iKyGrtizcU6?&57#q){My{25ooBY8`N@w$-00D@XW! zHb5|+9l}bKrSuH%oo%nauE3LNXTe7ZyOizDd|J&J2-OrV0&a5?0A1-5u|~1u?wi8| z<~ktJ{K%~S>~e`?&JYIoQ+xnEWQ)O_gRy<<=G(y8$NTp&nEu|6CApPALAI}r5z#>~??Ehz-?w4adOvlMv?|o8+&Ph60SY_9TCMRAO+W(fc zsBHyKq|-&z2ku)VTJBUW*BTjQ_CpX(c#-2^fF(+&ePz9x9;P#p^Dj2%_P-#@D5&du z`SdzqQ7uhc(`XI&t3f{N2)-apbTj_v@*Ra)uP+lP3%`;as^G9$*gL=JJd3dGxXXRR z+AfuK`4%2)j&E*Lx<2cZ#;(?u?b@NjZG`L$I_AAOCoSXu%gfh4{Z*0hB47wz2^V4EcHrb0+WIrPNK|t#`QLwI4-rJ5Ztb*MQL9SA#2p7l%g+ zW@sfAa+n5DDSYUC+@fxlmt?#g)Y$7A9&`j!0G%m;8~r1Rm$3ZrgSkfaC3-DtSz(iv zcS_AQxm*h{<`78es$a1^=k?GfWgvl8Nd~;Tpjl)Oq4n!{y3Sg!u<@HGWfi#+%Bl!Y zad>dop3v? zj>}y6)mM(?Y{?>7rZT601~RDlZ=E#9mY|rA}IfMM#;*6_AT_Z^l zFdXTH`6|5!TRqSRo_k>L+qp+|grM5&$r&6IDrE0~peEm$5DE~8UeuRi%E{XjFMC;DBchHU)y;;Am*WeUfWyr5un%B;>)* zKErzoc9-4iAnrV-b=osXQy7Kmsxe zd#aU}Py9SHSc!x4WG1nd+7wfGHt}`XnFsM$LP);u;hg$J1>16*kCAYFdU~F=fNHew zd(j9u(T+rUE$_8egtSajrFxWUR|lN1eeAKmg03fV`xfp)?v5NxaDS;PflQoCn|e8( zOpjyzN}bcI8e9K~4W^K@EMfl}7^Z?2C2_F_8l;52LCLiJ};}aZZ zms(f&5EjsUcq z+6W#}YCf9F7(o}h7>e-%`BMXQ9kNxV$zUt;Z@Ro3`+3Xx9XBKNz55*SPE?2*=JUS~|LMg%JyQ>CDlHRAmG`J)fp;iBS+2gy`NPh^6&bs6^nY%D z9rx2dEzjKMHj%}4C9eMSSo%x6i0*uoNvCXj2b1zQJwWfR<#Ry0rJHOk(wv@@cz3uq zx}@5FSHxOj!gtE|{F{82{-jNWy{1tatI`jRoqAk9?(+7e1x(=kAne#x?CraJjDN3l zJMWtw{qoztxeciQI&2dkrL&F$IJ&b^nBL+G3CzD~7()C+8h@9`wre|iV% zMHp&wCgOkAN?5ER9^t1ZzeQdG6FT)>dyn*`GL5u+kGe;_*OnrwkxnI4(U#BBHry3!IEN1ZMU z`dr_v{;^{z(rjLmbq5dBEIr!M{fdQ!viAw z6>djaF&TYd6@&t<4uncU*(5H(7}jrmH89+ptKg>vIx3`~bh9(EB}n``ZXEb0ys=V> zYY^Yg6^H@lREk%z$E(SvZs&ulIW^H}z$fd=P<^=hLKnyk&ni`TFX?b5Pj#?2$$Y{m z@aD>p67`&wL!A}(aNamq;dTvL$rf&w|UWKUazDZJZXKgm%D5 zLw$;{2DI57U>y_Ac%rT&=itCNi*&4rV<+))^BZ1Ye~cuKtBD0f6o1q!rIX1Hrny2? zvyO0ruYxn;gZ(ftRABwq@@z1>=L6_-b;rCpCP(#^+x;9?AGAi^1U)vkZ@<2c!Qtb0 zB$N@)2)e8U;vaCT(z{l2;&sdf1D(w-x%#1#;p;6Jf4vQ!_gU|K)!)G7dL^D(;Bs2a z%684m5q~6P(Qg_*^QnTrrE_*^@(0VOw|(^_mO`RaB@<_5&~Dz7G{Zq%gk#h^x7Z&8 zIQ{odr-7_$*(t-|S$qLx`i69C;)5*SxnshKt$Y(-ebFa4guJ;dZ+vtTECxJ-MCX*E zO9ZI3*pe!YuKyfxok^C1JNNE3@`tSLdTmE(A7pcXGzDY2;x1ALjPcxfTIFx@GY74_ z&t{Ty99JP%;zgp1oHCA4S2QGr{%NO^~r^k9P3~Y`$Q$_5el?Li>rO$ z-IC&oZDV?|fiav^#}iIgP2*_@#B=pc_#Kf!JaKItFN` z1p!6)C3$`ERaHXQD&1#%#O%yCZ@I5VynTOodXC8`?$7Ym@?9zNAN+n5p?=Qx51i5L zFaduG`WK5L(12jaH;7vkpQx+_ZmKE;zhmNq#X9-R?X>SQacB;(Gg`%8j@WC*XFQQ6 z2Mls2Co#Hv+%ig=|2ZZ+j{#KQsprwQcsKfoe+BtTYTbCw^+sQ%eCzwS*YEQ7tH*w0^n`pg({8RUV%n1%1f5bK2|B$6tQ=ZSeHR+dEH|G5kAk`Q$kq zIGjiEUFG570QpFw7mWsRJ55FIO@8se2TsJJI@QsZjMKRt^kuzGFM#&nEAj~(vGdQN zOWOe@@G1_5ht0D#-2T+Oy_!y@G2;rSC}1KnnIe4JR(M}kSb~)4AhMCB`JNwdG|Nn% zH}e0w@-sn5c@6xl6~KUQ)$2mro=ak#y36&HNP$85n>CYKo_bC=dXyr&2`j%PrM(7l zdft$rD0L!}td;I0q1JW(u47`f2OmOpL#wj}#clnE$@+Q0#sAl||4VKfdB`U$E<5G* zKmU7a*PW~Cwxt<0wn^e~0it@8lS-_qt|CDI#FMYeG4f?@ ze;EDiNZ`!>sYq~vd31cp>Fw*UzyA?~dA(64y6U)jVLg6Q&WjMa(`iU_;>RV@Em&>> zOA8!|gyu5wz?9#UA-?JWB2;8+3kMkqQRZB?9;r}Ns(Ic_wj>fXfTA$MOW`@gLG1IJ zA|YI>NuqQA$x6Y6&}?KC$3}2#>;8bxXE>nXiDopolgXpsw5^3i1SY%K2tF}2N=fI{ z2(28bLcdkHO|rnrK=0U9WtOw4Kjm6c8RK~FG)h;upu-zaJL=gh%oVM}xJ@8m8KE<< zJll(#9h^U(=+kl+3l;k4c$cqTvmuoM)tdAjU9R%e3`$tpPHxdj9JG~$o{KZSWQ9>D z(a#pN6XKR+K6bx+0QR^}J#1WzwlkR1^DY@AlEY3!;s|xC{o@aiLnjST>f)1}Aa8w3 z0hs-3EObcL#)(Te_;e;rJ?@n@ZisZwa2Ip{{ZU(zX)iYT)BE!LC7*@2)(I>hX+vpZ)8xqfvFjUP zQjCawM{mYg`@6}?yESnhiy#o+wF7hnVb-4c=Y?LGn5#)*&{mGu{OD5o41bBw<9%+2 ziRc=(#neYFjEPC8ooK9JRnGlCfol`}6MowUJziV~Un?!ArHsKiTXcbz zA17P#0INbPN-S*c{D&8F&mRKba@L^(1mJ1ZWM5h7B!YhoNdC#Z7b49`^tq^N3#_*n zG89+r2u5E4yi2s6@lL317rSD(@i@9=UK70>I!fgJKYTb*LYNwZ zX!I|CWZ#MA!Y}0yfNP);`f+1pde3y&@iZw}?CiReUY<aOG0qrELgM!#o#r z-Pfr-i2$I#(slG-!bRxYV*+LQ*l~Ua>_h$ccuojoyLLJdI{|Qk0#&^MUMaj5FHPBa zY1$#xIZn6|@`p>4jm)N4=5f6}VpSzN?6X$Dg%!kgY)X!pu_GTT&WoYLHlVHPbT-u? zi*ciL+WpCW`&;Zr6yPg7Dd~>c`OcmYH@1?gBZ9Jv=oS#iy>`bbH;23fE!^YS_7fQ~N|da>nxFAkl*<|iRuUS9n)QAx8t z1xoQlIj-sT-*6|a8UGx89rCo}*TG!s16U;7zH@1FF&<2pfWttX?0qg45shB-S*CC z!UYzb#5Bja`xx%~gRgJj{$7hAW~n)uKEHE+yTy4f?{E7E`1Sl{Pt@a)?#9r$aDMJY zUow;0wT1V*;5to`RmEdktIH50T9s%H;P1;mM<8^K z4o)?Hz$&*i#L>IrNS~7JKBoj3SJr><2p(ZvRTdNmKD9lD_%dLxQ*_qCdtG!sdL3+K zUFhQ4jEY4hO)kZaP=KcO9<9&qE6t3GRqTZ841+ylzVQDh2@Fl*!rzg#xuV9W)z4Vv zPLJ^!0-uocuEf_m{(s?{Yx~Df1AdQ97<-%}{08dI2?Q7ODUDS}spbQQFJGhQ1|+wK zK3@*&ddgfLyI^WXi!gR6{X=sC{p;_4q{O@8%vB8O=n#Axh*o^E(AvMX?hYI};^DUr z?xpVlIJ~kV=0oAhFb&XxVI$>-vY0?bkdt@xpm!ibOCP+EgO4qyTueq&C_8koc2qEf z{!>?#2NgDF2~}abm=-PgkHV*?yNoDkt46D*W6Ok1?jgN-6{eLwszbYHs87YIc{M&B zIKWFC0KH;wG32U;SK5>gS7*4M}HAfm0(TOr#(Skiynb!B|z5(p?Xs=5dFrzf#{Gf;YT`HmzF8NvyxHWX$q zR96goTb%q&ffLW`beIjY2InFHJKpiGjpI4CDp&D`0H2;GlyAgwN!* z8(_-%PwB5+FE1|?NBu{cwYph;JO=uw>o+qKCem>mILS`JeD{F1wN{kt>hqnnNDLf6n|nfZ?ryekyh1zLJ{RHKJOTe&!jg1P zL^h#xmwS4??jLe9`)4NBb0B?9B0MIG7fefLBZG)~&?h!2Q`8?YRy46MasZI|?R1C! zkjlK(jed(k6dQ27>#AyO-;cI58H0ByN69v@<(K4Mfcf<|M<*!bZ^KgFePdo_OZUyoQ^NurgQkG~qYaLu-KI~7u1ZsEwpHm+;SJSPw zLfm{P7PeM;c{rol{Qcd%Fd(FhPdroU>_be><9J!+f3wq)i~lEwQnB54?aprF`9bCY z91qcQ!;$hAa2Tdd(M&00MsM}Q4O)s;FXR8w^}obqnb7vFFP}0=L@+^;X{xr>%Tq>; zIsbOs2_lHT!JcuT=8K;!j@)gB|2KH%8`DVuh$D1c6@8Z-=0<`k`JRp2{@ltKIx&m> z7yUm|wmQ+}K`Z)Xr1=70ASYl8@J$`@{k~5^NsH~kjB^9ei)gvUmj|5b)AnE8Rm}_y zM{Oy0oTPbQ5&!RUS21LNp_fF&t-alkV}w6l7G|)YvVfBf#OV(Br}Z~0ByM>uj_3v?S(WR|^>YkY+d2A3pMMnp z+oIj$d1>D!_x&@34);2rcDY2w0wlU|Ltp4awTk6IouTPzwx&)WS7NIJ@$CN%PR>;W zzI0_%Np9Qt=rVb`|JcVvPv%UW!X3`!i`pY!49qed*ZTk{6sD?-|kvlJRdTA*IW5PmQ<}p zcw$>mU zfVg1|qk?pFxr8+Q>hw6;L|s#U=zBc*$508oljVdFw&hhY{)c4_tT~VWLqvEsup1%L z@d0(n>)GTnubtp~VjbIvd!d&{Kg{^p;<)*2e%553By(S%#hXXBzdk0-KQG+g=dShl z?`vG*^Ovt)o{N*S#o7CFZ<2C*>vvm7?*2xgKa^Sc*X2!s4U$B{pWA{ZCJ=leogO$)LuElt;&QB%39D5GT zx%1{A1e81n|HqLJ`{G(cBavk+AQN?S$#I1HN7%y(%R@AqNh>ZS^F{rA zbR*P51Gfb845L zeLq$O;8Vs^hw% zjVaukx0iN^l{=1lCYuhoTdi&S-|)X1AjQ6~Zui^UB5+zak^pU%b++;XE=X4j{Q?+A)K=*$KlGPq-@E{qUv$_D_6B;BH zK%1DJR{bYJJ3hen95#I6AoTh3r)(!I!I%l-gI8~FZ+gso;C|?wRI@@`QRjf-`eV%c{?99$&*W-ByGZ4l&!;`=fKs2Kest( z&sqO*z|Z5ELJ%i@aoUNtBvFr~6+M5A1U?<`i~$MIA7xo>$Vhg34X;Q()^FDV|F3N+7bx57Gp6Cj0-!Y7v(2+c|6Q(>4?t(w zk7DDf@~Fh827d${bl5F!?*n44kv>i1|0#c+-x2=?Rg#WUbh}*o@5=wTe1_X`z{$M3 zii3@Z`)@v4lEDsnJw|@VeVu&nq%z82=N)A7qfLXRH^iyl0ujJU8G8);i&o-$zVS zo?i{Z(?uUV^CSD;+y@DJx9wa?2A|xZ^C(7z68x}7TPMB6d91V_E&cNFzjk_`{@63@1A`fbt%cB-bT$58)S(5Z~6aNJQ-MQQI0s>`$Gl4#xyR0d_`S{ zE6AMLOcC%UyUsq%W)tnla^FUL>WOg7=PWQ#gYAB=OE1ErC4 zU*)yK?9@W;AOl=(F`tVe>^tXcLU(RDSUdkC=8L}Hv7#@cV@fU0BiH9-`T9fy?Qf;e zZ=ugc7IUG@yk5Wjvc_BYx6$tbf5eHUF{unOwff${!zbD8ebwQ#SgGXyjxeZ(hXxpb zgld5p?}7oBk9MJ$-+OyXhrP4U+PQ6Dv~88YU}h82PM*VBuaQ0|bMWgT@v|=QkVfK1 zN_#l}rqT`s73-fF``L+WUG8ZB`tiR2h~s~hB8lKZ&iy<8ujQVM{|CcS$3yduC`|nT zV||DV9Tw-`*fjbaZY*c#r&}9_JY?Wc`Rlf_q0pZD7$A;6dTunLKbtv%fH~rs+TXo7 zCEz8VG_)jJ|0Ms9dD2rxq5_Wp_ZGhT>}2UZ7I@gv_xF9m!aQMP+E32?R{eh?Y3q7S zp#S#AApwoYg0uy~Ou~`JmgG~D^m;gY(9`XQ+a`ZhVg=83< z*u_DZ-Eh@Ov046_#{-KMdIsf*F&wn1sxaTxW2oKOac#Q<$M)=*7>Jb>|Nbpj=Ni%H zij??V`YJ#*iJLq3l8guj9)^R25?Y&w&XD(oCj;jE#}oZ0&UGCkwx@S%rBvQ2Oi;Hn zIvZJ|Yfw!psj1DBaqjiM;WpQ{>uaP9offCIk4p{&)w$j2;2H;%(>5`kq3J32@s0^? zQrH9SHT@p#>5$-GhRJHO1OnPm`VT$BsQ&>gsOz0$Mx@YV$z2){sjz}iA-in{T(+|t z1D}QUPNTH0F|H>5`Qka9w0Vt;TMWdV`fs!ygOl_#96sfCtA9Kn;QvDgz>ZQc|6AwD z*<~@_{w7-NuFl^cy{&J6@BY1QwHRTAjt|ryvg1xi_>&?5rX&ON2=|yk5BVJU`He>Du44gm8rS3nz!Ak)2#(m( zzgq{?&Vl|Pi-vL|lvY8Y(Bd=yeI^;0U_1X>{b!&;@k;)mo?cgRF4BiKh~UY_dr;WP z#{kbd#&8sRMB^AC8cg1ncJ&-HrO9g1pK*Fbv zBQ^q=gu#LVd+sQ`$OH@R=ecJ0kGsa%|sE_>Z_t-PBM)ll2 z7qt+Gc+q6w{q3)Hy!(&0@2lLW*Dv(t*MB}H(|^_RN1@OkkFbK5_pNU}$!~qgsQD4~3We)Do2QqD_2ZS3G~ra>BJhP(=C4?U*m268|6LYa%+KyBFRM zodjYF67-n-&yPNEP89!drfBl^{n2MLUReH~dDYt|*gSIo&!5+)VCKTG`Mq@S1CtdU zzx8o$g^yzidlH>|o}tVCIoKERAaA@ENHE22y|}Qk^+T!zx)@DUQrtOYKf^2A&i*#Dx8*^b%~Kpq#IzI5`nZAis$eeSLexO=HQ%g1TaB zPCUdu*z*jmC)}Ohem7Trm-&BonDH)iGpLY8!>;^))l5pib{{{>y|Oj#;|c-Vs{h}@ zo4xJx#*CJYU$$q_zi2aDIs*s-+=U2ZmorwVvAS+}=4fM$yF!0g9w5G3mYexMAszqc z?1Me$F+4{?|G@fKOn=6>?2KpUnf3Qw-u08AFO)YCGWd1M`T|&x+ONk1`al0LL>Z6? zK){goYrk8F3YHJzQxfI%vJhoG9(|`2=2-xm1d(&{O{E>>-~Pp!7F(^3PPlEFz=(oC z2%QRP#@p+Gfg|Pv-qDhKH+CZ`iK^&mgXFL@D2QDz|B|x7X?X-1XRA!PleH@b7d=C;M1BnH#w+8w196Z&FUJQ=*NayF zQI}9-GOx~{`gEj1Ol?;jb)-m0*7Y1PAeSMSf~$UJB42Wp*KC1Y<~VdN+dZ@;s;g=r zk@J~8a*VUY1AdG+P?C|FbO*H1_x;P9y>Um1V;cZ=Cw+RCoi0YRS8|%vf%Eszj2UqL ze3p&C1$l_=ebIzU8qVL|ALWH~$Nn>5^fK?@ffI|I16;{C3JHJHdbU8^CZT=C>WFNfa7 zO^Ch8X4n;q!6>eE%(f=>BIbng!c0i#s_%IW`uvXS`mWsLf8YQ9*Ip4RKOPg+H;VJQ z4A1+TT%X?_G=`!lHW^-R3&nSkC(Z+RTn9?x$rJ0~2jCsx0FC;!4+#@NiUAr?Ipxg% zNC!E=wi1h0Jm!{c*LM``bq@G~C3*Yp!6S~H5{W?wj&>6)Y|CYo;qMb$sCO#t`Kse5q zSyuZuopj=~hoM+l3m+$i+>-uDijkiE-FtD{}aM$#QU9a9rE`|7{*cx%A{-c*}w7CA{5dzJoozV&_LU zh6$)OkK?VA$Fb9#h!`~0 z&62pivwCiyCF%&&H#=;)Vw#=itP&+chyRT(A=~A)j&TS79}Bw5&M*wc{IQIH^ZBue$W`> z2J_$d?|-gEeK$SY-)O0J745YR{A2vT@5Oy@LfDC7_h)I*joYG+F9w^FbU`b}GgzVbU zb$jUBmpy5=PSg^`#afC9Wv7{xkC=cFe=Mw=@sEX=kR)MSDLU%Gw+l^8-;$l&aQ9-m z1`dUNAoqjegSU+t*{?MOn*0jfnc=FvDCrkPKk7uzg2H%`$bEmx%5b`k_|9!ZkkN!~ zY2-Xp)IG`i{*B(hP5<%87auw9^dVpW@!$0N%RlBSM`E(0-6hdyGFxTaZ8JlDsr=(c zKQP8i<6e!8^->e&4R)em2p(7cuf>=NH`CxE7Cu%1A_gF)0{FrLi{uCNNMh2(?CZUb ziCBLAvUZd2@6z8TY`Jka+N*u~;y!^O5#x2l zahdgpZ)Qc==B$f|?!blEr*=jgz^Cky;W?GIJO7Vxt<#wV}x*rK057G*u|MUhu@AH6r#8B870+74` zcMby(4O!(R_<*R;;d~?|E>)Ep0Y@iU4VBdw6qYIgx zwM-WG=})cifn%j(|I1G})l-%wF7*YQG-3EsCR=q9<;t)3pOnDpVHm26U^#rO{3;K6WFB0R`${yI3NY;gH2hP&?aFdtU7;yPhgy zZkx8fV8Yoz9N3jK0&ztH+GS2Q9pBraB}Rnp4o;vv{J$j+Mc6aR1&GBTW#AKa#s1eQ ztZWbkHm5(-Hf<*@uqM7_3Xu#0S0TD`Jw!+Re;N$rSD|CCE_n?2z3u^nrccd&xBkuL zq39N8G>A$r0RBH8IC$cV@jsO~s9V^Kw7dNx%{RA$**imgRFA>7b4=hlhK&p|uR-+r ze)=HuBV=Mol>8(!+PJW*_D-Z>nbouBFzIfj5H(hTqYWwcms8yz8h4%xqHAot>IuXH zY;pm8na!fpA2=jc`07x_#PBxLD?|%IFzG8tXSDdWvDcea8l#s!rJb0OpOb64{JrQTIvm_(s`nl2}ris8V1XXcL(>v`bs z>-b;f{}!Wi(TNPc@n^26MiDplR4?0&MTmREx}X{dz7CX{GFGpRAC$McaBY7A>b~-u zmq)I%e9&F7h1k9#Yw*2~=RdG69OM0-mjb-(cCb|&X0?i})r62cicRuD_SGF9@VynZ zWh#>j>9XrU!54+WiJs}FSe)W&fO@ZxJf`n1iyWcNRsL?Be(DRO{N6Qxxvx(t?DBh@ z!A=4m?te4>^YLADX{MSSo0y+5z|3jq_tNL$@OdQv%h%uN_4QT9G9=j*TYNu{fxmms zs_n|&SUK}B8$U3%>uVygmxS1AInE|L(_-~}p%7h6DrefO|F5uviOG$p!CA{f;dlGFln4=#vFSi`H}qD z)}IkLFVz#mCcIoT5{Xx!gEpY#TLfd-eELtc%w|)oKgF^P8@M`c6Q}XSb-hn{n*fe5 z_sKc7O+GFOm_7u2TNhMdaAzX~?6&D?GlpNsr*jK-H$VCCwtd8iaa<;HYSDHvBVJ*r zYY!w`_<)qlst~u9nNM1-+VcF_f9EoX|8Fi<+4_Gm2Em)a{``#q0000B(oqBg2q?XUA_z8$Ae|&29V94KI*N$Y z&;x{`QbKQmP(t}893Ri~{PO(;Z!XUjlI%S*d(A5My4RZXQb$Xb{s`+42!iOieE;KN~CWld!W z`V@I|=K&Q&5vZzmLs`#@Vt(Z4n+t>Rv5oy)e+`U=Hh5vIY;A2aPoEV#g^fPVmRg;B zTkAJ{Nyr6b?vuhiCm9~-yt{e%mWDhxRmu4q&u*LuI@xpO0!z_@BgU+jkJUo^zq1B8 zJ~F&$85~zL7yf8PTGq5= z@!wZ+AD;gACurh-t~`Fo?Z19=`JXFkDP;cZH|hVmGUUIP8OZ)WS6=_`MJq-8_mvRO ze=nL_^}nzDzsLI{?f=`oKZ5u_<@_Uv|FgY6g82WqmcX_Te=dRoqmz?Qd&10l)xNdc za@j`jNGBqM>MUZN9ACT1Y@Oft^EK%vC2!%kPe70c&0oK!RK=@C+iY9OQ^ELy^nBd+ z!5E&QX-r-6K2{Wd-gmf008zzu2!bxg$Ua^Dr1zi6UFCN`KsB&~^>| z%y7rowRIf%Vw%6M(K2sRdF$76otsEF(lE~U!B$3(sC@ggwY37AUKS-JN&)-zA7`I% zWS75%P?((%y5nSbm)DnfLn^blOiLg5W2+lf|MAL}zc-)AF}5%lMVTt1p1oR?$uPln zSA4n^#Q@c_{2MF2XD7rAa~RPQ-pyf!=vujW8N0`-Z#j5E(5)9|7XLg(;M>c10qjS) zqwRF9p4mVP=Y@NXnyi4bJbE-CVRkml|vnl=H9bxw8rJd@`ODp_6(E+Rq!xFtbRPXfXF37SGCDTw^D&oU0^&cRC}!LhYNZmRtj7_k1!UlAz9 zz+%16BvqxWR_afcSUbnc-B@yagrBMeA%6F7=nlNxWIFXRy6?1_)YVK^XB7yl-}^gr z{V9HvVuwsH3Z;RIjlRrS^|_)_AqcWu`nzn)I}>SJZv{maYj4L&bKb5x*=EDDO`H?} z5+?o|crWUoiLQF?trj69hLR?>bC^dZGO4$Pf%PiC>I8=oGWpm`JW|*48NsP zi+B{YwQ}>i>l=;Hmfe2Gw_2*;Q5XMxjvut`S3CyY;|P)?_zSUsu_KIa!Qcu1u0`p5R~CoYwHn3l09RwZ!tK_0J;Nsx4L%?qSLdwA0bV4#;Q)R&r1v^Bk4M8vdYGMK_ zYYOIrpm?3M4wICs1`udt-J3tgc9HXow5S~G`)m{Pn*J_HL-ZNQ3!pbA|0DUpm+7v_ ze5@%w=B(iR^WU6N{~3V#i!}K2`^&NGe{|=KVf1YmxuYGCA}3M+yte$X>3Hg&i|Ys4 zQcTa3r%>UIfNg`}+5QgyHeFv9d~@+c9paBDSMNPPjw>hdQ|u(5%EU2f{t!}xkPwIyee9sR2l z?8C#4IaB6L@le)*qr37~--FdpCQ5(eRXc;EOt{__1jhdh*X#FAf2lC(;2Z>Z>13bh z;0KoSujmJu9edEH@lFwnB8PeeYsz^bi2J+q=L9cT!cj4l{Mz{Zyy@QE89Wqfn!5@M11nTjPw)4ub}W?6k8>RCNXfV14{b=J3)g5^LyrJk^f{4g^$>R7 z-)~FL{DBsXK_g4`JW+g zDPXo{Uwu{~97?T7*k^|V_rRmL3?bpx>(%TEMVFwYMw*#92g73SU2=8`L0Lb*(o>Az zPF!kaQ0kc(#+NwLK&gs{+}`y5I^R^ZymNO7Je8B();o41(>SR@KZHGaKnO~3Ym~z~ zdB5~nP*Qj6w;KbF*$GS~#%Ivc^1J&L1fxNm-<_{$BG|8$_dC;)Z?RmRSQyeSe3d+o z2~l!*?8pQXzGY~~=1p3UJ)y6MIdP61md2a-b~3hjOVzj%I~VW260_PSuHC9^TIpuw zzZ|B(4FwXnYsPk~O{=}k8GaX|b~U%=3-^Hs%hEWLfI&7tBP(dCnTOK{5KISvn-8_O z@zByj?Uq%aJgwwwr|ud5eA+<@O*{M4&rVI){M!AWJh>2LtkpmW-t%?Y*^CB5(Jl-H zd8BUx>4lwBYU(_Wr2H5mR4@@cEro{blAi=hSFQ4Z^iW{^Pj<@Qq;-}pgy5mP2w~26 zE!(g=2LfWr6cj~Cm!50Bn}ww`4xa_aP6R5glIDtJLQ+nv3Uu`d-mumB=i1tdZ_&I0 zttAdLO6x!?eQyLt49%D}g`HvPI%es)?fTGa96dbt`8;{b;%{lSxcI|RHDb;o`oO0Tuo-_&zuFY9Exsfj2=AKV zbkq8GQc*7;PbIp+aE)b-B&IgP6=XDI@eVFI27*AIw-`3ACKDGG?^3jhK8 zxXTpnwhNRvfnW{oc!X2RR({q1H`5d)P))OD08a>_q*i{1JKELLOBqTY5QVCoZ>Q!zaG^j=Z^#W)hb(X!J^8}I-(qZ(U`(7_GFH`Ad3Z)7k zYat6iFfh**^1bN=oEhAPisg9hduY}J_UpF7wd|h311ts;Dv(huzVn2^QriPP8r3mG zhFU(yQ>`pPfC^O(C>yS5e_=S`t<)z7=&b{K+sBga~--j<>+|aFopMOce39 zsvm+FGxhP#rs>uowy4|+i~w??^ezARvL?Rm z(L+!UFah~OEFAtSO-fU=ok3wfYhA^wj?7%KgM-bxcdI@ttYq`S40sq&&aFe$YQq&OS{D$0aSa*jWuJ@g8lLEq78^RdLO0r+^YJ0sYX485~T^br>-( z^;&}|gpr8EGKeK&TwUGe*Kcp{-!DCztLg}5E^?%br&mbET(iHQ6XcgF)`qMr+#Tct zs&`iNSB;75t%cS6g^y5U#OK9Zs42JSiP{C!7}ijfhL7$L-d~inU8h} zXl0x-%z8&;&l&YD*k_Soks~>Pottf@uYb*4o}B;)f@{(QgZwd zMUzbBtJwVVb^%>OoUB8bxudsPm^aId5Vsza2slv>Lw|VSd70R~$81!Zc zcyQ&u2#>AQGl$;XF0C|eSQV7OF3UMLXx#@cJ2X%&2`tJZtsq4)o(ivt z6dw+o=GtCXootM+y`+Sj5W)q_#H`NKjEZPZQLb5R^#V4+az8qzRjjy35DL|xB#@H3 zE2`eo;G^M48xU0gWG+fv{AcE9#Z471?i;H4Ft0sdT?Oox|MB;f^^jXF z;ZHCMO+A@_PXmuvpV0LcIO5dzn!hSC9g%kUh_dAkZ5whlisn^)0)VnL(pt$nzzE( z7JEBe5apcPYP~652!j{J93mhbq$*G2OKiy_ydZnn)Xu5p;T|~Fdn_nx^_O?@l53;o zS!lov++ET0`{dqZ>SH%>MYg{_hfd%u>I6-UU}%(QzcW(;u-M#sQDYFRuXA21mDAH5 z`o1fU+A4uG*VOCQn)?lqCf-diF}t@EQXxpkvewn|iLtf+T$x)5y=?3x(7cud&gGH+ z40986-biJsaJ+eyph(?LUUeM27t@!i9-of2`&{@S-XOeI7H2?TDS4QUdPp|?Wr_P% zF_%}}o7bZ_;6fYa$MDQWn01F5Y}kYQtyF=z83cslfl(<;xF(K`OqV^h-2=wn$-QF; zwhUGixjU`8+H|RAvzvJ`bN-j&VxzjqxgO*(WRI+d&0=`1I7+Db()z*gK3rQEKB<#=>)Iw|IqpDsN%mAKJIg z0Zc7k%6`T!dJB$H+!$tF?er@Qw&JX8o5wd2Fm+Li??R`!1Q*=_WyQ-E_sGWmCNzH? zFJ4zSh^X5knq3D7yYmRyq*MF+mpm0k8nT3v0w#6q;=(N4sqj_aXxbi0(Kehu(?^Qc zp1~T?`MiY($D#(?)o

{fgQIc;z<8L*3u_y%%@Oo4GGr!|2qGM=*yWzVxq&7#0= z!1u+ybL8iB+PhoUxb|OaPt2h^J{>E0>0!P3Gm6rNzN3z$tr$DDH2xXmK2j^g0ez%V zJ6DXyoJ3N_g-&f;eS{BpDB3M;1+M6hloB6Vn}u$W84=@VLl|Rgt4Li^7&e`u*Qabe z)^M__E}Lzh!clylWJ;60)5x_QxHF8||9XGPmA*S*qJe9{si|Pakp|LuUSX72m?Z$j+op$zrkBVg9a& zPIh1c%sYkvufq@+zo{OvW2{JRpL{ni^ojTBGogLf52I?B!JuoD9PkOC% z`kG;gG@RMpO=E<=`yvJnT|SDj#h_vz+1(Aidb_+V{mcSulCC4zJyDi}wXini-08El z9|CSnKsVbR7etd=)fzI2=i1-od&Ig0hUnyXEf(`#Ng-$G5=mt+i@K45tNYv5#w9=+ zy$6&>$@gN(FnsOJRf(Rs-n#vrqlY9K$u>_;d1u$g6<1!$y+9hs+_xFZ!&6vV8o?CE zLI!k?M65x)g98!phHO|^7g&{!_&=*+{m`eDU!E88zrP?j)S=Bc+nC|L|um^S($aBD37c5W2EajH+>zl|paQ7W% zMfS9CXr}f^^bXd-ld@scczo`4noi5+mlqPHi}{6rX`8_k1bH#|tNTONgZ{gkWatXr z3fw1C4+WxcW(gO&zCf&J4)x48C*c(W0P=#}h^JcuAt^x-O0_$PK9%PHEvF2^ps?=IPP*Cx!C6X;jJJ%JCapuI*JA#YQ+o>H{0Cf*)-yMNoLu^NFD( zIH`Ni+e@pI9Cy494C8xGS%-U>v$K8Yhu}jAM>%>vbOedXEP2P|VdMc3D{(6t1jLxh z3lv#MyPjIth0uSHIyA0Ao|<(@Ef2Ht;WD8z9X{(cHaZb;Y#4A;=4X%?kgGO#zlVC> zTwMSwjd@89GZLe~tqQq&=l+UK)_iOf?vYcxz0(+Kfb!jTedELgW%UCnWG=@?#`!%h zH24xbpxp@?2iCSS`*>^*M~_x8WM%ChJ=>Ghabzuvk+*AkXA5s}97>R3MJoCjm=aGU z$oTsc3N0>zOa@ALa&T`~1eZlL-{`JzZg8lUW}%Xy}dO$^@~n zDLTv*L>?j8nM~e77Z2z{ScxZ7-U9eDE1cn7mnw(3|5o3va_5a4B^ptE2{}b=uZYW5 z&s?XZ$a4wr#Dh0jiA?@IT=&q?-oZb6 zm1_FfI||We;EB8eDy&=^4Sh@o6Y=JlV4&5I2H?4X3xT<}zy6>bw?#f@Q!SkRI
+ + + + + + + + +
HeightHeightPoolTimestampTimestampHealthRewardFeesFeesTXsTransactionsSizeTransactionsSize
{{ block.height }} -
+
+
@@ -38,11 +38,17 @@ {{ block.extras.coinbaseRaw | hex2ascii }}
+
+ + {{ block.extras.pool.name }} + {{ block.extras.coinbaseRaw | hex2ascii }} +
+ ‎{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm' }} + Unknown + + + {{ block.extras.feeDelta > 0 ? '+' : '' }}{{ (block.extras.feeDelta * 100) | amountShortener: 2 }}% + {{ block.tx_count | number }} +
@@ -82,34 +88,34 @@
+ + + + + + + + + +
RewardFeesFees TXs + From f7ec5ca82ee95d0f9e5559a9f578ec463f77d083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Thu, 3 Aug 2023 17:47:30 +0200 Subject: [PATCH 015/639] Update liquid-master-page.component.html ngIf for BISQ_ENABLED was missing --- .../liquid-master-page/liquid-master-page.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/liquid-master-page/liquid-master-page.component.html b/frontend/src/app/components/liquid-master-page/liquid-master-page.component.html index 476c78622..50296b895 100644 --- a/frontend/src/app/components/liquid-master-page/liquid-master-page.component.html +++ b/frontend/src/app/components/liquid-master-page/liquid-master-page.component.html @@ -53,7 +53,7 @@ Signet Testnet - Bisq + Bisq Liquid Liquid Testnet @@ -98,4 +98,4 @@ - \ No newline at end of file + From 223f6df3713729eb02dbedd4eefdf16a43c53dc9 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 5 Aug 2023 10:52:11 +0900 Subject: [PATCH 016/639] fix 'large' class trigger --- .../transactions-list/transactions-list.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/transactions-list/transactions-list.component.html b/frontend/src/app/components/transactions-list/transactions-list.component.html index ef34bf822..24d34d6ec 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.html +++ b/frontend/src/app/components/transactions-list/transactions-list.component.html @@ -81,7 +81,7 @@ +
@@ -222,7 +222,7 @@
+
From fc73dcc3444b73b31110c45734a0155524302685 Mon Sep 17 00:00:00 2001 From: Stephan Oeste Date: Mon, 7 Aug 2023 20:08:30 +0200 Subject: [PATCH 017/639] Fixing proxy_buffer_size error nginx.conf --- production/nginx/http-proxy-cache.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/production/nginx/http-proxy-cache.conf b/production/nginx/http-proxy-cache.conf index f870939b3..60c6d4f82 100644 --- a/production/nginx/http-proxy-cache.conf +++ b/production/nginx/http-proxy-cache.conf @@ -3,3 +3,4 @@ proxy_cache_path /var/cache/nginx/api keys_zone=api:20m levels=1:2 inactive=600s proxy_cache_path /var/cache/nginx/services keys_zone=services:20m levels=1:2 inactive=600s max_size=100m; proxy_cache_path /var/cache/nginx/markets keys_zone=markets:20m levels=1:2 inactive=600s max_size=100m; types_hash_max_size 2048; +proxy_buffer_size 8k; From 89be841e6429d3900ace94a7b1cd9cbc44dbfee8 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 8 Aug 2023 17:10:59 +0900 Subject: [PATCH 018/639] [accelerator] hide accelerate button if already accelerating --- .../app/components/transaction/transaction.component.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 9584cecfd..0d8e4d4c3 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -101,7 +101,8 @@ In several hours (or more) - Accelerate + + Accelerate @@ -111,7 +112,8 @@ - Accelerate + + Accelerate From b988a4c526c4e76ff8f9ba493e689de2b8d05f73 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 10 Aug 2023 18:01:05 +0900 Subject: [PATCH 019/639] use new services api to fetch chad/whale profile image --- frontend/src/app/components/about/about.component.html | 2 +- frontend/src/resources/profile/unknown.svg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index e9d5ec3b2..3b7647891 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -207,7 +207,7 @@ - + diff --git a/frontend/src/resources/profile/unknown.svg b/frontend/src/resources/profile/unknown.svg index 50a548c3c..236f054c4 100644 --- a/frontend/src/resources/profile/unknown.svg +++ b/frontend/src/resources/profile/unknown.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 6199216c5407364354e32ee5776c12ddbdfced1b Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 10 Aug 2023 18:08:30 +0900 Subject: [PATCH 020/639] use new services api to fetch chads profile image as well --- frontend/src/app/components/about/about.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index 3b7647891..e9e87d1c1 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -219,7 +219,7 @@ From b3f90e298127ad0199ca3c0312fb3022ecfd4a28 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Sun, 13 Aug 2023 08:23:57 +0900 Subject: [PATCH 021/639] Add mempool enterprise note to top-level readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dd2e62478..9bc988970 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,9 @@ It is an open-source project developed and operated for the benefit of the Bitco Mempool can be self-hosted on a wide variety of your own hardware, ranging from a simple one-click installation on a Raspberry Pi full-node distro all the way to a robust production instance on a powerful FreeBSD server. -**Most people should use a one-click install method.** Other install methods are meant for developers and others with experience managing servers. +Most people should use a one-click install method. + +Other install methods are meant for developers and others with experience managing servers. If you want support for your own production instance of Mempool, or if you'd like to have your own instance of Mempool run by the mempool.space team on their own global ISP infrastructure—check out Mempool Enterprise®. ## One-Click Installation From 102579baa972b80e08b637d034dfe54804cb7b9b Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Sun, 13 Aug 2023 13:00:47 +0900 Subject: [PATCH 022/639] Add enterprise note to production readme --- production/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/production/README.md b/production/README.md index 87b8bb0a1..8e325bb1b 100644 --- a/production/README.md +++ b/production/README.md @@ -2,7 +2,9 @@ These instructions are for setting up a serious production Mempool website for Bitcoin (mainnet, testnet, signet), Liquid (mainnet, testnet), and Bisq. -Again, this setup is no joke—home users should use [one of the other installation methods](../#installation-methods). Support is only provided to [enterprise sponsors](https://mempool.space/enterprise). +Again, this setup is no joke—home users should use [one of the other installation methods](../#installation-methods). Support is only provided to project sponsors through [Mempool Enterprise®](https://mempool.space/enterprise). + +You can also have the mempool.space team run a highly-performant and highly-available instance of Mempool for you on their own global ISP infrastructure. See Mempool Enterprise® for more details. ### Server Hardware From 0a918b8fa84270754ee3afa47c5dd9acca4c54e7 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Sun, 13 Aug 2023 13:04:58 +0900 Subject: [PATCH 023/639] Add enterprise note to backend readme --- backend/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/README.md b/backend/README.md index 6a0cb821c..0582aca8c 100644 --- a/backend/README.md +++ b/backend/README.md @@ -2,7 +2,7 @@ These instructions are mostly intended for developers. -If you choose to use these instructions for a production setup, be aware that you will still probably need to do additional configuration for your specific OS, environment, use-case, etc. We do our best here to provide a good starting point, but only proceed if you know what you're doing. Mempool only provides support for custom setups to [enterprise sponsors](https://mempool.space/enterprise). +If you choose to use these instructions for a production setup, be aware that you will still probably need to do additional configuration for your specific OS, environment, use-case, etc. We do our best here to provide a good starting point, but only proceed if you know what you're doing. Mempool only provides support for custom setups to project sponsors through [Mempool Enterprise®](https://mempool.space/enterprise). See other ways to set up Mempool on [the main README](/../../#installation-methods). From 1dd66e669544a1e6f8d19fd135f96909979c3f78 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Wed, 16 Aug 2023 12:43:36 +0900 Subject: [PATCH 024/639] Add bimi svg --- frontend/src/resources/bimi.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 frontend/src/resources/bimi.svg diff --git a/frontend/src/resources/bimi.svg b/frontend/src/resources/bimi.svg new file mode 100644 index 000000000..78a877552 --- /dev/null +++ b/frontend/src/resources/bimi.svg @@ -0,0 +1 @@ +Mempool Space K.K. \ No newline at end of file From 8ea7bb907c519002ae17ccfaae52075ed6a2525f Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 22 Aug 2023 02:40:00 +0900 Subject: [PATCH 025/639] Fix js error on mouseover on difficulty skeleton --- .../src/app/components/difficulty/difficulty.component.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/difficulty/difficulty.component.ts b/frontend/src/app/components/difficulty/difficulty.component.ts index 7f305416f..81084f524 100644 --- a/frontend/src/app/components/difficulty/difficulty.component.ts +++ b/frontend/src/app/components/difficulty/difficulty.component.ts @@ -194,7 +194,7 @@ export class DifficultyComponent implements OnInit { @HostListener('pointerdown', ['$event']) onPointerDown(event): void { - if (this.epochSvgElement.nativeElement?.contains(event.target)) { + if (this.epochSvgElement?.nativeElement?.contains(event.target)) { this.onPointerMove(event); event.preventDefault(); } @@ -202,7 +202,7 @@ export class DifficultyComponent implements OnInit { @HostListener('pointermove', ['$event']) onPointerMove(event): void { - if (this.epochSvgElement.nativeElement?.contains(event.target)) { + if (this.epochSvgElement?.nativeElement?.contains(event.target)) { this.tooltipPosition = { x: event.clientX, y: event.clientY }; this.cd.markForCheck(); } From b7474b29e4cbe588e61f4f3e8f85568e3df40145 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 23 Aug 2023 00:33:43 +0900 Subject: [PATCH 026/639] Use symlink to avoid duplicate fallback images --- unfurler/src/index.ts | 2 +- unfurler/src/resources | 1 + unfurler/src/resources/img/bisq.png | Bin 96581 -> 0 bytes unfurler/src/resources/img/dashboard.png | Bin 295855 -> 0 bytes unfurler/src/resources/img/lightning.png | Bin 1853805 -> 0 bytes unfurler/src/resources/img/liquid.png | Bin 98482 -> 0 bytes unfurler/src/resources/img/mempool.png | Bin 295855 -> 0 bytes unfurler/src/resources/img/mining.png | Bin 621216 -> 0 bytes unfurler/src/routes.ts | 9 --------- 9 files changed, 2 insertions(+), 10 deletions(-) create mode 120000 unfurler/src/resources delete mode 100644 unfurler/src/resources/img/bisq.png delete mode 100644 unfurler/src/resources/img/dashboard.png delete mode 100644 unfurler/src/resources/img/lightning.png delete mode 100644 unfurler/src/resources/img/liquid.png delete mode 100644 unfurler/src/resources/img/mempool.png delete mode 100644 unfurler/src/resources/img/mining.png diff --git a/unfurler/src/index.ts b/unfurler/src/index.ts index 3c7d3cc92..e3e8e07eb 100644 --- a/unfurler/src/index.ts +++ b/unfurler/src/index.ts @@ -251,7 +251,7 @@ class Server { if (!img) { // send local fallback image file - res.sendFile(nodejsPath.join(__dirname, matchedRoute.fallbackFile)); + res.sendFile(nodejsPath.join(__dirname, matchedRoute.fallbackImg)); } else { res.contentType('image/png'); res.send(img); diff --git a/unfurler/src/resources b/unfurler/src/resources new file mode 120000 index 000000000..aadffa9d9 --- /dev/null +++ b/unfurler/src/resources @@ -0,0 +1 @@ +../../frontend/src/resources \ No newline at end of file diff --git a/unfurler/src/resources/img/bisq.png b/unfurler/src/resources/img/bisq.png deleted file mode 100644 index 2b5e1250b9d5a69cd25c9de9efdeb53a1f125f46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96581 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 Az5oCK diff --git a/unfurler/src/resources/img/dashboard.png b/unfurler/src/resources/img/dashboard.png deleted file mode 100644 index 60c8bcc6ac4a1ef484e3df91b4fada5e068426c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295855 zcmeFac|6p6`#)|AC8?v6B2{btq#D2^A43`%+}dz78{HCds}V z48|B+48x2V24ncX-P>{Q``qVq|NDFV&L5bEhnacJ>wUeh>v=t&&+F~gU63a4KEZt~ zEG)d*S~u^puyA#=u&|T3If37VncIE=e(d$oGWKR+IeB&Gi}lur%a$xGCs?#^Ucdh| zWuCwlclg0@<4*$)gNe7^F&r(|)%WbTRDT}C{XC(Z`_s`n@EQ9{mIsa+9ljJnL`=VU z9kI7hZl?Cm@lOb<-zXjm`QrQqtIPL5W|`_unN3Th?4vRtd|d8By?z#(@+o$tCtcP{Jy@&>FDi-HF;!ZY|C z`u=<+|5$1e|5IM>ZjJ7}vQGc^>VfBc-CN7aK{`p|_#Z#<7>7AK8||PE+Z)0EV{87t zAP=@;R#ty*rQrW@gRTbSf>=~IQq?m#|7_p?@o8B&Q@%Q@2Z=lfWf-vkU)Sny&jF47 zwf%n*cYkgFpPsV6qW@n9?~l^mU&-fBjuwzE|4Kf8Qc79(|CN0HNUXEzYEy^ReAra zyt}x&znb1%XX8H~{?+vUf4=Fxi{QOq+;e)-HKQl|=-AbrYkc?0R`N;0w%Zs+`Z-m4 zH@6PTEBFsWTzyt{j2`aF2={#4l6zeVdgmYH_uGzb-xKOh{4Fgp zH<{`8iU)aBN>S?aZ*A0ZHlKqYr*_3CcR4Fvv}`3BFNhu}!rv2=rJU$k9kO^_siHOP zLptxOEDYlDtnwmR=$dnm7dNM7{r}L&P;6BE8FLkJS`4 zImsslee^*Ja(aL^(+~nI@%iPfmGAj0viVFh_V^xYwd?Kdi&Gnr69YxmUvAeYybvMcU|GZ+3f?$zj zo@o8#QSq1kEDzI_eNW-Hzx6PhW*5h^WZs9Co z4YyObsjzLClL*ymY15m4a!fYt{kP$aBKjEba-J)tTW`m z3&&eLy(od}q+7ozVb$L}?%?jx@VM5yvu}3=_aDsQB695(pi-__umiCbw;u9a%vxrU zVDrAAGpd;%_7>?-U;3cnOjTFD*P$X5`+pu7HlO_-BD>K1L@M1BJ;9sgb4lQS^_zdncLy`9gO+#I`yj(lPX8fD z-Mzx=pf&tup{}%N=EaQd`RZuuGHY+uq}9E0U+-_r2ahNJ{gm8i2cjL#w_EDFYKsQ+ zxf5rXxpoIaHf(UfUf6M@L|csS!~6r+&z)#Cer(7twX~%$NTZB+s-3frz8kjsmkI(1UbU z>09H^tl}3^8&S9N*^fRGc|IApBQFNWIs_de)zMl1`Pw_MJf|HH6ool#w@&PeqqFUz zaFYs(WGdno71l{wR{!P=b;HkcJL1-x3uMh6GNhRMgg@b_6|>z6(=V2JW(5A0fPq}h zGP7F&$+_A8A8KXB)X|cUxnWttbTM^4r>PoF0+58_#5U4ThlHgWO!?9-+uy-l&(VUj zb2WvMgb_!?2dNU3a~0gspd!3c=0igu6Xrczm0u2wau3G@-^bteut;JEo{fTPqbL)_)=EuxzkqXA z4_efhJOjbiPR%^`5P27fPoEFSo~fM};kuo{McpmU1{qERdg_7aS6~NsT@#y)a91Wf z#7grVwv0c`Z}zel=&J2=-D;aK)2Bauu;Pb5&eEk3K4B@Ioi}HDoE-{aJjz$lZXwXm z{%(_Z(=1%BW)|n)cRmX-Dv|)csMxtgqQt(}E?@6ogqN)cKW|^*=mUpHQ@^6zL8Lp1xM_qP-%b9?EaHk$H zzdY?O6SgpCQ-B%$-(>ns6qmMwQuqI$PulBRLa5Dys#d&8mmpVK$8Fk^FmR z-jpTf^o3tl#9x<-a(DX`+Ws@k{VledSMpd{l`dUX+`aE>;R{KX$;k$d9HctagBjRD za_-LvsZ>epCW|xH(g_zP%esAx1+&vVmiB}qE`4LB0yVMWdDA5mw}IMBpSfNgB_E}` zNHqJe~*|i&JZbCk`FqO_ek4TY-=IsVQd6jQ7I6dH~Nl ztvEf%-@d`MU+^TCaIeL11=+3Y0j`kMeQK>AIw%*MO7P{y(<;Lv1REU>;;OYxW@8zTrk1uQO*Q^}VixguC`&Qd*n z0qvkxF$}zS3GR>=Z7inoD~Z1|E+!N7E;BqbRu#&njrUdgg{FaxV_L$fl{w%ZdLPwF zbN`2vO_3iaZ>OD;NcW05uDp5Luqh1{9cR~}+-&}SP8(F?RC;ijqG7;GqSGA-a^si# zYINKkyK}*&FWoMZoq3&Bj`mvC*yeZILAZpWDf`tZHj3j} zFu&+~e8|?;+Tse>u&rNIFu@s?`)*bEz}rzS(K8|8BJS7n!#~#F*1>GmXBic!%?a{s z%=@CwuhxfQDc-N$H0P^*hVQ^d!tW3{X3C|^_^!-cTTnoq{c3I#*Ri~h)&Hk*_O5~* z6g+YmFf?%OmDu+iL=4`)U1F9G(qW?oee)K&m+sYg=1SnV`}_gvu<^J-Z>uD~V>7AS zezS<}o=^mze_+t4d><Ng@b!-;_c&K59c;U*n}X(1LTS=}}t zmW-6!>?f4i<~sFfMjlxExOw5)1fCZ+i1|%2DzAx z4CMQF0Y4jzmRj?R+dAMQj%+GsX<;_Q3bUMRxAxZgK;$g(sDPrq`;flMkFr6@=g+5Y z#1|MZ2XAf=i2-mGY4?bL^?qEL*Nfp`ylOQQ zj_V6>;^h7Se!0cvE=+4saD7Man$pVS1nPUD%rAnzZql* zZ4cL%+KMMPuDkPQj9Y&RY{syBOdO)Ven0mbTYySYwtGH8kN&(goxJ^lie_A|a+h`h zU>763zyxltxk1cx20#_%J}34n@Z_zH`V<(bC@82<&&9idHt(?Tauh;YZqqI zsncw<>7hzGb1_qKX10d9`7=I|=j?o08QA=!y0mKjZv1!YZL%Ez-0HsVW&e#uJW;Ra zLS_~o3l=dA8qLGAC_1-iJqj|9TO0vO?+=m|jiM56bL|a8o2MImzbMSJMMUsEIj(m@ z7&>qW3m@^%aT%#@p)U(^;M& zcg1>|O@{5EX4`NKGIS^q;toj_*&_H6<87kH#X$1o8DTF3Q^*b@GZs&cw>Brc*wXu5 zanNpN-&fflbS-04P>~r~D*hG6bEQ^*qdEkXddjSRmBOIMn7AW#7%_oCmSt164%p+@^cV` zXpG?2nQcZJCJeZo5vI_NH(qNo8oFzyc}^h(rjKFD*Zn*-)&uqNjLF*e$4tKLY5;{|3GW^E-6|_L0Juf7{^r(89 z+mq31Klt=BHh`Zkv-VLDqY_G2ge!TYWUuyTfY|Xo;<~b89m__?k9EwM!~Iac1cY>; zRT1Z`(u1ln(&*d5-0P`f_6UMtQIyh_&-!9!G|vk!M^_}-n-U&%&%9*O-`gNKYD7=| zwOW6bQ&3T6HILxSJ|j`3H((G*QPJsZsrXgtKJ;l)IFP97bt~Pavlhcr1%2jZHrcA9(?-z8#qs=If0*Y%++^WCtE?jOkERyVhGPLtr$>ztV2~&i|_RSeK zci2-i=YudNFFa}JqR&8t%bPELklry1>9m>&cf%j~#Te~jzLrjVU(wo+8?88_mP5?2 z#%y2dc?Tah+SvA+tX*Z}kK3NaEvsafR2Gyh2MO|^NJ4?&6}~rc^V=n;ZmN7!weM3=T0mL$Jf5uIOLQ`dKg%I``QC^D=iL$kn6&UAnNJ>IVdlF#0)jFvRC zPiE2-NLguT8yKu}kuu1u>;w$Tetdz{H&) zSQ5Pa^}5(pq)byowl-W&*U#eKN(jh1u(L)W$)L|yt->)^)rmH{RL`f@(BI>ZY8hDA zimY@c;_!#}3tsDu+z+Sc>BGZ(IW~BDBKFmm^N{xJ-RO=u>%+0Zt1xA;7P;sq^z=(W|seR;w_%Na*DU`ESbPhzGhXDmTL z73LT)B&2D`yGUN_RfLikZbSg_t zy5ENHvm%(rInEa7&C)@C9&%k*EiOdW=doXE(x^(l#`t!jvzwHQ!@#G^8XVLVc6xAH zmtMax?7G;POabCPIcX7niD4!Ex(DZ9ysB-aD_72Ocr_)~NwgN450@nMGnx}-b>XQj zDr?)Lf8%8SK@g0^&HktFHSRb&2Z@99Sw)@BnMxr-G)`0F+GCDvn}537iq64$kSDW~ zsc%zK?$|l4)YjHkAMB+<E`DrUCxd|T~0 z?sG-_Q$oy2cDWl_C#L~dQvNBiQw4QUq- zi1QQXCn^3yJasUF8qwGEnK7|nMPUE6jjJ*`FH*-(5Edl<_oxE}nGdu3xF@`Km?~Dd z1RUe2c3s(6LtG}^bbCBpls{~SQgS&p+~Vzwx&4;xMDmZIwD9Dwm);#DfIJH`;~64> z6)q!3_v-kG@7+RSRdW2FQY+_q(-+8+hBG#@ua)|_eK0({n`}M08+Aw*ceQ}!1wSvc zt6u{;zB!He3HD2RvnvvXD@4gX0RUP`FvN5=C z2ziG&`0VVv#fQAJ=mjhyzrc)PRRL1w=OiYk@QvVS39D<&HL)X~a7FlQlZRF|j8)QB zCVnwN-b^cyWH5Y0^6YMv;4z+9@mV#Gr!J@c5l!N({)^k7zmZh`;57yp+qgBw~B2QQV1w+RF5tY6<^*YCTJlP`X2V9D7kD@}@ zO?dN-iUJHN7G3#}T# z1@{U+%DN9}t1@ZJ)#?K#%I+Rp6r{7w&s2J14>eQ&szw;En!)YJYqvUuATjN!eudYV zH1AT!`FDHjDBbRZr4mUoi$odt*7tN}$=agahMU@T)Cx2s`^JD6~&%vR?cm=T)FFQNB=KyTJ_uJAyJb@Q8Dm?)xC zF~#o$Ec_q1A)b|*2DA{T=DnrfmUoIs&%8lCvg@dMEb@$|z1{^=eP!bNiAQ7vgPruG zwywh^v}TA3Oc#J}{(L=iU}@Od{riH+m*u+Y+G~b%JC7iU@-hUi(`d@<3m|XQZ3}7d0xVx8 zmv>sH>xpXIyI9vNKyLo~DWTR&k8Dt3uy@YIDD4BYGIs^#M~wiY)(jvG?9%-3VoQ&c z0kFUSxaIqW}x+SamzSue${xYd`6fv(VrAcd)3rMa_2u6UJL*=v5$R|40@n{2;+9lwXM zI$vHWNSjrn13ZMI()-#0Q2h|d%)h1Gm`C?(l7r|7Gv_)1?TSo>Sd#k)w^F~U7^^vS zKOKMZs<(!GU6L_QlWA&AA~hU-wNbZ~a`rCRJw0q%BF*PRg)0V=X9fbje~EIyg2}3@ zN+hjBRqM0@3(>@fYCUJ4B3)2^(0ADj9ifNwZY$@=u&F%Y#jH)7=TD#yVv1*F$k%xX zkL1}G$-0hSzx_tlOa!u-SK(G@X+ie$NzBtl=BVJ3oVZ0U3nxa66uYfHVglXPk72S~ zYzW_iXz5$STdTQu#oW|d-*?H)gmLnkBp({m$!v-wMBhA#D8#K#O6$~!#=z2(6C<=} zwbmFij%se$rM6wBxV5mZ>r5F9G=r~3kDmM37Rc4|gI}Uez#{PdQmtLrUPOTKt#k^^ zeuwmhNjUDBpSWs^_ydlyiG@{()!%quH}i&?@B;oxdZ)MzHt0UxP%~gdjyJOPeX$kA z>YCmBty0NO{ymAWZj*p}owFNY3n$1x9#+MadIofd}xDnsVVFsk4tr%zTX#poRSEGH?D@$n(;8@KQe zR8yLqZ5N5;WFq5N&d8DxCZS1Zrwu_u)>5ZS(VNak6y0Q}z)5~@&-I@gcP%?;hRgB2 zEdqON^DK=~%1Gs-Fq-Z;VvEA_!1D<-LUc1am+>;$->bV$v!xYBjO-WhDPUh!UGcyE z%G}{CX(FsS^57d?vxS#Xs!G>_GhV>|P)O&9B{_fQf{8ZV)i^_>6M+ccdF;B(H^b|&Ykcw_AjJz!J6!n#M4OXlVM4eWsrr zU@_OMvhylHP-hFq2TiuCtULp`Ny5R`d`BAW5VJN`nPC=!$IUNUeR2<)Ey^1eG7Iqq zHrVHUyJFLTDb7*D2P2ueph}_*#z3`d(LU@xes|TT5_;_XR{^wAq{EJF&V_6TE}Fmz zO`?ID+Dc%G?F~zUU2)-k@&MI=G*V8Fi4{OeBb2#)sX#xc++MNl-*e;5{ieG~hShkm z+GTvxMq&2$OrM070~M#vNXp0{{yg&LOi z&X+YtVeTO4$4@OFY3H%52<6;oR8*ySNpH#dR7MCRTrX-p5NjvAkHd6y1p%MkI@8w9 z{Y1z?;9PD#c7!9h>42K#5v^x9SDYV?KuDi(0#kcDI~9pbM6*cEf~$6Wt&I z%u~V1ASkmdCw+xiksvk;Io_=>tF-|%BMNKSLz{vFH6g?a5*LQ4Xx|=Mx>$Qju7dI9 zdLar9hqQVW-$Get2He_yEB}s#pzOq`^%O{E;PDYGuP3fM=aJn<%iaa7tSF!l5Hd@O z*YFjCD&Lt=dMXzEdAJ)7QI!aFXl*7*z#JN~x0FXH4T)P=b!4BkDOYr0DJ&weRuqO0 z_%^n$d*Z1AX)s#4emkmj<};PYEI zE^jm3@Fx~$(qSe&n zNd1Cze7I4ktoQU2SdB3fVP{hcLGl4@2;nTo6B~Hw`pB6yCrU zkyYP0$~TH;-4@Uk?(1fJgG3usZ*ivwu0ER=nHsg7WhhzKy_^KSN?bxzwLOD%aEUwM zSgOyC*Fe;06Gu_aH#J)rHNNiQTj*yIAWv~0WgiS}bcTw-$WKccyi_5PCO;Vt3oHao zuiUM1(lGwnhuw>Fr_WC4Y#mXSK8>gjJw&=i<^Lb{S#6a+gFhpla)?AJnL*J94*O3P z!yPTN>Ux?d_0J!?QiF31S>cLTb-8^(KrX1tDsvRcm^L{gaXh#n8epfA4}GEpNo}p^ z*BRsvRZ95qzdbF+f zEW-+yw}M z2N}Rj<)r_5Za^OU!M^P|!Nl~3@fOCRP#@7*RDJUSnXz& z%g|%XWWr2kym?>;eRINGgw@~IwCDGJh?6@Kp$O>2F2(%V*2feUmFn5KW5H@++Ijk$~>U>m|}5oVUe=8vS{P z%#JwWl>Nv;NvwNeN#xnotAt6HEroEEY@Z>G=wlauxoG_N0nr_F+VJ= z&sf}MjKFS(Di{?;y?N605H`r{{xQpJmJ1q1Lm{j}6rSTEfm3^1hEPuPY+Mi*{q)Py zMbZ;gE>Yu7bsTBgWi?dpBV(~SQ-5QlY(`0i4yN`WkPKu<{uX<^5` z89FdK1WxjGw=A%VN5cRhGesxj8g5+192(ovUKAA}i6_i4?>e%@9ORC|7^(D$=ZaL- z*|?DyMutMiRdsmqqyjNO0!*g9lk4)WD33a_I%*KrfZH305$;Gl&ia2z5VC7 zyZ3hMK!V)Z%c+=c1B8#tS?A2?<>-&oWlsHbS>(XU4)~Mwu1;0udwF-*X9sI?j-@UL z93F03oCHZ7yoO&GkR*j4P(CS@yF4o4Pe80(0Z2)^(~#njjl{1i$%Xb*Fp>+*qZxlCsF&#%>a2m;<6CZbG< z9c*53DKKH^YchvR2Jx`cLnLGFZr8zlf!Bln0=Si>IgIgmH(qi|_x}(>rS{6^G z+)5jF%{I$@^od!~-&ZBQa-ajX9DfnK3xth}HtqdKJl131pC`8aFWQGR&G2(X z`iTD*mv2M8J9OR9S1o;UYbB4J)_ldT z^YPn$hTjZbV=j?pr!CC$lOJ%kKiE7}_$B4((vUVg%_UMD-iCm+T*)(y%bt+g6@p=_?ca3R_g@Qm-gY>7K;OaimhqG_;F6gU-;lDQ$8+#hj0)~tPT>fLr^%_1^=^L0)dXw97i zP_k*fyZeOwQ+9U&_2{cd?=GWG^VJuQCxsEK=MN_JzQ%Aqrh*8Z&BoT^Eo*xXZAbRJ z`?1NBWAk~)_Kh&?y$@CK=CI$aQ5ZW-i<=IRV97mShW4kNs?;-6S$GRB2hOhzvDt9-Wz`1z|h%o!t?EtFxQ>go0EAiA1iHMqzRWqd5@ z;2+-ee zzX3hHMzU^-5-ziVYqT##OR%>9f%$e*Sxs`=cYs z4je(T?zTHYMSxsM7~<pYD!Wg)?pO1dlDD^htVXEC;4TKFVg7=(s zwZ{`#57#4))cV?;g3Q73oFr^cSKA!-)=m5;fjgw!Eq4r4)iFqQevsdmuCkAl6s`6X zhNOMi_i9xG*HiI~YkjeP`>@9>`l`*hTkqNrQ^0domu~mHPCv@Luao(yg@_oRdf z2L~>EO11`|bOwe&Ng8D00VJO7A&pkuZA%1P4zhr2?Z9Esk=>XB=pp%hvsA>oL%6%i zoQE^Qy*Ut|^TpUUM!&03w7Pzu%caeB8ELIh4#SKbWi|rm`%1Q>!D+dockTtLdQWef z9nBCuOAKU~ncgL@=0;op!a>rn&OT1hZz=l`O^IbObDalx=YXZznHF~1-b7B4a+Zdy zda*$y!_r>S!@@=*$UI=>_il`dE5I_PK$re)nLw+nV_40f!O$N^lQv8~fnW1A)sCBW zM{hGQ_CUUk-K&kt?8YAG&b)5>R;*j+NswFoX8{w^ErAA=P~<=!9bi(z-Uvb2eXuue zz5;mf4&dR6VL`pVMq8ZRGOX5&Uk3Q)hTFFVh=Dhy?#`AGukT1>M+W))(o?~mPg^7f zYPb-f@gf1v)5+h===r$onn#>12CeT%YgGdYfapKWG_G0dctMY|=kWiz#nAkHYIod; ztFtK=ewW(W6%DIp*Z{rIB}yHa;T644ZmO)Uc!}Uk_vsN0Sd6J%?qn=cAkOVR9mujm zb7oP%R)dij;gdls`Fb=ANZ zn!xX**K=xzzOH;CHeoH6?cRw=Xp~-L(y-Ez@e_zkT67I~-X>tx>ax;ot6ISGaF8f? z{>ZD8!`3F68O~=%8DoK^#4}1ono&v@y>x|n++ z@$)8T?{8B)e>l-}XGa&fogu@9n&%{~ZZ+nldYbq4AOMHV8=v_REQgJtlGCN?{A4%h zH^W4yBu%Mo9D@XnA zMl4={)tOc4?p5R6t~1LZKn32puAC&wp|Wt{%crX%F~3Bv3IoM%9<2#p7UtCtagaZ) zE2}39r13o@%2-VkD|GS(dBOp)d4}&oG@g&qZNf{MT)`QwQ^GlGfULHva%3cPsOze8 zN*u8~`?8rSD-Cd6HQcVpFRYq#F9L=mE#xXA8Cum8uZm%IGWJNZd4vz>tE@w0g#ggy7jpau3)5wLGr@q{-T`Jr6TwoLAgL!S6p%K4yUb_Cf z2tMlZ`u>hJ;naasyQ~S3+ghVHlzbM9#?ZKmiQ?b^q#>NuYal^;$1Ziuug*qs`vHYbaDYH@5AIg}<%H%c84bJeK85h*&I00RaQ?A6LT$*@j~{2& z0&R#QP?ykSC(TWRT`Nb#0fCHXeZE{emUFzgwyf+cZRY(K*|$h)4UwKu!7K@6at>_= zp&NWn=dOVLHxtVR4qqBC%0t7x$7op7Khcwb1W5_lt$6@2t!KyZ9L&%5TePc(Ssi9o zqVEuL$w2aNkzMm&YJoLY5rvnAa65ji$5nGr*!&=r=4p(A?=yr7A~jJe{Sc`^C<7Uv zBVZ!yIIKFmw9ok~2oeZLIXxv;RX2T;k9&{avg4@oO54B>awIJBUv6Y3M7kXt#{d z{1{l@=-OVv31)Zg8ZNWvLVc4mSmg1-G`&2C=fV*>iT zQw2~k%Droo7K^=9`0pV@gc&7P8DSxUA8ci4=UZ42sf}h-g+jwi5RE(ddDRQm8~)2f zF42RP!KrTPQBV6B_i(yinB~8tI^kf7h#a)10VZ>@c;K2)U7?f){CbXbv0?G&9l6p) zbW@5nSgWZ2cmdx}7nzQUxZ%|NUE6Ttn;kXR5jx^UPVI@o4)J6x>^U(!8puFpF+N6% zZScw&qL9?dA~nCc5uKd?V;cwC$Oko(rO}(M?I)}l@+QzjH7prnre3q}J;~7+0qA$! zgfjIV5K#$d#J4nd@VSy zvQZCx5+PiQ^ls`Lyx%c&0JO4_2EoM`mkYGAs_?}x{mK({0aSS$z#kYc1g{%xV^&}Y z?n)mdEqr=ZLVOchTO`GE#9S25X_l;9UCF3$SJ4CH|jWhP;~}(xlDzMf;XC8_#|+kIzAJBuPC7C+Sd2& zAGmMj`%NN{6tqR_gWQ<+1~mC=xIkAxdi@FIPuMzPB zT6D2u^y+QX)L+b4-a0`!NSl6=+wQw)-aop1QE;p^U}3Ljq|1atR*wVUdf0q;$+8D= zhmb&RxpUQNfYY%U^YcT68@5CDXF+gsR0cTRFgDeFM9uk8Ugk?ckgRG?guF3c1t}A@ zB8n4i@r-jh`#AP?N2sa$A9PlZCdAiOZZKx>+!=I+4I^npDr z4#XAcXu6U^Pmit)8uR+VHfX}9VNB`Kvh-P?4T@_7neab$=1!drByIRu&;qBzMK9kB zWGwg*7l%|<)+N#d?4C1PwX-d7s*v$eqkEh~_$t?UfIE#z@#>$D($xm*Hi|}HY%hJ3 zu56V1}8Ew+k(9o;(*oLl>HQ{Eo%hMiehn1lRXzhWH=e2@XmoeD0rnp7=B zwl0N>M3}^z(bXsxc5Es_EZO^J62C!lKs`OU^4`cIzG{K4AckJp!*__Q;}@lp;C%Dy zk79$;DVGd<=Lg4y(jdGClvi&`V(jN6x4>p|GZe^&1nR;_Vlyqhw5N|tR7u^-H$Q1L z@KKkNzgcu?k3`Bbyo>Bt0Bg-3aQ85&ZC?bH+1=x`#3d0NIJ8ydSPZ`@K`!7uBKXYYR03*4HdBA1061qux<;v{P+uag=R5vJVTA=?VEyAZ{HnICxa zcSNDWGY;LG{*AzCAy`s1nBzT^S^C9c1PJ z)cE;r)%wVZf$qn`q$Syxt4enzlw51j50&-Rm_T6#9UfNQT%2swS89q0%)a-2qc_{k zZ+*x9lH@B5Tb}N?;=Tp$EqfqP&P0g%&*!>R14#~Gl!GO;b>*`TE@UbVBB}*ZGk<1l z`&g{r6_bVF{tAtz@3WsU*^}MY&NgUu7kmBm}jWTji6Ckjk!kI!ccTDa>#f+1^S&qtB=}PjH@>Rg5 zUqdUyG-Zp!(>8CXA#+x?f%f;az>gQdW2OCA4|)su5U-;*m&k0)M3?n< zMF~z)aazBo;h6ySGPVtg{#}G-1N8O3-7)a47cjH7L#_%e96fiD)qiU}qvqKAFNRJ) zBHP~3$ua5T6JF4$|LI4BT0AU#d@+CY@kMvca$3N~>`a*(VWYZh*2_@OyAW$7DhCWS zOx_n@0T?oiAPU7B6VswpiD7)&2l#T@ip%UexRwBiqYw|EdZhuarG1$zzKRV$YnF`* zj(SS*>nkC}&2(VV#ct4Av)k~KKdb&u2Juf!Xe%C z5##0N92x1gRi1pbGJ%X_TigId^KZDJ z@x%D2GzN0nd2u>zRk24yE%PJf6GJiit29CiB~cajM(K^O680vr|5R=tKhb9)59!X# zA_ZN#s_$*JNjkK+=AubeYerpDi^#7|Hiy%Ydd`N}@)=WM6Qi=2fmQnGrQxn}BI+A+ zRf7Y+to3X9TYL zhbRlFB9eJ^ndnL3A78|x!Vd_!-bRQgBM2x02dP1gji9nL?0&ey4?(?o;FnPJYNc5f z=#8qwVsk|fkG|bwx`E0NU?JpA?F`H!8$0`sG#grrkqG$rovZkvlQf2sSP1C7J7dtj z?`fUEEbQ}0Acl&NKG7|?utU9dDkqw=d_7F5+op@`rq*))y9EFDY%~!;12%!IqWd)(bXS)-amG9heCJ><86^WN&r%L ziV~h0h1Nq-mPVGPZ5I+~$(*CBHLE|TB+DbCb%DgVu0p_ zMbGH03af!->DrVf^Wo6PexDI`LxGtU3o75h_}9|vL=l1K&)6$;*?k~x-S)yOUov6I z^3)S>LZF{1DLd1dfc0R!83SWLvI|J43jv|$hFSrYOY!P0_z-46{0j%VQJnKyV|)3< z6D2EF(7k6qipI(n>UUBe{FpNAe6`xtS-mpMLaV>PK@#kqoBUuxjoWGTx<)mDF%~o> zvGrO_sE@D-%-3Y`GT$F(U;3!Y7@h5r83_l9dwSIizwa$!@PPk;C%9xL+ zxR^!F2veLn>^r<_1ELwn=Qmk5pvcWT17bTn?v6(q%7)^x(3lw9w@g zC(#Pbmml)Ld=T;gqpc85IHR^j^Zpp6jbZc`Gsnbs>Yb)$?F{ku#}Y%5Gh}s0puKG6 z$q~9QDHIrnP}o*tqg_z^ozEiJRDVaot9!+|OWp?tUidS({7Qq&OS=C)@N)W?n$?#` zq-9wOFq%~$i!3OeERF@{UbKJ-)H{Ab=6Pus(97o9tB-1y^neM-pONYo>lOW|rX0d~c%cn!K$f&8_^BonmAt6A--KbMgCjwG||8PPU znK=(scwpvhXm9t*LyjHVX0P)_@QW428S}H!D4LUt6WvD?Van?arg`pYU+UE*2d?~d zk>1|}&Q(Ei-=J0ouE;4Q@vvPy8f<(D|4JoTT9j`N>Yq%_C+o=U_0oE5fb%L6mS{?6I2Uj+HrXOWxZvoydnrF4T^` zcv}jVesma8?2Q{0w>dwzp__1ocj4Up1N@8B4Rc@?sr@V|)QETjxa+~7?gDebB>zXM z->3|oxJAbhV~os=CC{h%57X+OSxd)CnL(1NPK)-M)kn@aR9q*93h2d>kE|a}@GDH* zGxk=My-fAZb`gckokXa_*IfY*o7T8Y*d$(cbSf}Y^?Yr*PCwQN1t#2LMe2|3Ar&Pa zmes;pn%6%x3(SYo-@OB=niSQn-hKx3V?O{fUIrUf?C)H;$soE5ap@O5ee8x}x=mVc zvu`w-B^adCJ^N(G{)D#|EHu~Wd@}sFlDZUtEGaeiuM%r+NUuIZZ3wTAg+xyg^NHG} zqPOU#2`9{?UAm#&bf5bhv-Xj4O?ZC&&Ggyu2l)@%hATyrvKhe}j)`|v@8n}We1vY99C)jGS^B+mF;aW_qK9xY(L-mY*F86|R)`0i>3+_d`g z4!vVJX1QA_TI9p;3dkzp_$u-uZdju;4y2>PrWD`hLv02SQ0bV}ir-?n4H11I~_B zR&cL=-HR0u{ZDF~rbWGg-5OG5s6Yo;E*qgpX_^DNECfX?vN=Gm)$#brP zE;;<9Bl7C{ZYS@#^HNu2@{V&1)iNwYJP2Hn(U(u%4i7W6e03kw1!JAtFpDR*tF@{M zV*OoqoAQB+dfae_tmQnwxr?j?hFUuS_(hAo#+G`dNU)my67Tm@9ozJZ#lDQQtp4Y? zO2Juc&@~kk>=}EtO{x87J4;f2mlrOLy(s%HwqLRCcWT{M!Qiz;oPKD!i5=&t7p!4NIB21lsn+hb-OjWjI*3Z(yKdr*;eh9^Q>B|- z&D^msqZ)`d>xgBZf9>kd2_B0Z{=-=x;N~^jD9#0&zGjoD?~?*;dz*+SB_bbRkcdQx zEp4nR+f+Q09{z+8g>F9SVyq%pArTVZzy9lg1Xy#JG-tz`%+cm_2O3wv!p3;=g3J&Ui8)Oo+O<;^|6%)kKtZ#jnPn>z~tc z)1yF+(=O{|ayD22ysJ@)$u8a%c$m`%7*hWIPAgMKb04FEWnBjhkLYe|6eWv!bM;EpxePysG)@1}#GE&dAIc$lkCYM8e{QO}G1I8u zp=txzsdIN)B76O$QR`&k~zgmQ}!|jM)YDF8hkS zh!BXy2|$X96|79!`N*ZuCEdY8jhP&MfN{>m}+H`^RbRNeFE_J^bnN zNmRqf+#25(k8sP5xZtDVF zT~dvrPEr_ECncFuo>7*Z!;y$bsi)X$wGsI|Hopi(QJ0wVerMY&z8uLyRPlob-WVnu z1k`Y5brPkfkDUGgxvpyeg7Yi5T95(jWPNQ*_hf8iMRLw@goY?+0``tK3Z}3w(Nbl3 z9iDSwAOvs^O`7*PG4zD(Z<6162+BhTzVY1<2FtAvbboydcRt-i@SqziQ`q#Uo)89&jI|G%tWN zEdRL~?mMg-`e;Ts*#LUYo9dpf-J6FCt+RC}4=WjM2Lhfo5b#zual(H0T}2sVp>%cR z+M-#}44Gf`Gl${^u!-#q&DU4{ZT12G?lmCE{>O9<_7;f-hhe!sEzHA9tU-u3crg_!$I1-sP z0a+}_4I^dC^~JBcw)`&O53E`PH}&FX- zOonZ$+mypbPG;O~Ahq~zl6z%SbjRj58P<9TMuii%k8JPKYz^K1f8`F)$@%E2`9Jj6 zIXyNGojR9n42w2TE!Q7eiWqU+KwI?h=zTphWat#AJiX9r1!gC7*cK?6t=P#KS_vdw=`0115x9IdC}k zLbWh06ueZkb{JlG%9dc|u5tN}qNS)qZKXz*jct9h6-bs{%_=c+`*2UZ@G+CWo7+O! zn0U`#M%x=%wu=Qa11viC+d`dxtN6&F#aI7l*ZSRVlIh+G?Ar2QgC)_0NvXV^(?L0U zd&)a8KY;BzJKC}8lOY&p*Hk6W!DbLjF>dXoXm64s$|n%1gsrXJh)UjrLmMV*!QvT4 zJcc9ba#v2{K+*%$m~oQwZJpYTBxRmamDQn$5J<%NL%ca(%KM69F(-}ChlTA9d4i9h zGhWZ;QS?y2!Wrj?hQrArs!`r7QKJZNdiLd}mj{=BzP)qfLt4P@R@)7lTif+>HC1hI zT(~lo7O)=_lorBjhcCc=A~-LMtZwqdKz^^%MFpPkqhx-!6qax(vRJ-Kro=&dr^x_^V> zmeYT2`hTxq?7dwWV)iA34l-^ukcZCeh%*}O@->Ip&p5+!2PqJ2O`9>asK4qaxB)*D z>RO^QZk2qOVZ(;CHdw+{=D&^0`Ca*;9DZV=V&`$E?-OG5$lw&G~m z;L(AFgQ}BLV)U!1CybU)T!}CD?^BAjqop><4C(F2JB+q3*Yg_H&7KK=9)NhZw&ng` zTkidF-2xZN9L{8XJ$et=LGORRKp-~qgJ6j*781dv7`EzU(`wB`lUU8s!2@rs*H!!CLlF!1c(>PJ zVvC*0_;j&FHBnD(&6>aC;(78i6r{LC@czljtFdjgVCw#E%$Op%Y&#x=I{ zxJ@S8rgzFUHZ~shd|2d@GE-B>6%^&)NX~ci554)c-)9sKCTFE_^d3|$85tl3-40$_ zI<@#57~g-Nf~Mi%E!(EoN>=WF``>^4*N(mm=ZXAz&S(#1UIQBI@oP%!PNkzZ)dNSo|Mx2XN096$38+QaqQz?j%~G zNNCP#PCq4KD0p5we4|z%05^q$b*K7eo4^VFbl(z zE4EUL8Vfa{!2>^EG=_i1wVsErMN{gjd!?*SXy`u08#DC0k8>qbNS}75v>aKDnS8re z|87Lm>a;!iPL8nwQZdHf5DjebKm`Cc+Q-D4VWZv(jhc!*-_V z4^CYN4-8_#uV2aWW#jxHt$GCPHlg=!9@QH#|gURaS zHIsIV<~A)s(W;XpCTOc;qXur#s(VP7XfVWRp2A_#Q5E@f&6}DF+LG$)m)#v$vvWXGOLhAZ)v|E^z1K6JxFu^5O`8f zIXyZyUXc=;v|PO9+IW+^1z2UN0K=C$KRO8C>kQoiYL)ENIIVCz?^Pi|7aI0?AMW5` zv(HT{>#;E_l)RFm?{|d#!A{QL$<TS3Pmp~Wlwgb z9-3UGmVBY-bV>i9EM%{Q)rT4q+OEeprGE}$FZ5vDz@FWl6Q168%h;Z-=1ebJEHeHd z!ggO=)P{}cz(*06{x53(wW$)+6)k8Ix9)< zo-DZg7KVh}Kma9^e^nq9S!>S1-&L1iEp10tSS+Nk>)C4FcAYeTw>4JM0>w&Qgt6CS zU#Cut{Zwe-WL*1f)4cbKMRbP$SXNe0~SOt zoW;tm#OoBbI)l!HXG?N2_XpfB6y_EASk=mhb1eK9-VRO-EQ%CKIY?#RbrEglAz;S4 zelnpjPFS4Q$2ubG|9!Ow-G5&H^OGb;=iAPZL(Z0`u@{SDZ;qA`IRC1*L-`I_oP%1}T8p&9-Qh0z*Z;*=`#N{xFXf~MYk65bJ1CR4&y z-1^xylRs?;2``;!@!tpuK^pU#`%fZU@zp%UfjTtYGj6n`_7>XimerdFkRL1X`7&w` zq(%Q0hPJMjSyTVx(`sZ-m7lVrKP_aGDCf8KY4~X2^6^H-HDjT5TP)0Xgav<8^Vkt# zx{$JB(X?XMtACgNK^7#$9AKLzkGOoQ@S=6B<=uL_v|rZHA~)~TjuCL+2fD*@{Du{iu17H4^}xQ2RmmtK|NnA$=Qawrm2n#PsJoQ z3Tw5VNp|ZlILwE18*6u}EfMOY?Qd8gGBk6MDtDuCXWc+cKO}10sH)+vRFWTM-oB^C zs7yB)no+4h83aD;Acap<3;N8Od0&#p_jBtU&`t!A#I&xq9m^`B&--D=kag+J`E^ze1G93S=%1M#Lifsj**DBK0oMvAEe(eNx`{$6mElT z=I}#rVKS3B50OtD0_Iq6$SThZ9zvR76eWtJ6PCka#l(#`!L6UzXcy_I&szG3-AS!1 z4(RhCrRvO_a;bJw#>I%P?cNLWtuvob;mh$0*}X##!FDS zL9q@bOYSE;@H~d|3#?4o7s{`f!np< zmIRXOWR%;a|D=}lW|r5!-b*sEA)wXdrkPk=Ni4s;SsFx zXGOeYMD5j#xkBa71(~zkzl+}5!mU#R%B_B3@~a?`j_D}z2F2LgJHE0!`jfl^ua*g! z2Y6ppqWN>&Y@Xa8MJeKVb499qSq}2eD_)avTFcD2}eZ})gvwmm!HD~ zrA^7tGW0G63Ac23P1I2NjxI%mo<`ECajIu_9f8d(7H=m8BhJ}$TpgTe#QEy=zv9r$ zq+U%AuZ!w|Lh=9LHGnwJU)cHJ@#9@5)@=X$_&5FxoY{q6qFu#DgyNwfLIMfY)WcH5 zw)-&pB`{W%7RX>q72y)aPE^ZZ)ctvPG4w1e0+mg0UsB^7sdK7Tpr{|Yu8C~t()?{# z$9!!CvxjWiv%Yi=!g7vqj-m!}ipCBa+Yrml(6%>^B&m`1iMnz>pLGbO`_AYGia=fc zcXsp@6N9e#g3O9TKH551clUOjT|e@^j_JOtw7t;!J}3c6EQo$wS5-zk=Llw#JaGvXN?PsX;o)?Ecp^x&ih~uYuL!XU=Cf zmLd!vvEHy0ZM$YP%j)^OrsgWT)$4C|HqG5T{EV9I$r~`yuY4mtjYRe+1_uD0Hb0%4 z^R5QQx@R{JUtYia)orYx+qv&V=YW|o?}AIj;x9?_aEfyoGLcRk90F^gk=j|c8RN#Y zd4=thz$mgt*AVikTMEvUr($szrM72HI$@WN6!QlnL&4fr}zF#dei8Ev= z78s7Mbnh$JT^E)p9+#2%QT88rLFoF>uot+f!Vy#Qb0`2t zH5RPl);M1ir@pMX(KE|*b9>mEzzv4`f_;?gjN++$Ph0}-V(9z7pyljJq1w2}-tLTn zipvY6mBT}L3^Kbu*#BDzPAI9`1HSQS+*|vHqwb-=p=~bmllAG(_=lQSWx(ZzMxEA% zgOcDohJ(e+l}HWsn}~)uU4q{D*3zPS;>y-t%h@|8Z!mPf2qLtxF{($ymPO>#z<&0B zj>_p9zgpjC2Td1}aL;a<_$=GPwauuTW z4Ao~A6r|mu-8JH&h%kYFPV?3der3Nco!%C3za{ zZyU;ne(*D+AB(T1sw;B{^t5kq?lk@5`kfDV$|-RB`vHwRSomucKhx*!$1d3%&$OrC z@xI7ti90q!^uqPmrJjIb z(6bAcJz4q6<~GN(3Pk|IKZ&zkX%l50-WTi$=FW=ONGSOv9f%c_I~XtB#y?!C@uzj^ zO}v*3VZJ%|2cyC&I>yn2&@X zk%{aV1ohrXbmsQ zIfKY`lKZlf7nd6(Ye1rE+Xqcxw*-Pkl@2&*jEZ)(lI*na6kgzsrDRmwPc1vDQb#QGY{y?t zNXvu zVBwEcBOv%Frpg=gLisHqRa%{^IP{>bpb`mss53C@asR%7C$+YQGk2P_?W=?m>w^x$ zH0*tq4<dK{rFm?K~ za2)X54z}jAsJ`IbryR9jq8_|(H_JV&#u}5EpQb%w75Xq%xw;u%F}x<3ad>LeX2-4a z&T%`=p4I?AL)N+el48iw`oV&C7i*o>oOS0h{&yC?pM%E7{R65I9@D%h0YiAN4gEPg zW)EjNKVk*rUELxbDzevX2Tm8A1mdD!;iy`DI&PZ4gR9C%SI#W))$rX%(HHR5a>b|`|A?cPp%4<`%>>xXElUYe7I&7F%dmY)16QGR)lcUdQb-padXL+nhn!t+vN<>Yp|7mm1DT3+hX@B z2Rgz(`uwt*j`8rP%sqk%4{1LQu_}#?W(ao~ba))SlE!Q5@e69+aKM9m65y0PKRfKp zDgRVEbQfa&A_#wZA*G`6dwrAsXdBgl1YfNnUiB+nf9Eq@92d49FWt+T|1po=Ufn2q z+bO*=u0rgPM{2DOw!G1|-IaS-lqVj15bs84T=2~RtnNrkcq~yvJ zC!Z``U^0@(=RR;Jjlru}S}U3G7cR#txPl#wy-fC#i4|8l!PwTe34#qw_Q=`>=iPdP zdcmYkDzP<_>vcMqcBo(qT|$6{5tm{d{fFhCK92O-P^IGAAyzdj->%LWMrK$Z!l(68hK!T|C6`&2{#^+icfnYJjB#2nxM@C4HHZ64wx@jMCJ8wuhs!| z%@2&svfk$>^sq{LV`R`zD;Q>eW48UDFecxc|59-(JZq4{40>`{fga|FQux*EMfWN} zQPWRl*_YaAkJjmjC>(cy&q2S~H0!?~Ecp@&#T~~XTszw}#2*wYXg{oBza&U)YxR3) zV=_T$M!J0uR=ucPoG$M?SYX@R>CdhbaUxe&64#whof)X+;-x*H>uCBF*;U^nu9Fxq zD-k|faMOA7(aM_RYd+(m2W9;S^cFrYU$_XAG^D3j44$g3#eesqdJ*BwZ!dJ9bM0%U zLUvheWx7^)?~o`}MnWiaQJa&?b#Ta*-1l$8_^;faU-bR24e1IBVBt~nixE*}%y)CaSKL-BKz5t?U{uJ1dN1$^@-_}v03B;Wnt>a&bi9=?+tr{jlN+EhK|>j+ka=8?N&<()~VU{-NdOT`myhQ z^n*Hgoc-dty?a$QTNe9YL$Ydvjld50lJ&teop$7bewpbIwUk3A_2hZbCZvu$`!hoF zO0>J9g>F?x(_rw3>7Xg>%r9(GT=WR|qcP_cTNel!>y;LcRsHhffiWXzSSNv!_m=e+ zA3c^IE^yX&rq4a3Bq1D&r2GSYc<0z}#{I;~%|8(wQ1O6ajn?>kLHIOc!JSTLDl8+sp2vJhfU@3$pm=M~&5IzFr-FKZ)W{IUDOErp zJ)Tsg7SBFvY_J$O?lV4)sgxQXymJ{RCCGh@9vds^lor_5b{ALAFVg|8Pp2N@bE)On z&7P=U^kv)hX*;UyGNW-qE4cq=E?8iq7Dl4RV`Yxe(=nh5 zR{COH>k99C0PFIT>ariJHYd!aEfWL}6!ujq+&V}X7(1WG@c$P7Q||ef0&;#=sxUC>@oeiPzV%T?vC2-h6EM`Z2X5;DcEa})S~#CI;p{E_!9KrP zD>q-k*QCwJ_fzj@;NP27)-L}tayhk!=3G*JC$Y}Sb2CdIzi2S5GKnZo`qin*=4(#z zvf)m(*T<7f5Wzk@?R=Y~3{3G`mu346b)`GbMK~Q!tbUp={w&N1pK-f*W7z%s0tGlB zpl5joYsTMXiu>kx5Ds_6lT~l?tiP+8u)iSmQC zft<`14UY^|D_-C&Yk#qgS6rJHM)&f05#GnfV^-5v3&MY!e7&1PvhN-%b^p9eE%(i?&-2Gc)b4AS|93@oK{|asnaprT7|KN zcir{|ns@xZd>vXnA;3F5(|4}AsaSyqsc9K{XPmZ}R$5FiL*RkxV~31wsHj{Ybqpln}<^^JO19@evgdu$FMX22El$8qr7 z9tVxEA+(RT{6^;o#sWXh_2Szbgmc0h=QXrEY#`QwhP^{naY58gRB}1J5}hq4%Ej)YRI(+FW4=$HE-`%yEK9|h#M zm{d%045m6p@GLgYcVMNl0i36`m$LMz^%eKYC7^MuydPRB9#ZoK8B{t@7>n5$ zm=kxnNR$*e`U7es`gfWaVdn@fYGLAWic zkpvB-^gj(iF~God#=TJ3`3E&~UVbyD{17nRi&W!7Rc6s@2>}C%Ewz=)ggaBRy&f2I zmJxgQg-;p`;+_65^&x7RrXksc*3w<3L<2h^6c`@bVGiisogW zqLao5Mq2??G?>uVqxbvC!&>325y%=XTsJ4H3XgN^GziB8-MNf}C5;NMe{ooOB^`fy zeKE9YP&op&@Hfc6y+x?8iR!M-)bHk*3v}W3oMf6TS>;aWfwlJ)p549PAhhf-ZFQ11 zJeYEF&Yizt@w23QM<6K3YA(GOmay32J6NaZ;z}OP&|7gUw}RcdyNumoBRVG?!!6H< z7h5wQ=5<%==IEmPQ~9}EZrIE#?l;|q`)Re>T^I#6nE>tHG4lw*albX{|9DmA2tlVB zm=WdVAmxo3r0NrD6aw1azfnai}0DkF6w%0<^GKtV_%Q% zA4#W$8(gpdxV)bB@~UgAeS$wdJi(t;^RxeBoux{&p-qSn)t`uQV_CO}#eLW^ZWf`J z6*>+1kwkv7$olE8A2zX`^yJXm7CEfeaO-PEgkWP)R2j^2MCCUXAM5i%_Q{RNz>Z7S zz2Wnuy#d)z!>pc8(}wCDi^B!u7RyUCW8{dtLg8uS=~n?qJsR!H?WvN+W3~4V@J8O; zZ-jzATOA(Q;ZBWO|53ZKJO~jqHBbZ8?^fHUMek2!h8s_tZ4~Rt9lwGQ+&CC4Hnum6 zuCVPpIOs*C)nU)@`HbEoasE$g1`jF%(Tx$&QT+rVXB!Ndl z4~R*O(EQj;8fw5Ze8Aw@pbl?{; zwa688)9N(AZ4{a8O}T02bP^zLm3-`%b%tAj!W;VhF6f|+#E`q5{Y^YJ3lg-kT6_d% zIeIj5%6tK?>`!h5ZtQf2=^^dZe_^iIX# z+5A^f@bV+F$6!#m&$1x+oW)3`+_9Irrlk8mrVAzqj?3FgYAZm1(w`_LML%@>k>EL| z1A1X_DK}Q?zgUlZhZ8h^kH`6yC;y3<;2rz*nccVa*+0|$ry7nE<^$1J67S>|l(n<0 zKE@KF<5DMX*V4`Bul39o&GJJ|cxHS`x61x_XY!eI&Qq@9@v`Z3aXe3W)pi|WvZWWc zTo-Op4MVBA4TppLY2(NJO;0P!&-#U>zW&@ zJI)#dJdo)=T9Rz{@*6);UeGl`ML<_js^Eym0c2q`4wivU>L1PWw28+fW*;|q;A#B( z^;sv~`~j{wX1cB*aldpeL?yHEBSv;WdD&5ZIAe4uHz9((589MB^qh(7I<+sdeN`3H^57C=8?yH0KVb0B^&8qOmK z%9$u^aCzG5-Tbu0md?$puN}2*b9e>?o=N%e*Dm*0XJi-RDNSt(#dxF>{rL7EuXCuB z;pDi5GaLC!k}8uKJXP1^D4N2Z79)k}${xe;Nl>XEB-zH9RXofHP|$eYk(&d--R_Ji z@+R)<8fQ4;e1^&1z37bv%GX~UEmf5nDJNPLRUFL$^;tc(xoOW-PhGabdvTzyrkHT^ z0d&TZV%hI1TK0aW=eldoZE$QhAn@w?-4Uz=QPhj#Hz7>lASn3MjYWRcJCu7`d`!8M z&bWhivgI7kG|{~Hj4ekucqGo){^o$e%Ua+_2a`x@io`T+t@FT=ovQ@za*pV8@%kzw z8N6o*H{};L+!FV!d^%e}JY-!(d6q?};K+y+UzIOx&ZNu^2CE|f0a$vW8h;mgGT_sH z7I`DD9;~W;HWASL+p0VKn_Ry5^Ro>mIA$>Sir%ASgFU1M!Dm9j0?|FFfbC}nGG2Ie zDxW-o?M6KCQ7A;9ol@nyv2mf39){T4`)lowkc^AYWQ9Hib@o@5boNy6X@W0U+RKEp ziD%-;yi2e3kmHb!c7E8@UN`@~>GCh@h!dGLjEKUs!=JeK@KZzd15a*6URHgp{Caw! zuH!lp%IAGsrHnX<-Jic^(hP|cJ~N*VPOb1B==WwX#5yZ)fLG&!_!A2-(x+9yx$(ih zP{y+TUe||an`g&Od}Y|miYZNEUI&~zMhBP`8PRStebftYeD>Ff*JnJM-~KbGvU=O} zY_{(=B#>!aJ@N!>cBe79QB-MgLU?} z{w_2$m_KgdwhlxMGXJVA|9+%P!glL-Hgr-+OOam7rO(DilNSW`o?nGCzjQcwi! zJ>@Uj-{ttu2DcwNGVv(BzbpOK zRB!Snj>DcVrp`m90KW0ZQ<(>z@KL>+y;4KbW1;0r=>P+-@NvGmaQ*Dht!6hck&VGS zf7=a8VjQ%_8rnDV{g9p2kI^1fXF%5N3EuEZd>HK7m}n`wekemx>qkj>`*n$J)59X? zhX0c3o+tod;9Gz#V25#5PZNJz|B|!{&2XsVri5lxA7dykea?|FTrnVa( z2lbSU1 z@p{`G+{Rk!0^BRkWa{7}-l^pg-=Anr@wDlfVZ) z$8kd6P6v921}1lK3d91T5-=kMjZ$wEzOlNA-FB0B-5{45^QGzV zfgBgGv5o7GpKO2#H{8te7Ukam&%m2`Q|33^+r4)9Kj0p0S}j0fQH-M;+|ufaHL6AS z;65{yVJ#;Y3UW@z0wZXuU zH`K2g7kp?`uxc6OhB^OCR*f#SR{BuSI)xv;h?$z#$eNKxlWOTk9| zCqe1sLsBPiU(l@%4zYyukyTaMZ80zF_iPP40uB z_HyLTS$vRoOr_&>L>mBc$D2F2$7#^o;(2gBQKju@Kon03Dve5VSwxtd2Y(Euec8xw z29-@```doLSOrlKxMz@DrfT(q*0dPH`na}9jz@5t132fW-C43{fd9bHj2` zN2@zBt&ce3z6{K_aML)4<}Kfr0^(XO2if;(HahpifeW{_{j5gsNLhX~i!;>|Gunq6vD=DY=p zQYm)=&`eF%U|^*#{Zpvr^w)0m>$#V6bsN6e_NwO;yALo27HK;1I`Mq5j+lpq23uTd z4+tt79C3M2m1bV`V3Bjr>R7eAW3+PW;&KocxhFnGoYD&5Zqm#q6bBwSyrjkBj>l$G zED`_~?Xn+f9q`=|QCmAuvjyp+w~;x_$907`2nzQe1O8CM!r zSesPTqW4k zpRQ|nAYZ1*#Jw~i+@|*hjL#5z7dg}`maMl1gGr<@OBL5oQPT=ZFPE?2PwiMxb^WRA zlx(~eV8iV-st~u-C5%;)dNYCsmDp)VOF7I8j(2{bESn_N6>lCHz*=MKnx3~RUH)yM zoal$C$OU_AJD4g2B}l!uxiX?Knzn4`EMo$=fkm%PJMaO82*HQZ9hfXjVXlAq1n0m)qp8C6!*`zi3|UwPyT-b zbd+#K&ws4kVDft|PWFCiXD?;)yT?I^4A>?byomtfN0;Go+Lg%_D(VwNDAGE7yn7POz6^7 z{k+xMQC_vS@bS7IK8?Q?t1{5HsQSr!AwVS)#f=6M?S-zW8S4`R{;Jjm+ak^j4cTbO z;xYYCJmGIIp_C!8z*Ij2cG13yI1gPL<;=qTZAL}xMpFmw<}uxHeYS1nuPs`Y&Gq*L z!LVKYA~v&s@si@j8hcow$mY%3nfZ2KPIc2UG%`%U zc()~me{gEF+5L8)ZCKj${7(nkm&df)zoGg+Ut4G~@bX%M;rXVi6nV0OdUN>kw(u`Hfs7yD0IsY`AE{#Eh(O}bRXsL1fqIdFO?s)1vJ^k+@#4m43 za_BkDkS2NUbFjUtMBmd}K?NwPIxOOjQnc;|(nc4z^~#iRP_xhj)ZTCoVFc>d`#@T= zY@7HXjU^RbUaMbhkg49^Isct;?K8n-@GCNMev+?=6z|+BNe1)Qh%WVm zxB9YhtJ}Vc=cnXjC^))~Uv$2UcFw&1BE%y)O^*|#4UMt&8ADCv#v0|ao(0kB9bKpu ztv{#Mxc%1^7MeF!ZvnXIUxQvOw@(yApI&MZst?B>D!P)?lDL9C=>ogHW}2dFd}=qJ zhy6IuO&T`)2SBgF0I0K!P0^44)a+JPw@){NE3deNiGRBr)i}BvdHAH_J9TZy?ZWb( zb#TVO_I8X1zk-KAI>DiDN+jVP%{x)qqpJ#8eEHz&gK5qsgIH-C!-n|%tyd8Gxv@H`%^I+{@-{ymFDQ}>QZSvZOmk_+HX8oiR8f2o>$6rAs<+KFyZnd!~u}XT(xG$633z*tc!go+MFRATED4WFcOs$a22|8Ri4 z+d#Czp{8p)QJfMKFBT8mVmsj}%Ta!{ z8iBl~d8q zUcqw#m2D)Ag;tPRld<+L`XFW0ygs6d{E%<7|Kl5^Mn+#cHB3{}noCxMFWLRmBXOei$Ia6ka7PoDEte8>H6YDz>L=@iEiq@P{4yfI9M4R{SceEjJnHv8o^tW|S9hx84x9N{Qa zIyW1latWo!*%|Nx-}$p?d>s=A!PqxSuP9u)D@FCyK|X&SzEmA@lt_RMd@f%-ee6ep z`awModgLYIM)&8|`=-;x2YrkuVAm`U5pnl_3b@kW3 z`1q4v+`){awoI*3vK#`*lxexoG z3^yMJmmQdVp!mL7y9uJ2Nx}1`Pph`LT9PmF${0!J)Z<3y((Vm(2<}~QapYnby3ZCK zruMb}J=iY3%-4M0WHlHbjN1C=#G9s%sSf z#|yBR@np00OK0 z#{{^IqMzt>9#-#lq8;sZrl|n0Ug&`w{Bjg~9Yoja4{C=iIN`n|e8CMTTJH}HUR!Ld z*Z+>vUcH-6A2IW%cdu^cMxY9`DC9Rb*fxx@T7m)6Q3>W+(PLMunqWZuwZILdFurIB zDo?+7BAOk)7VLBd+gOWQpN&o1)77wpq2wPjd)HPAI6yN-MXsPEcPu+9Uy>|^_nv4r z{T>6=mUmy${qV_AJrKLTY>r}~RweNd`f|03NG7Il&^BFncC|rvrzN1_Udw@fc5+fy zCe6>5BtE+^@B7cRm{XpJ8dmg?OS=>~;l?>$YMHsw(-|V5j!kV}z7tJrQlR>d^3e*Q zyqUU0`HzENw^gK%ym`A?r7nFy%39c`UvsfGH61;M;}_Y|Em97uYll%?_^+ZFL7=V%?SA{q>>Nj+M+vFv zcX@wz-TY{fuiinPN4yvv>xSIx5f|TN`fAXJtYi9eLQj{G1EB+LWS$Yu=X_uzSoU&( z%d7!aok|%qUc3CQm8vjo8-5L!Bfp&zk$H9>?=+#<2)v1vc%70>ciuO*Ce&c-^SXJVU_xI=t%Gs(DRkr zdRd{DTivpM9DTXKh*w->55Oy#%GhkM!9CPCHTT0l z+;iY_bfCH%1aRoP{LnW2-g)ejy{N*nW5@M20{ZHCnAm&>Uij)O8y=lzz|oO~wPQZR zn(@C|$>O^m0QdIrECCQ++-~t|0H-h0t+g-ehs$PW!29!uEr25X<}fW zIj*qlyU9aPC|RCg-TJ}$=Li~uc#}CyR!J#*T%V(M-3OiZxmG5yq80!LLIfc z{(e&Z8W6>fUCUiqCZjFaKb|Kgp!yM59zbg)o-~>w0Z97Y!o0`Tq^#1O@&<3&k=2dK z!w~#xp3C9~@$zL~Z0Op-09Fx~>K=1SpS|3O4PxjFFg zkGMZw#F^-g{Lj+F#C(-9LbXXwEw;agP+${|nOwIbIh9W(5%;S~jJ$BW{S487$Z28{ zyqJw6TM? ziE{d0(Y`Z#%p~x5`edER3u+HTudkF3@4BWwQ=O zg3k5^K=oLkm047yWItGx%)tQND_a>b8=TWQoc2~D$jI>Gm~d7ohl~Iv1zi)CZ!v# zUltkCNY*&NW$XpZv4Oo`668Vngx=3_`-aB7Qd<|Z-Zjz5h`mHWHGTfZj}5?g^G z#@go85=@lrf#ESnbkLg7%QU;S)ykAwo&Ym|wWcSXq&U<$Um>LW%ew^lQ!WcTbf#7D z9s9IR?;5v$@OgK@SmPZ9Y47!%O+hfXPveA5PL=J%Eo3+ULUs`k*Tj4%peMGe5l<#0 zLw$8z`X3fM!Qix0w`rs5FJs8^8>oAUsWN_=x2H-$l2*@aAwBN#wg;$39Zgo;wMr@S zrgxX0FWl&QBhj64H;>W~KAvy;u2)AbK#Vl;=APxl{`E5k2Jz?Z(jTMY%#V68LcLt_ zXP;Ulda*_@DS!#Nt4yU=f2li3X=gKhvR|ad@Z~*S^L4&^F-NPhLAKXp%VF&og8m=&-UFz~?2R5?Kmj!pu+hYTD5yvm zLJc4aB2pA7(mP6(E-ip4pfm-gNEf9SkshkjrG?%>se#Z5z2tv`?ykGyZ@!stzHjC~ zv$Nw)!X)o|-&@Xe&Uv1D1MwMnw>G-OmDX~2*~P9P9MtO{*ayU){<2kLy9a_hl;z4E za@Ww!&F_}8f!{6H%HlqgQh8ScTSdg;N>l6F1i}@D8!d=@XCX&l9vE6|v4eWK>%TGD zgNPQ&AFdNFhz?9b2-@CApInEnk2i9LheSJ;fPMIuBA=HSEwhWJ?Z41#jCt#X)meZO z`4@a2L|o)tjFmk*Z+Y8upv&)7*nx59=tY%6<4=9nbM5+LwN`B!{qNe>dCzl7AHb#N zlY%U$=f-e*^NW1dS(C5dObBIlbT7M}d)3nx;FCj&Mp8t()p_5nko-}c=gQKW4gB9~ zxh990o>~5!qgx-Rh7V5Kn|x`^O3AwYX>I;v4Rx74{iBnzvqE=SLs9qI0Mow&z;o$3 zCfPS?E{*j?ZIf{ttC0#;y(Ko6eNob@4_FTm=(UnKu8)pwj_#g=wq!?ax+{o)Ehzq} zqjMI5vD=FtHO8&4?o16XUb78##`S>GaX*^wSft!#8i@@lU(d*a;TNPr$ zQs~&>7W%;0Pp;9{0~>;it=Z{8T_zfnA6p#0%$D_JoZVp0+~GHtxR)|;%y(Sq|p2tTWkp&^cFmZ;Z~pq!&2<2~?AZ2H$Zd5yKxzNYniV^_bS z0v>%_P&54K>Zh>^?|(v{{U|hyXx8|M$*~g&S1mpYOg#_0WIi2%)#?je&hhgDzd+u2 z)(#YhG+UVl9bCe93f~Ac7nZOTm}^OFw1jI%&+{$b8?|oAE{E^H+QeH%I8v1pv)SIl zdL2pz9uAbN6bCrTjixTQ2a$HPJR6*U!L5}Ahn>8(l~L?rIhh=RnJ&+)21(yWl}S2k zdK0$0-OVND_R*2E*vEQSvRf)%V`x_^)yHqDddt?H>|V94*%6e~KEzXH(dA@sohj56 zlSOAXyPOYd2SM#g_{?_S(tcLN&KMyz;8P2Q{+t>(1x{i?-=QlIyi-%Q`To`;lQe&K z+Z+?C>c&?V&k(f@Lw%Qz`#TvOk1ES;43*v*J~ma^AwwrN(g2sBXTDkMdV`-q497jE z)8PYImcvyq_D`|Sg~9P3k!U8nRx zr0}ldB@?%jLH}*6keA|M&6LnTQSkbpD?ce{8Cz5?|{L{ zjr12&M$ULS6$VZgwyh5x7eda{x8NL}N}ue>Yo@wx&=}Ewi8593e)WAvKg*NMgV~zP zUnIY&U%w@4rM`u7`>e|IzSi}DW)IVdg7RkrxdXV1gOiaKZG4eKcRS@WpYxU zxonBmVTqm1ADYhUBkX^#IpdbF*t)4noqgp*Yvhd_7U{ah(y&N#yOrC#wUxYi_!y>q z{s}$J42)}aatmNtA!GOsVKu2UPDRh^mmUmXS3`4W3a>)#zlb~Tv~b>k@Uc}mkCp>$ z?0pILZ}X2vEcdqyJZoWUR4M51Fw~n$ORIbqtcw1eZlGLz%y3CTtP1VWhse^C zrG3~FVbg>ecAAV4wx%eEfbJY_;`{ELTTTPVVwgJ*7QZPkOX62Q^!SA)6SN#ZC;q z$LpDV89-vkLap&e*VLH3x85e5l+$YGo)u=($ql=XKh*rNfZM-TrJ=(ypu9$+Kv2vIg9V2H zT=cx3{yG0SIFfy)Gv_q;;R^W^MfL;kF0^=1FkR_Hy#dp_!V4og0osrdSaP+Qb{p*c z($w#gHn8B$3xMV%m=u~tkGGeH?3I>aixfc$i$eeHXvbLP^Hf({SIPx}GjSTlw0nu? z+9z2g+}ljutizmq#iJEM_|oRrvK-8XU)qnRPyulFNL)2so6l5QcS-9MPp z$)|_?4ADz)qir8yqnZBUN2|@o!y{|TqP4S;n3dTkzI2@sXUkz3q(F;ubNxlX4w=-+ zz>^H_QSRyb-FZ*jo;Bvs*IrPHxj` zUFE3;b2Xp+`U@Qk>cYFrUnMfQM9l8mj^nGJJD^?{8_!aRxW+^Yk16ML7Cx^5>*w`| z%Fc1#mbCn{Ia&p)DW9_szrS>=z)G~oKfZS`3F>;2gKjs5>SUJSsv{vE{{}nG46m!M z9EQ)cIus8^Ne`Axz4R1Fbu%5#qhbI#6%7fc+T`K52r5NoOb7cXAIBm!B%tz}v(58KhZ&MHl&pLH%+<@H~8x54|! z>6o&vxnGl~Uw8);T7JY}#J1y8yMPd6UHrY?OWtOuN&@X&v&M~QfJI~csNY%`tk}C9+iCJtbd(=fNShxxyc>n2hM>? zf%}2fg_ezC4TMSqM3BJJor{)y6}SYXX(M~3i{GJrxU^|3IE*VAMkjXVXYf$xc@f*K ziP9?4tg%Xd!EI&rYIJC)hWF%?rX6G27>=M7`XIYkZg&9b6Copu^=d& z%63*>p`W$7^(ITXGiZgrssd3v89FAt{RUy_>{?QmyR9bH#WJBB5#2A0q{o}ick*me z!{FM9v+(*JXnw;Bd-}%SNtA{J$4+^ne&XQ{vT;znogb%1AM!Ngah`E#H-99&@rp{k zVt>JE!6Pg4YbzwvleD+*45wU3dHhyec}7KI&0}+=$t5F81KFRES6XJuDgcs^1+*(F z;>yE(2)g4dO~;q|W#VhTL=g?6UttICqLsOOj_b~DuVvntK3t+LmemPofk%zJjQnIFf z0yDC^dB!Ct-9&u(tswi)TIsi$ zp*mjMWG;OL@HN;keC@C);ZTRTZ~v?V;D=nXWLtrnUYMK4Zx=>rT7Ld(d zc6}Z$9b;y?$lr>9E8m0X;<87PeUs~aLoMNJ?OWviR!dot2J=_Ne0SiYi=)XDi>8TA) zxxuh;(uikzFw3ZeEYh%pY?y|A$CEY6r3Jk4SsileTGMvxH&!}1UnWx+gmAGKS)2CJ znUu_u!zgvcE<|G$+QNmx&JFXvKEE*&ssT%wm2#(HI}+1gdownqy&UF9uLS3p*(q|n z-odvsz1(FR4)&J&+-P|%FLo7gWOaC-T`i!&o*kS#prlCf1NqN9#WNO4 z;?O_3U2>`|-Byftch$WvO zoCu0mTL0{px&8>csV4jxqFILq)kq`tQo6K-}@Nw2Q4QwAn}l z-O48A27agc^o*c>sic7i$FoAz=5RVj5&c7(;qh|8S+rXU(!nTE+vxmCc`gfR0mM?cF{|4_es$$1lk(5T*}`E$?^8pf}{i zDH*TFDtFND)Hc(dWu+!Fn)@SKmx0z2Zs~|8%f6cJt`CPaY=`=bsu~j9T)4l`MBXx}`SLh>fLko{tr$K! z|Hx>Vp^PoARui8G!5ij4oF>KI-|LnL*2zjaapEK2qkLo-7~q9r-=EX}KeBP2QeyM_ zH6IBHpDjAlPxmR;sX&hh)8roVE!HX|9$WrOFV-A1-s)BSrEBgZI!!x?3qxgF=Pm~g zq+QruWKlYmUtnJ{8L!^WnKQ1fkp*iX%9WcQcBdG!SQ_fxjS_M=qYl3^>=UQcowY73 zb|zm3??xF?ciL6VU&k5d7iMceIoow;&TC^U`+4ozRSsV*#WMk_T+-NiX&skw(1a10 zB-tURfL@enL%Hk$+zcN6OS%g9h;d&{z_yfM&q-9fW;M`dK0ai+aE%t%T;8xSJo}0X zwsYOveBqi(DMj|5yReUUxxw5Q>gF&H8bBW@CzQcL)!a5>^`!jEkm>s@~e;2e8j-L6{BC_8C6(qUz z7N&V2gETO#tOc*`y{nf5*&Sn}-Chjic~sfWv)&$1=Em*?H^0I^rj+FBrE{iZdHR4w zlW+m7#e4k}j=_bR7CtqE%QDznebC77%7CrSU)!V!=E|~jw-|2Cf9dejNgC`1(rt(; zyf$&1Q#L4!zMtu3A#0T&4Qp3cd8VX$xg==@9(FN?yQM*7?H;f$=B%i|9=ToUek&P` znPk{+NWzGi!~1UGB;VW^b*R13Ev(Y;V%Rc-$-Re(L~P>@sm1yoQnyX}`?26z#QJFl zpf>Yja*qPT4kjAWS8hE?qh-yIOK-`|#?b{*uYL=nj+C814xqTj9+w^0r;PAv*D-8V z)3J8fxAm>+3Z%z!s)d~EUwD15;Zu1(i{x&hl5@I?tU8XC-HD9vaI=WCNQ)fNU|(r_ zd6<39^+dZ^P9OgJmygn0tGMNNAK7>L3xa~!UnbgaPPB{Hc4%;H_toc#F&u+1q%0}k z+9%sn$2{1xeCPs+7+#$ex%nEhj+3P={3dJ55Z8UweR0lf@`G#Kn~QkavEI;#t)ubP z*j^Wnxqy?i?fxqdN&@F4(LQ2{I^Yk1Q-M}B4imc52S=YSAK5xmd$ji1#_{zNo2LRF z%rl71oQ_7CH(CrnoC|bM98~4`nv-Stb&}o)O&w{7o-e5X>VEO1c8lxfS%spzbo>^q z8$SHpW@pmfDITuN!WG2l&&ejv9lo}_WxPGuvotka|K{G=kmBK|poqxqm-FKYLFDmi zAYA^v8$%bbTj87ROyQvSGAv@?om!uNESq$*4y)VHt_khJhAPj3W26xpR?rY9Hv3A# zo#Um1`z7w~PtNlq(wPx6Er%w`8Xj8Je7Vco-m{3xY>_d*7bWh7v9w$a(K!^#4_n)u zREvIR9lW_a>Oi}`#m@89FQ9F$(ml-J%p-~CCedsGeRiQGB=nnRgI$_bEw-E_ZsUt* zp-rdm3A5#b)8a&&g6sTaWWj-)S9!px1*QAsCAbt{cmda@#q;_PnZB^mV(FZtGb~nf3SvF@7wS|Cy6~XICX3R9*k91t6liQ1@-0==F1H`me9| z-GT9Q?&;UpjIRlGME^cW_}5GS{Fnc3^Ixa!x7X*_+4b{Z{+nt4t(*VW&426Wzj(8c z?Ee`ke|`NQbp8jO|3T+}(E0x%bnd#Z4vEx-O*B@Hj+oPI+~N3nfl=Mx2=bNUwo#c=lR(K%PCUM|Yko=Xmz&OwBGI zJ#WkkO~g^JiZlM*tbs?n$XnZr7mX((H%g>;Q&GjKOFQH9N>mDC8x5oN3W$gmlF+CI^+4LLsb6NedqGFz}Zia{XD+?a(egg9_WVY8j!vRsEI1ceop27 zuh%a+=KdR){|4s274zSU`PoPMAFuy|vj1Yte=+9&p5RXjCy|y;YX7!grHQTyY*NSS z{f@Q-d*b$`50soFQYXqC3~##Op{JFH*PxokDmxYKd~Z0yum-=s*z*1t1I-DHQAtW_ zN%nzloLu2_-_S|Z*$%_s+!^8AVOu#;zAm`J7Q1EDNg}rVLWnOfI8${kTmQGWVOs^o zYj8?9@Mhsr?)N zNmFzfkWCUwi32}X;{wvC8$`V6$5|GBctZUe{3>d9t8H0FN_-MAf_VHr|M1WM)6l!_ z&sn|B#<_zAti)2GW2MEjc7%R2)VhW+SFkVq#)0EMm2(m9alnp-k>c;Z_=%ieAbjD# zfuGOUCwzeit>+=|8>ajmV#mlx`LC-fer6!`{b|$I&)?o$fz=!?Kxu#t7#@F@OEJrQkJVT;(6u`$`1yZv;K{ z%Y(e|q#&vK=g|Mf{1w6879!7oUCraz9GCd%zdrMi7oObv-2zP}1fe9`KiZ2k?Q;uV zD8xUIbvjR)rBiCF#CfrL{?g9c7q+Z-m9k+R?<*%`@gLtrTcwy~ioTbsHCbR=JN3_X z`R73TA5Da6E3Xm#qM;a#Nh#6Ta?;-|A;EKmB}7j|_Rl2*ilKftulCm5uYCpi?Od<$ zI7`AnPJZBDy6M%!-%mvU{rbuS@jq6_VWNF*;i9W+CvrPWlqZG1Z?e;m6RA2?uBz>H zogz(ZSD%gMIbj`Wk7E)2rUuP&cukH~H=P6 zA)?Y%?34ZFrRPhx1pus!RJZeuj} z+(qKGcY<8Eq_YII(|vrk@qCs0%lC@9lOSd=JR)cO*R5Pmv`W{Sbo6A?@+JC=@>b`b zIU7?+mHjXH|GtVDX&>#6>i@dt&u{;8BKDnTe}c?DbMybbMa2G1Oz+QHfZqhNpM%;T zB>xT4|Nn#Zf5E``MtUYBv`;;>bFInAcD>O38*KRla*kwbUyF`Wo7De8rVoBSkCnvX zYU#uq8M9JU5bbYR3D*nFmq54{ITbqn8_^lx1}QYA1avudn(8RhKaEz+Xtp;UZ*+L` zEbtM9Y}LO>;vQ%8G>qHd(X48!Fbles%8NDWR4vF(}& zP~Go9K!|p#smmh|Pp}-Fv|SgAZ{karzOYR#w7r*|S^#~MZak?$7{rv; zMcVBzr9U5|^b@oicuje!cDnuX%gphOAOgSBnML$FVnI<40I5Q%;$Or<{I^2G<1_fe zuYJWx@>|Zy6;~$?BPI_FlFf54)O?8M1dZ|tCn5=J5pTa)xIB}Fr_){6 zMbpsa7jm0V`T;Ulc#~8r$>)+Kq`iosdVT4+UO+OS7rr45aPm4onkCrSm2za~2fxAv1+(P$M7Az9sa*+8ei*G=SuKlk=hzsrDU>&^WMRSOx6M}I}$u`K5WTl8$esXk#1X599N%-5##fW&n5VbaPK!D%_cH(cs z!*81iv#)ICXiVGpNA5ilInRQ(t%m6XJ!J+#A?2zd6u5r)sY>HSY8x?1)*> zy{9f-F5vXcICuXjjR86#s=+7&p6&^)U>XU34^OSpu_;3XOe&q83^TwY#EFR4yrvdT zx3vm7W$E2@V&TMlE=YxuxZgFUBm-NiUqcxqXs9zJyDN%W4Q|nzx)^q}G(pj(MXKHF3(8%;rs_yh-Pc0rFhmJ5u#WntOVZF-lHNL9R~66RDU_r4 zOi~V+a`7PUdR~6XI}URP(bx_*Hv-D9@O~|W%PDYDDCY(06&N4J@IL5zVYwa^G5?PE z-b;&1bV7trRn~j>ldx3su$4!MZoRR*BOV*2E>G{4k?yK*IP0&!9%o59@F>m)l{KtK z+1gYTE%JW&JatFM3~FWOt5)z<&fL~K81vGM67b0U_1rhIn`HYjwuH zDSJwvv-f>#7bI>$UcFU}&=V9Z<~cF)f(qTO`VktSZlWTxc$%sdDaGxo2q&==Dg4l@ zbi8&7>ZX=HMeLls%`&36b5x!NksRsyf|AGD=D~$8R-wesr&yDY6|0khMYPv|N-|54 zaIKzO!z7U$6h^cdnZ+~rkT2?s4F_-OuQRSfd03OW=;-OQ-&uno2cshrJ>IhN(7?V3 z17)x#mw0O_LF`vc#?<=A#-?oXtTR(w5-rBh)ZSWRg}*D^lwqRsF)E7+U<_lXDMNIg zN}sf;(kL_kX=2m^T;mt3&4|19a1=qbPg||Os?6P<$esurenpIW7E-U-Zwg_NIu`4z z!1c98hMhvLDL1|6k=>00xcYXKdhMzC-~s9?DVl}rxYysd8IQ}74gpk^WQn7vD$PMA z-v1-fU-&WPF$D6YifItGX`Gf(L$|waFl<&h75Dj&rtUm;Efz2=S)?*9%2 zU&N4d1uRD}*DEK-9>0kh{J?uKl&bZ?9|=@;J+$OT6z6TD&xY3N+47>t)^1F;{O!T=buA|es6R(uv6)t|u!xPyl^wBXXrTs`iRu}gS z%R$_{>!fgs?(R|pXVPlvyc=iqZYAeVYsF!V`e~lgoFjv}%w(Xabqi@fRK=HU8@E?8 z-TOQUQIN}0%wQ%y!|h5*PojM?_PqrkqIJNO;Tr^3qF!sBhP%GY%`zXd!u$N27mD_w zSY1?%1)PIlUuKj5PEXDcj4z1n#4|$}DL#pdpAJrxjc7S18*tJ`lSr$kzPZnI;`r^) z(a?ZG6W>U#uPRu9?%C8ugQiT-zx`LFyjm(*= zIS+wV)p-n8R|@i3>)&Qzu$aJ;XL@jqj&(FTe>?IdezUh~K_bf9M*94+78`>9qP)ss zOrn?_qAopJ8Ulk{%?k`kQl;OKUw(aqc@ND=>FFv|}E>3rof?z;;8NcY}7VRyKyWXLDhT%+dvt5Qx7SVxn` ziRW_OMpg;RRVM|_O-Y^U*utnwcG2UM0Nc4rAdfnQnk`a_dSBP5U@N|u2|1W|e`5o0=vXRhLOT^HNp+tVJ;yn*TW9 z6M=JlGh%$DCunVxVoe*mbF(lEW|(;o!6e_+!s-ouyUl1DU-Va$s5@xKi_CAodir@B z_nAtvY;MNtcz8^|O2ZKoI#!Amwr`f+^l1&#DE3XstVl4HRW%-4x0~!WB28^6`g z0@Q_Xw3Jx>aWq2P;cixz&r6-HvhxG&OOd@Ly-#Dh>paEpx+fg>hU!1ST{*i6;%~qS zpR2SO9_{H==J;Ee=5Ej3CO|!aU$J~z;jZ*ubQ-`7C5OB~!%PcNUf-81%g?@f(a=0h zvyYPJpMml)``XeV(7;rMrg+Rfm&CHkP7{wP&K_N)LHKH%{!)`9&w1tM>FG#Mj#PWQ zXj2Bm_-?{;>+4ozbY=INCI!gInKD*>S(`2`bFZDtxkNO0(x+`HvfsrLKnPv z&dBB<^(}k!NWe6-ROgT*EoYJm{AMg8WoI)BxDxv~LbSggk#AmyCx1=s%t){0xTfdI zW)`S{G6x-nrJ`Q4Ht<1*I6+!z%?h!>XqQNajTXpvrGI8~Y;VgK2SQD=BFZSp@b8V`M1ujb zlP(M`tOMXbF0KJc;Z8i(sUCM{6jf5;EiLXyFCMbt&vUO0sfLQtRr5K?9ad8CdP|0zX+v_sWSEi~{_oaD8!zx9TWRm}_2*geY4p z5%?D`Ts<3?#UAMt@i4dDB1Df?!axKJfI#Aj>%t335ipU#sIw$uX8CfK@z#odBd$+Bc-K$zyFO z7nL9{mvPkGyehb6;}4?JZ~35~PWkX-prxxnhWnjQNXRlttX|RNvAGSd4%j9(rRTPA zESRjBueOTVJGHFtEm|v%p5re8_;VYF!(AGOGv7D-41(3G;nQZ~8%^NWDbEBV8uM=I zFhai1K)s5SK8eP+u9x!+T~QWaL)2;Z9YzT6F`WkShb}koq6_+?bBT~I=<7I=pmu`D%>Gr^J8LVSfHduB@o=?j z+llAojG|qK27H*<_-Z3t7#V-Lyy(N#L(M4qNG?~(BP5xWJfhvS>yty;2klf(zd3pr zE6$i2dmEs{G3EeYoC;PgNnLtY1TY;bQbYeMqe@Cg zu1Af*$~Q+54o1W%+E^_NDZSuc7c_Y^o>p&cu%bW-0rx2&=uUkQa+s+LhQo`dOY-D*rJWIrKAWP0KFwY2*3sx9d|ecMf+t8n&N7H@I89V zFt)g2Z1nJqbHFEi_$@*N8Tsd$z+SitQ9YYTa6!ogFAuf4P>ytt%Jo;hIE*1-0LRH?X;%i^5 zSWMb>-F9leZqjS*0SUkJmv{~ngb*Se_Cl-7!?Ly^VnhDY3o7PkGF9hj9zJE_jZwkg z;3vJruPsN4(#kNn*Ti`{!)smK)x&dlKG^xuOx0)cGFkmS`84#f_|37oL^0e@%^Ow< zCQ2p(QSpe>E9y0+ww9)dyd0M`j>YbxhZS$52xb;n6r^xbytaO$_oV&U1s#QMhP7rE7ebxvAPujA%ICwJ$a6_uibgc#CHJa-GA~32Ir&gk|692 zCH3@FtXaWzjEJxJAm0f9eYf!RJ5ru>Cqy9~(I7{8 z(c6izi{&zsu%m8VAAFV~YpF>uRW5;vBx!BqY%IC{co$uy>Kn#I`8-6})HySxI+n;c zXzOB}sxnsm2CE7sn|CA;=b7}mM7RsVcajC>b$GQ5xd6~-`u)3fJZKe!>-dh-D)LpFw z_-7oq##S!lWwNJ@d~aWiy@xq^ccW>C65U|RFc_!s9q&9eG9*pZK9P(tApfpL8I|l*4?bWAV7{0|?K&xqYpq`6Jg4I&N_d-!$X4jR%i%5U9!~y{Hz` z*!tL#xS^VMhR0k@eS1A^18bGc$nnKPq*v$VP*EE|F!eyebPVHNj=sytEM;Rw3Dc`^ z3ws4KjJY}UjvWH?KOF}cJv~Ja@(^ZejljlG8QLGXX}&X+C#XjPe1b4H?{Q@4Lj@rH zIg;l#)xUXlG>5`y2x<~A@B)AcQvJ_^vTJ0(Cwcs zl!0NN6)1`eE(&d@xs^wuPtJXSbQ{u;((8abxw9%Oz9v@pPMvJ+fHf8Aru(Z1+Un|o5% zM7&IRY8M?wZLj0ASaTyi0?{*nY)v0b`!S2{wBB}|QUD>g;7?r%hDdl;F;8dw92teRRFhdT@qg7-PYCH=- zwObX=CIM1ArIBH;z$M9;TCPXnT1XI9RW;(6(g&M3 zeO#x|2jh*ej0Xr^_u={|3uGoQs`!)-OH%h+Y9G)!1*!J8GLkpOEvlI2sP$POxQwoN zpV~mq*tcD#sU^tfaKc{l*H#!ewScT9*9>a9-H-|L#OdaOV#6T~n?;}%=~~+Ntub~VZ@b=q)pwuwAVKfO ziUE>uo)>uBuNC>?*?E$Akiqfpmk50b--&nZZc!U~VSa+peGpdQ1EJp!z%^#ia@6ZF zAGBlDj=|WIJ`v1Pk{(eW|@7Czb4lYNg5ar;d~S7msNl@EJd@zL0N z^9JC%RDRqgWd+aLy%6zw_?0zpD2+2EU{hC`*eyxvy$IfHWrIgI3mLx`2nNq{*Uk<(CiQ6!QYH`OZ%j z#(v1x@5@}l9rLnG$)v^q;tF*4Te8V8o`iWCR_5%gyZb;4LL|yo-pgFc^CKjRUwV>$ z!}`9oTnxg%M2%m7Wbl|zqN*3LnRJ)|0TSP_zC%#7ojut_$wR!*n|nIp=7c&JzTSfb zFPz|>q}r#?B&S5E066;YdV8y}nIK9VML`e z;`F6=%mH^JCEfPN0=TeGUsrRC61f4O^>r^MWlDroS_du^X4 zW|xkHVS*oK6-~S|b<{~p-7Q-TuuA<=4>z@0c`2@V1bz3TN^9M1_sS!nTjPej6$GQS zeABik^vE#|?igRmfuJfwn&eZygeBK**80ju?EaprjDYg&+3#Ec#s2DkHCl{uVNtg6 zv#aEizQ^qSj;TeBD4Gnu>Pjj1oB_`P-<`t=#VAadA@*XB!MiKb&k*pO(|i7HYxZB| zTf@7n_#|!QhS5r!EN9BR+q}#4UM3CWz7Sjf4&;f*F`lGo!^~MeOUAeDsD9PX~RJ3E>da#=uK$xO?)T_!Pk)rk^Rhm~ig}evtNaCr`0lK^Y zsG8y-c789A`_7meP7-i>z_}eXnUmPIsg{?W>Njy!_1)M6Hb2LrAqh2tpiOrUV+$Y?0Qa0z$JdW~Ee#Ic{Ec zL$170dobV!e?Vk>Ys;sL4bR%?btJTeHKaEbNX#FUHE54F8dTQ^jg09X!pyBst}})d zifej!9;VVN6K06jRFP(0|I-gXT2R?29=3%^&v1TB3;gha<-K`)kz(ptwMp?{F0@OC zzK%jxT<3Uy=axYK1E-z%?mtrijKh(+zGWXDNii@TDP46mJ%HOG7-sFf*w+E4zq>L( zFb8jBu9Qn?jiB|8U_z2kbJWx%KBfiUK*R~R8O-%ZA^+%&MhT<_nJ_0)rZ0g+oTQK-&eI5)4I@L78WrULW_RdkzU|$KEV1Vf=-M}Umnn541 z1Kj5Id3(JajrFS(Kd^Xf=-u%9L~wtqvY5=3XgZ>uoAe?(U@Di*z8-!@r}#sXnLuW38bhK*;poipCmz~*zi+-48+nfdK;aDao5~YF7xoI}Ty@7#E%<)( zN(Nrr;2q)8Od)>mw9Ii>dEZb96?%=k^80c+%uo8=JSB*Z#Sqy%BegS$gjt$m*tB#I zjGgNq(gBqk@ic~xAuH*v4g=txixE#P(X4yJVJuz-2fT_ksoON8%kxK+)L@{+*y#M_ zHWu#z9rssbO`V?Ul=}J&bA!mD*NBcXJ{{2Gx0cHxA@5+bOT;dN)uo)@@^;k=jg1nh(ebe%rha}N1J zu$nBwei`%tX88Q_;T=AlxZwx`YuG6jKcM=*0WfjH(<72hG*k?@XhT=v0(yj4plN;I zIbW-R%+Q`3lS#=}P&frAm45iQhi9j6bDcqS4ALO9Cu_zazzGlXmF7aPY2AUEP{Yjt z;{VxsTExyMP9_QqNA(ziyN;Dt2vCkB9oR*;T+T{iek+Ene3X(RD;{R;hHye%2Z!B}S7>>HXYWK?`X+eG6m)fRzWj zpq*t4dC(F@Tb>Zt zLFR7z)+J!=6IAS8>Q11%SE)9rg+blhXz=_%Kn6#1T1FS}Jd0S(%2~4uWs87;(XHC$ zNArv!5a=Q(YTH=t3ZcRW!bxHuHk_^`9xGx*uu&+ud5Bp6^3ankCD5@`M8DA%&fP_0 z!Af+jS5mr*O^&<{m}Cc81kOiZxUFXhn8`y6-nA&e1X>75-F`K;s`y;)aKc;<2U-RK zDFku0)c*c^`{`2zRSB$GdmY#wm4eiLIUyw9+;o{5AL3N?Ie>KJQW>V99gP;BfG`HzhDOljghgoctf==Kt8Q)OpU=(pAY`ioF9$^ zP8H7QjHj_6kGQwT&_h27f@*cen+X4&WoT4OE{cqUpXfLZ~|d= z%nM}ab1+}6NVBhE1l|HqgqaKCo7*0`D?0kW;+9aw3PhWqR?nmO)2Ps=LeK7S0-6Y1 z6i0&VsBgg7QC-{ ztb79&WEK8oFTnb4&KJrlkplg`D3!1!p0$a-0c(*DGG*99)IF@h`S7XE79&fAxP3LnvcyEnMXlB#!zU=d#+SZF0nI!WNyudF zMZSzPBb53OeFy}1(kHXO?=DClT#p#p*{^M`_J===L2(d4A$JN1VKc7q zzk!JGw63iYxCB=<6R-e!u6waUW=h3y*#=}vNM7*OfUtVa;-yOB?|}PN85^FRW`9LR z9C{ZUt})`(h;jmg7TD24k-(Zd`&K&6An=+gA$LG?5SO}(et+SKz+LxBut-Lxp>7%$ z`F&Gj_qPVcPbGl3FAK^?#Jb$X^cOcO+^pKpZh~cg`wK(A4k+$`AuA_wjozJwo?Lg` zy$E?g-HKVLn{%eYj?M=iJaZNJq4lesGb4%fA>^5a@`Jb`nyE73Xpy{+^COD>1X8J> z5PSOw&Zl|j#w~A8bUrD6ZhHk zE|$hYQame($j;#tNBOh8I{5;ky9ARlJ0&?qHY4g#aJQWaV4(p<{o?K>d?IpWJ}9tO=#~20rwC1Ocay zR(s4r-5iYTH=LbOFA0y{Z-We1?r8 zuQ@&W2*?2^6})%g=d8qSPQYDuEUci*9BTrr?HrRL(<1T^*y&3ok<;5dhk!% zP)x-p26v@tg!z@OaMWC;kUMW?>QIyv{GK07v_D86LmDqTc65A32?-%DSKB zk3B4FLY!v3IM&G4$iQ~8VF4#s)7x6Y&O(0HsMi~Yh zhvs^OaXi_9Tf$a-gMksOp~|xjecJbtx;k@6hkhw%#2kOM)wrO_8I$|{#aWJ%XS#~s zt_-ViXT=VdYzaBOSy{55FDc3uj#*>rn8#X4p(PDkdu+pL=OQhHCrHASagFXVZ zr5={AZFKGy>?*1bE+>fEcLx>bM^MZ+C(X+z!8^6YqBs?NdP|B|)}fQw?T5yWvh7%m z#aKg|ed(fWsgA)AE@LjGFqtqz~t(2DbJ$p9w576%MnN z4>Q==*2vqntfdrESS&8a*C#rE^(pA+9lyTvCP67>L1S&}{_$H!MhK3_wB4TLvC$-^ zYU{^v0Ow}$hnC9mkoM`%eZ`$kChqr2jka>8Gx~#)3oJ$74t;!mwCRyhDSJ&*uD1IY z_2Y7GY)R*!N*RNo&Rln&PjP^qyQka1iG~M7gI^J24wqK%g^vc=sm}>NL`KAJ&lVy8 z2YDD1Q*ZG!^In}5QF$Q(JIUcK?b*^Rn!UJQ0ylP!PN8q0HjM!EozHiVqBokopobeaXqzq=PIcM5G` zeP2ROE+Y*#jfk@x+C9G#n$hBH-CWE{tf^dm*Ds{P?N~`HvB=C*<)Dz~;pYVxM!e|L zwmw`My*eEJCP)2bju*E*_OL;!Z9wYWOD%&`k<1E*t!ls2!fCCo)M1tCj!OtlcY*Hm zM}f=R!#b>=p2E`#Vt1mP8@eh*@btLtEax*P z`_p=wJFD(G7Hc<_Ja$xe9Q>NoStU_~N6e>+;5p|vvW8OVWh9pWCiKp-CL2AAe*@@40w%#at)`y295w3WMjz^zp*F8$LR|G2`lgpZBb6Yfi^cuZ?u7*jh@HUn z^k!rUx{4!CmPrdXnzegZcBeU7YefS#m&!R1@59hg_Cg)bXV$CW*g=g{Z|Rm49BitM z-YD8p5o(-tOHL?TU=p249o|%A%`-2{wTbRPg!fX5sWorCjTowKvqzwnbs+c38p9)W zUY_Ao{n3(NCulg7UDl_- zs9mRoU1yDdxY0SZR6*X#xcze(=9Y^?nnn5Ot^Q?r#?-Krl`;5|^F2gkP0p15kW2OE z2FjUXx!6wh!IYK%Gp8x;y5ZO5oCO+lNdlRlKRP{)aN2Na+%OznEh?Ne3v7*&b{d#- zsG6_JfA8LA@Vb_zS$NrnU(1{`meoz?w28ImDzbE$s(boK0j>kT>B+v*m2rM$npw%z zykvK+H8Fe+aSi^tbXjX&No-?oEiLx{koE8JOuzphIPQ=XNs?4TrBY4{MKXsRQW47e zT!aqJ!wfT$oI<_IDQxJ4oKG>#=-?2;2szBG44cyy+srnz?_TfQ@ALcq@%?+x+qK*F zysqnhcs#EAwOfg^iSFP{ftL?^Sl7|Ihp2l1lZz3uP%uTPSf+pLQ`9h8)_s=+~A z@M*#3it9y36! zM-6NG6PI1>*T3HYxIw#TRDFvU?qmkWoo5c zE8L;pFw86?WB8hiwy|Dz$RE{Z%Zxp#@-c+`i8q zM6gtB+dLN)Fv9iRQPm%@=xjTKWa*-M?4{PM)CQmdin&mz!gi~AU5T7s5on3kolELo z)-0GRV3Af^l=|!0rXOz}8Eshs4~)I*pImbavO~m-UtrL5cavl|QG1fxG^1lQg~MI` zH?Sh4qT0D~X}jwA%c{G!K$}I>vrFYSsL&+9)`|808`4bG%<8D}8PX69M#aM9m0_FZ zJSRN#56||aPxC7I$u4i)XP|`N;EDdzAn{Lp*A--O-0raI>WrxF1PsROU}t0nKHfGq ze1H5y?uZw5*oBmU-kYDv(dP;J8?m;$U=K|VW`j|=ErbA0biwRmbaz)SVbDjnYscBr zfUo`5<77;gjza$tjxw?8^q+I6VN8>6Gu;T@4RguHfG>%0hyFu7rCAIS~1`dtzQ8 z2O#(`&oaiuJJyvJW`wq71!}vKnIEy(Sr@(fE7s+aUz{QIxs5?>f3SLgMp^g0;h}d# z1I9!QYIVg;cXFIMNo3JuVpdmTckDHTmXob`adrk!OTa_!a&T1zVcZVeX(6dQsm=O) z6b!hwxcMkTx~`;8(JPfXG5#@9OEV8P{f7?^*n!=c`e_UyG8&QDy!#`Bden|6Kz zeg21LC^~b_qTPn)oCcL0FB^d7asX4D_eig1`1Sr>;2`KK>FAB+FksZ7F#Vf^{Ug}Z zrsU3X&=K4kSY3$IkU6#4vQfQz!?EF^S9PobvtwW0I0w5k0Hp*GP_3_&+lS<5<7mzi zv99agiq$_66jl_8x?X{0fsu@t0!B#%i@}* zs7yoIG}yVmWvmFtqvc%rerTtg6@%b__5saP*YgHxgypL}vrdy(kKI@7-y_`vBJ?&M zqW>S${{kz%C&*nDlFfnX&@$r8jg_`-hOpdf zqv+sD_}q~0+6M@;9)}TsUfE9}G;Ac~MDGe}*Y>-uZgO-dh)n-ALpatZH-CjQwB@K1 z=cR+4CNlF`wXwkFe(LZq=&q+Gd_=dkL}8qkz7iI9WA}-r!CT1;gYB_^8EIx~Ez2fv zGb<0m+RFMoAw5g~?3q(g*xJYV3y=L&!D!3xvcQhNXwO5qx*ck<)gZ||uT*B(0>o!L z0vU_=e1p(jxN;x$S*7y$Qc(ap7QdhiULs~1gjSrG&zES16nV4nV47H!`1{sIp%!~M z{n^z@?>J>QW!VWMn2iN=A@I9uF>es%y4sEydAU_#H0@vmy&^rtXltwpQ(Z2@=+AUY zhBq^eMqAb|``>6`rvKsSvqoDhf~cP=f@Ntzvfpv2)svdkd?quEwbC>ZJ@dDRd-@}+t8p0tNJQzPK{dWAGA^B-y41-?zxUp zi}wu#)6>9fC??p(VC^tyoH(;P?CtrqU}np$r_(I}lM|RjL_Q|Yd{)427|ceqLhKAk z!&s~ITI|Y_A3D}~mx5>M(4+m_>vFL+73q)su&LZNXnw>4@eS20*cz|hR&P9gx)8J( z2l&;TQ?QXVf_$=R1YAx3R!9kW+P`> zV=+1Tf!R16oO*2@4DIfukk}neMMBFJ!rRbQ9SY9m zZ*~q@b98k^-LOTnvoR06sx8YyoU_hhI>tvN3o;d&mp!_TG$%VO)D$o=wJM%`v4MFs zX`sk-R`q#C$YU`)T(WUZS(>}CGnQ6ddhgch7n%<4;t4p2A&b z@+zvmpNUkL_yGDLdtSe2yah!0cu_u5qBed{T$k&i@{dE9it`f7=mZwV@wgV=$%VVI zZrmvUa3Z@;-l&`%iiwk?`8+#`m?IhQaBE&y@^3ogLC1RRsfGOUwrO6R4Q<`McJ?R> zmL9KgGp6^p*?-QqoS7iE-QE~!PI_azE{4nbv2g&Gwe9A3b~L#M4DM=Cx3~g$8RRq# zW|Gp@9;|~~ol0|V2mOU8!`dWJQ4(B??B}VGxmMztlRD8eY}>^ z3sPx^)Gx%&ZPbxoJE`4|OW}H6VoSGfV|#-2>XKJ(v^P-Fmh!*AQD1hAZXBy)}>-Q%{(a9n)^?1i1)B-@Xd4N?%?Xl^sc>y$*qA zKEDZ+o-Ql)tn+yZzMPXwT%i)C>}+ITbQ~Kii>IWJZyDBmOO*QA}(M`wzBLX!gBz95q}{5k5?N64lND1E|gj#8eRVJOyxf|Z#n zo2CX}x3Z2*n3l#|E`FEb$&85_(s?4pHX`g^WBk1bEAj_l7h3K${{HsJm8HKWT^R`p z`&&!z5AM$6Z6IorcOIc09H@NOgV9IZ%Kl$30P-z73pXwMWS6!tKMuDs{^S$V?trF) zL}u5+LayV8Wa{8T;bLRdRP|?Xk2SVPU2V{!TC0!v)$A$l;1jfyD^t@deRjtqpXW(< zAPv{tuaewbg1U)fMHVdFKMuT82KEpQRHIVsqu9VuLU&2Whe`aYwqb}P!RN*r`)$Eq zWSa4f z)!x?@0Y`tK_%V=7h!%ex8LOZK*4!z?&&5yclO?&&}e-1#NP_(ML5k+j$aT}REEbobx`GkKR zsJf>Arc47F>EDaAE)Sx$0RII?Ie)EUuP62Lg8Jzx0lT}D@dL4)k(TnpnI zE>?HUJ#Ecp8=^PVG^(xIG@SlA{9S6089nTh_L#bq$6;!-_UO13$cI1ciAzn--o0oa z(m|SS0dYX-nX*qBO_O$*q>!_nD3j>7sT99L%Q1Irx6*c{Vp*XWjrSY7Zh6KakP zFU5k3hRkktz>mL(R;j9>y>^y6(wu$>Wbyg%fq@b=@|!R6M+?x0C~-JuQ~UR|b`D6p zwYG+8oYOJamCe{V-5jwFHRIXlv=7ZOd-mc5sBsOpF6w;!v<;@-Y`iHwN@!#~UnK?a zsxltB4%&)|mX7^+x-)Su@q+cMQ$N)Nl?a(gc=JYjG_Dnb%Q3k5tj&Rs4Y0wDP>_JqDk)H~-_VI576gULS2_ibCTIOCsJ?3Z)Bly#9aHxZ| zXwS>tw%xVI2&`$$b?{pB;?(E4pu9j3FUk3y2wfLyi3WWVp~G_htbNPcglqPDm&6e6 zYW~W&bFsW5fL+rurQMSXlbm5zey@_TD+=r|u^6$BLd3Z@Om8h%UwV~9u~9xO>a#ip z&Zzw3>=A0T&$~+261{Wkh^<<}95Y$b&NTGGP(q81Zd?>rjtMl?%qHw#nv`Dg)Oq)8Yg*1+%iawa!~e{bOI6ic-14P2aT0_5{zE0AVw(pJSh0uTe! ztDTCudd%6B3Jm5bB_|}PXR|n-;#a1B zVZL|wq29L2TU6=mDBCA>KW>1VdoYmpsNkjr@W3UoNfef8 z)pC|Ncu}Kz33}A8&QC4cBG~461>U0I*HGBppYQ zPh9u%NLflU_PkK44=qY&8vyRMT1pwn4l9Dq!;vphM@E|sM`?S*=~|Q~ukdlj4pzpI z@3b&VQl19e1aP-mF4Vw&1S+fT9pyTUPa&fYu9)jYyX763_U$H{|AJ_wVGe3D1FmF>T2`%lICG%2(j|DylhM;&G5@^AIP6$Om-#cLApzaMSPqdlSch z6iRMX1GBU+bH^uzFHlrt*W!lGWbrP0eB(ymZJXjARzOL7h~JAWO5n3(F9{tJhhgn= zevL!&l%Kx?4&DsQmr8w1{Oo>Fq*zYKBz^poJW$r=rEY(z9H*-l)3F^sHhS??O3i+q zHRqx2qWwn9D8>!%{H3+@I3gjDWr*&pvQ>gj>gD&{=No&dFt3patu;gE!bF1e)AYWD zLZLNO|FVvjXnk@s(7pG|rq_jPR?9ow+tQ_8bo1&aTD;mpf_!#ftJ}ey_NKnZhvC9t zK5a!vLE?`O+T`3gmEmb_K=yzL0;rd+tVpDL)_CxT>Lvm{4dI+mqw{oQJx zPh*U=jLD-5)s6wvK2|LhnZjmjw_ z_uB9Ago}VV=~Du;iZOY&}) zni&54um)y)D~| zknGz*zA;X|wagV=p#8kTdlAJ!1pv9V8oyz75-%E*J4@_ZcGIQ}#x9QrX!Q-35LR^+1+`+WDeSkO0SZ=8^o zFYe&ZFE@+R1xvwt_0dMz0g!&?wY9l9N%25ZB@n(Jd>FL(i zn9b*vXZ|@z{$7-@*ZiMgUz7k$?@7$Lt)Pioe|GRFWL1>T6m7wwVfET_dW=JpYXfoJ zu7|}hd_H#Q%eA$NfUB3}J;O7<#+ZAGC&z3CRHcEwLNOe*V|MtM0r#wLRX(?_^r5E4 zT#=9aqx;eVVb73xD)r3~3ehpvg@0Hub1ZCtXDd$TlS$~-tNOpY!J{-nX1&a2+k!^~ zG6D_0O6?R5z4o`xRUXInwJmH{fYqr#KAK^yu`HXvWa8WnxaviJ8`J}u zQH<7rudyDSx8You%nr`wYZ-v-AUTChkeVi9T)ufc{z&qj9=8gg zk&K2zgK|OOec|~@8klxIP$52>F>D<>@^ogF&k3WCjH`bIdhzxBgJUq0^u=4w0QQaG zrIRa>7o+d*c^p_?`AnAPUPiu09UrA?3b8}@G>;4ShZf^zmdc#r%;%m5R=o2s|LH1t zqtUw+3#ahhb3&MRQ3Q=1y1T7pZV({1Y@uyHC)Z`A6ajkb2_rvUiF}(Bl)Biy#Qn(e zo$IC7PVytYteAIOMenxD&McQ=X@h$siO^!wiw?DM4ejytF08pCsn_(!hH@K*)-&FCW zz3+FF;_>Nooo&Yx0+a7zoYHo3jC7liQjo#biYw}sia@QhTS`%iy$iIj#bRW{#7Xi4 z`sID$6;f&wdH$*A%C4LfDYmjz*FHKpv~TYk6(A49k&V2)-L-THSO?CVoRlC>l^$Q^2qzyu!KYZx)riN4|e`NCj6;b3># zt)8vCjlh^GJFyqvD#{1}hiiN;EvG*(R7`BCo9k}Ih9m~W+gV&a1X`tHuFkm*-PN@8 zn{qCkJxv{X76(LyJZn^`fBJ>gt2Y>G@$h{Od#a9}f80zVZk%waB|a|s_-HWOkB?Ss zfT`r0e`4xuq8pzC*WA@SGgPGtJn)DhlPO%9A|q;o6+W3hmnHJr`B<7{N#1H-`nPT! zs_$Hw_j?(;4arwEc}fdmtk;*R@*wQ{%`-=m7rDN@y6t@9!9c2SXP6Kf;`IwHmsaVu zM#X;1itHqFc8RR+3KGxsyGHTap>UeU0IgdJ%iBWZVvEV$B*^BSbwadLgprxl=46Iu z2{VdS_YCcHocga90f*w-i_iKYYaWxSGym&E;Qj8E{mJ|!Y0K|H`2RZ)KZK&Mj05e1 z&^CJ8Z&Ctt6R}g0k8|B#K+X`+h$CJXLSoKAifuqP@nEKEQp8)2Aj1<^@;8=lSl{Xx zum@Xq!iJCzzE=CH%SIL84>kKf}Hw1G$)Gu?#_jVXm6I=TyO$A8_^V}^IQZD$1CMR#|fljgHc zOF@IeP3ZqzrXKud0=>H zq+3~bbm0GoV0`o3Nn8+r6za?Js2;nclX*SETC2M6>7446)Qf+ww%BDAf<9r&FhyKsGR^!YC6)N0MEyEez9@-2goXI`MZ+qcct(IBJW zQkvB}QT=#$=kYqPMcUBb3ANL9!p!;$FWMVRkKyJ{{KJjp^~P zhCGq#jr@Y-2gcoR#K^E}!_e=FwEqEDv?R^DiW8bkg9r9naDX-7$x+_HI?1^c%e{nE zumdY@qYLXoO&`&(VeGA>ZSmIhxUOu0j9Dk;j7AGbju zc^Z++3|8L<{Wr_UA5b2sQI-D1bYZmx@pLfUKVO!3D?}DrgbCm~(G@Oa7TYnEX+TfX zFb{q1N>A0;7iMFYn@<{vQYm$VmRR02SmP7Ma@l;c_Ij&`)mXLVLG< zvlDy{rqW|BBPrVe&kH%CFlECNpVVZjvGGUPU%sd_D1PPsh7^d(A#ie0_c?m3^guD*#ixJxdZQfBQ%as5&|(>MLp9pn*8VjIz2KM}8r z47;1aeRcr`V5{kxe98;1y z#V;cV+KSK#2M&@G4u$IK0bMGy03B=S78w{f=r z99vhi&dIL?cXBm|K#tpn+@JNx9R_G&-C7&w>kCmhLVF<~iS8bd%g=TAhCcGs+>6{4 z8>6Rg7NO_$9)#^PPX*uq#%;7eLP-2X5hHp2YR3bj&!)+GN29c)@pKqmLw9L5y=kK? z#B)1QW0`RoufZ|kBa$0r83NCT`~T~|G{fb46_WI;Ye3s3ybQMX0p)3Bq?Z|(a~n{* zP6J{L!AX3k*ntye)BlQ*6$b}fE51RB!#Q@2M&vjbrj>Cnw~%>xN#W8T1r@w!3dtNs zI@dfma244!98nJW5U8;aqz%BD04$Lx{y{J+(AkEyp)kvC;&MEtu zO;`t*U%7- z%t;Ex;(+I^==-k-^9YJ?(IGmU@YM%-^VleiQr>-A&R~51;qlQ%H`A1sx+i%ZjUD&v z!wSrWi=^)E-pcim^D`rsqPphlJ&!*-kxLW%y4)uQnik~SNmHQt?nWAeK3tscG42+#dT zlzq?t&hjww4B?JuO^QibggHjk4(;wL$zm+#JGfac{jU%(+8c3lJ;#8tQlKS>22_iP zM!Pqi`duYi&Gk+}VfUCm3YgBkwy8Wvw z!NfS`K*l6H2F$?Cqe&?WTDog|GG^Hb^tjkGmcCNj6LYy!?k4`|G=~lgVr0Sn3c)nP zQB?bFcs=V z6@^kB7x7(e2WS%NMZNMx{nDUMpF04LMYXWvny}{j0~?h8@4ugYVNKXDOnV*=-8Tiw zGEMv28zJT0;qVQb&wqhYvRRY+?-|1iq(%X8WdX5Azcu3X>~(DO_s60V_Cy%JGlG;H ze?2++YzTX5XednSTi&bgD(-Cm8M*rP2n=`dRm&E5FVyu#)tq0nnu{rX^7itc;pmA| zv)w3a>DfuC^$b|mDN1bj`?Ug})~Sf3y`N6KkxTu8y=?*KTcEbHfOLHp>n1lxK;t=B@)Hqh&`qeh|k#mTKO4?+?JyY&I52wjgX5_e40 zoa9|HpSRfNLiK897608~eo`cw7>4LIV+mQjlD3ocw|=*u>kU?ZHM2)&I>_5?w5<@3 z+pL%Hh#)J8rZ7{)G|51m(=+kV{b1mfzuKZDoEHPzv%K}n(bx-ZZm_!?ymVm>vZuSm zq6U74+Guz`+ew6XX|_;7H}_g&bCKM<;OY}dk`tHOxQ42l@tZ{PYpwhO5aF)_V?|DC zbSAkYpuT^Z?e|B6?ob*10-O4&$&y7mVj{2fVH zZgP+PBpIbE+(jnM9c5)WYYetIIbZzX??S$%W-}$369i@(gL}d)uS*_SN%{d7Uo_v} z(O`d!PvrFgGIQemJloGa8b=6F} zaS7*{vfT79>ewXp0RNQ#I!L`usTjZyL_M3CD-?ad%fqi&_M&;1-Il@m(zPba(oRs> z97Zi16-+lVwy|vEyAk7YV;Sw<9Y==K1HzH7W0IWfD(6{{0OAk}AI8cnfTt!rVuHv$IY)^SkfB|Mdc(RMy;c;NX{WOdvazo;2+_ zhKyTex^a`Tk@@L!NDezOW>YIGuNL4 z5=9sXXAa05Q!*3Io_w+)CKRR^q~!Kw?y0-9cMe)&<^)N19)dfrDE{xcm%yBGBkn0v zj(oKqGmUtx3vg;D!ZiCSP^Rk+DJeEk9;acbF@n5nwu+R8tUKW9x6+@i(_^2us&4x< z+O}+@?e|D_Ks1V}#vWY`WcpM-{CX9*E#1pLJ*6y!qt$nh-#!i0K-U^MA|T^l)ry4O z2u7l5UV@=E-p+{IL1+=7t2o*zsMOWI&OhtO=}W&-%`=J#KHfPH0cYX|Wzv7ehuv*b zdhmuX3j`Ct3jFIc^N+_xKfx8VUw+CCjR#(c-*!14FL>q4!?PD4?Z@OvDvj?_dTzvP zEKL8~d2#Aaw(Omr!y4zz)#o(=`*S8M4WaWOI1_?k(wT}6>0Vv%Dm&gDdu@rnGEQYJ z@3JBD%Gb-wp+anddwV3!Yirea+z(7$O{p9`UQ$21w=sJqvby8(+O4U}T|NhdLuH80 zS(S+#*}mFE&sUmu_~dDLoEuCXZQwBX7kUl4jojqL6JfBf?c>F~M#+0H?ziqD1sGus zw*!08$7AHpdc|dEUgOoSE;!4XHZ?wp{O0o9Li3`8XY4V|oaufegL5>?cCqc!!JDwXe!{5+fK|f$!?=N86 zUy&c;4Pj2aXlDiSXW`8uyovl3S-|jd z3U%I194tC|GhyC=yfc%_LWy)rpXo0oN#srKlAj(9FT3Kk1xI@4P@a(HCzj>&nor>? zM@$vMZ9g>^p_a@fkD!A{YID_-F^!?hUozMJh3bDAzxjv~-!8mrNQDTm%H$LX;j4#9 zOK$qcq6`SGPaS;3v-pN9l8{kckf8Ts{)rv@a*NFAprpwOVbw^HQsHAx$CvNwX&l2T zXgLX3o8JsMxPFr2uL5@HSCeF)v0z&t-(FaHDN(GrN2L;NGcOn$@o-mHW|WNw&5l}4 z5PN<~ivjO4MB}>Gnfnw!-h=;HyjoZv`2F3Bfu3BPQC;x6u%MG`4Y4HUpJoYbkQZwf zfq#1jHKDleK)j*O*C01J%4@mVo5vMs0!Oott5oOTCuAizH>{v#7HZoDyYorzZ_(T=yT{K0mGsZ zVXZ=R9PAN02f3kYjF2G{)TF<}5|+EFaB%ocOP;GwDttl_h-X7vuxY7N;P^ZhijC2Brlw52xOYsaAxvY&>yid0 zFSSKVU2N5E(6~GEtHgZSUD>hEkrW%s+qoQ(GivZrE=751QdJc z%SinMNte+rn8%Dz_(z-p5hhiDUyz%#Io^Nf|A2oa9M+*6z~Z*|4;E~7l7Il*8MWZ{ zQHgTXI#8uaw@dYC!MDyjZOh1JU(xt^HN0TCe%t&OJaM*j$y8US11c-nAqf8L7Yr+k zh-sP&m=nx&3i13679iixm_O4|IW#k0BtvTcr}HcQ0-@cmMEWY=IAyX6O)@43@aLtQ z0{scmGa;%u#3_=}a&@v@a7$b8lYbTMA0n_BB-^@Ss?QXgLMX*6IFM!XOg-tP#>iOm z8##H0Wo-UzXVo}@_oO8NEP(&LQ+p7|T&2B{P7MC`~1j2$v%W2E_I0~}7 zpTNA8SGaIcQ{+D8-_DyS1@1sgGxuKI@!x@$_!dOD6lWKFN(61O@JyYrlNXownY|bo z^xX=)pU)oXI{-W#TiI(fI{Y^|;SKy)hOOwub$2M_+-Ra7e9k`5pzv5xeF9ZkP`dC8 zkuxjEYm;mNje#2jd%33*G=nfVy|Qus{65D^A>X8Hn(7ZzAV!hHgg(IA#NGO~FNVzf{2D+#zj<+^dH|%rNo0JS z4|erBf-PE07TC%4KWN;QCVa%s!Ak;A@?{@zd;AFKXI}epJ7TkgH@eeEVHPQ?Y}UEp zeBLLt$s_b?@tPe+C9ixz#gMwXTT)~%7f9qK^uyMhIkm<-T?{6V4-4LXy!%6sj_mdP z6|oc;8%Y1GX=uJ>Ok<924;u1BvKqKMmI%NUytY++&^j) zr8gqr;gYKaRJdF({CmWHQOPoVKc(ie^7T5kSxAiU6s3#k<1W>XJ(-DQfAwt_b{QZ{pBsx)7IB z5sZ428pbRT-d&31Jq zXXQxKqlqms-m>tUf&2QcAB~8u?sK+mi7Z{+ zz6%QGbfr&1s?I68lxm0gU(o*=>N_@qQ$~;_NJMu z+g?-R95A#(xgh6`wD6IjpAfk1Q`=?@T;#!;@GtLvqpB;eTgS6jVQwmY zM$5rLTPM5vpXc3+oF4$>UauaZWDA608s8Dm!xSaCzcFi!0ZIn$*Z0y8>dxMbAqCU~ zpkuFm&7ai%4Ep8tXPQ!2nw9!|e#P}&*DB&#tY^>WB)5fhZNo_BaMIcemhA)EZds}K z*l~(EG>Wx0;wJK(M9GwyQXM<4eV=9uc%c_DDmkY~BK=^FD}c?sudI}Gp>YT5GJ_g?L zKK)uVD~qj?b$Oz-uKpqkhuiE9LQ(~w3V^0YKJm#S><|zxZbmz`X__uQ_7OZMSasS? zAF(7|Nvr%~qiIHxV{Sla2m{~8OMK1C>ZW4Gv4xzzaP0n3Nod`|gp{hBvC*HU>%#Ph zF4li%zHV-NATRq*?o>rY|6{?u6$Qezxk z-09Z#@f14y8KcXX4$1$b_u_B)ZRIzIt7v|>`S@t3BBnd(2_fhVl;0h4RW~WRIi%ZV zwhcQP>uKbMG};Kji{@;+mz5Xnu&Zodm~%mYnd@B^_a4G~lQ@WH}AedC^L6GP#k3AZ$Fhk!J3Ah_xf8DD!X_ur}1sN*{ zMBSv-X;F)jq`Q*EG4~k5j>K=@488;k_OkLc`rB;ZiC&-YYBq7Cpqwj|AroG<+tgGQ z4|%2O{;Ys`2Sd7evw+yb5Z7Z>J^ zn@0$bAnwJvqHDRU1`R$Mq{Kj$^Wll#23zk^Df&*zf?91Gn|ZZ6fu|=H4&J+_ck<%v zTuzdJSEBS2e{yv!VrN?Z{8wm>bc@$<+!FMf_11PAiQ@9<*h49Pg1WkFol*`r?F!vf9(32^_CE?dig{hxHm zR5j*_G=v2Ib^1zfm=C7u#rMg>Eh1tBh<7tGZQT}Ko#OSUG0M12_L!y6T?gtEv-Q#x zKF2(c_HZevxKqPUAv|ztL=S5t+RG9eHMotOTMq0lSF0cGtkJ#{G)Sv6X0~GmONj(; zVjT^xkBYP_)4tljG1_D>kdSFxsE*@=4JXA_0(4cuZ^h-+=OhZ6ZfvYWmmLFY-=Iq|u0vKP0L}9eOFK z(8qkf`VLyBu~U?1W)U^9wolqD>d=$iD61-^R`Z0AD4>A)hV~S$4i&7Z+_bQ-`nkmm z2%7uk+{EljW%XWkE7Yxsyw}DVojt^U_u)wEo^c>$^$=48hhu)+X)-lB+;u2{)WUJD zPhvldy464l$2MfN)o!{@v7Z?sh5ns`@0h%T1+hFIasAF{3DbG}Kt^c2Ae+B0GqeQf z*f*ip{1wB|XB=F$s|#+UUXFVZ%V0|J`+w~;tyBFEWG*3Gr0i;`XZ9V|lwq%4Dt~}D zgnbpm4`vu~ZKmF6!C-9v!kPA&Ruluj z?6G77z#Qno_#2tNTeKtW?ffH)`H~_3#^nJPxTZ z2gbyB(mqxLNl(T{5Jqao9ndb0V+qi|!83b#xDRa-B03qob{8c2LpIOTcn9Bls963B zrp}3 z%J2kzL2mJ~tPX|$Gyd@Q3=c0&3(|3d#ri)^C}#uL{~Wxa`Lz5?rm$AjVUdi@&QriL z^Dj%~lv~EVjDJ&sND0MpnSB*|sQyL6&~GCN+5!=WJK6>ufjWe0dECIwg`4s#BErxt z;FZCVet|4ONdkDPYr!|!qh5ETI&p0i@c8#*%~lCPnQN86Dj#z7{yU<9_s-ZT(lX?6 zKJMKX1m-N=Nz9lKEW$p-&w$P_JAEJemctlqBuAa_{z94y`5RLu z3wPq=4=BHNuO@@pI*5^fIK6PTtT}casG}U^^-cjZq0n-{(}s) zNXg9E5Wg)u2(tZusCxH!rvLx{e+WhBBo#yTdL@K(k~6(39ULlz!o*9;nK=zJQmGWZ zl0!LcQqDOuHa032YI8o#%%RzAw#CLUw(s-xet$ln%kTFmmkYaics!qv+x>RG-tLcl z^yYjAEnM$N=&vztgi7UTg497yiQ z0aeJFyI0HiIF1E+rSf8W6lc#a)wOfJMt7U5%Zg=h|E`pA@sD=-pA~Jc`(Sekd+WRI z3K~T18EFG^IpjYdE3NFi7J~-U^Q*}}KwI*iU$#7eJ-vHPFTts|R+2%j1@V#Q;#^Rl zY=(=1PU%%6OYPMhAy(>S3{r-8$Rhn1XQb-z2sYnml!q~Ssij@Ne4wE}7pvHRY&ItS z6;l#)qN#JhqGqb^(X_kh5nbZk!O)XnsB8qc&7{tS7_U_%RHS(`&xxQAyDqVy%@97n zS!`vw2m>sjn*Ulr0W za&V#`VG(Am!!^C=chPHTHZ>xrspx> zxm6}g*Z4AB3RQqhq>Wz7qdUW<^eA)^_@gBo1>5p0?NdD=`?^4a|KYYQcC~W^42r$+ zLAc24rhV5j-}3!aD92TyC#(v&y`*< z(9DOTT;v4~lv7)?1yX#Z__~pbG{y}L?8d1tly+Fsf^SRm3hJ8CCs<<)#6p-iA4pAT ztWv6RcSD=T2{1dG*gvztCn#~mi0>hs<$|J()&##OwijKUm!G_`>4W}9()WR~B%;NLc5%#JT3rQgy|) z=`HB!Tk(T+Kl;sUpbpMcsEbNj?8^OwAlb;QRfbe2>_)Y&b4!f2mA<2@ab$d!7BEDz z9V^KP1pjXYLL(*IU1H;hZCHKZ4guM??B4Hyk{&*Q-AXar}k({E#m z?YwhA!azx4+8`*?(&hXycZW*oslxqD@6x#}(#p+UT6raby<{FtC~&uFgt*BHq`CKW z$AZU*<9{4&_?(yccneStdELx5elM_xQ5* zbhlcC<(%?4`>}M+^=B0~#P@9Vw!GNyXa_8&EcnjP%EnxVBZKA;%kI{>NZb-(^-hvS zx(Z+gg?AxjRt%55ocoworaSlcWtm94%cOWVWOyyk_}frN$nZ%|&PihMoH%9^DJJgc zXpm1#{(tMb2t?15}wVQXoh6yv_GAW70JG5B`9yl>o%_eKoGERI~I z($MO}hx{a55dH)@QXda<%0qZ+lX4?Xb$g-0Rq21;_^C`k^&HiQvYN-u`=P0}wT?=@=^Ri35w*4Vo>t0dySHN%}y zDv1_fgPrnH)fnbVm=qdu0xmOmR%4^`Oo&coZwesM{ru#k9y5Brv{m8D6W0k(dRpBY z2zd;4HC%Q-2mB$q(bTmm_m=q=p6mY17Mh6`R*)rc{s{V*S!xlDQX6K-j97+~$G&WF z{!oeio~%DaYYLHKfIk+&$kk@Xk$!@ZuR85{uKR2!nI1YNZ0qWGwqX=1{RQSV1T%NvA4RaEeO$!-_!c?1vr=W2>z6{ic7YuD#w){dq7^v zoD(J-N+RE(-eFaQY7F3dwtONyLU7d>zwJW*ho|*NWH%BNP*fc9UlHI(d#l|Sr>5%g zfgWTJ8aB^ptnSHST9;K{A2EU>prk9W%4(~b7OMBU8^5K*6xhsk9$Qf>&Dj`B^7c=t z-WNe%>#Y6Ksh2Qv=ftBh-ER}ggrW0Qt8+G9pXSmIsV3+nXns#AIX0Q8MBTPdglqo>L;?xcA7Bra82(uRPofoD z$@T^BX9wjL@XV~B$%_yA)2{Ig<=Xz;JUKk~_K4mLViP-%>N!MHKqZ@-lABd8hBR?r zQ(Ik|1hmd9@ZzMZrWT5*!#}GVEj1m~qC2qrrNM1>LJM1-32pHAW35Jj=PhNWW4lW{ zNAe$nwwBs%qg1UR%SZ#`zV03{4~d>+fC$ct5s3>uUGU+i{I_(OJ~}>UPOWgmxrM0P zi`?5n+WpZeC%9cT3uqyfUkmBsqpl(Et$jWs8%tF=+|m%1V#e^e=Q*0;ft8|1Q}0+N zA2M$b|B;$-SF%sy1v$1R1cJL8IE8(Jb@9-x_`Q>Ff{m)PQo7L^ul07~%LVh^rMA>I znB_Tb^y$WPce=ECqSp6V$+Snubf6F=ymy4CgLH(8!Qp-XEnUqM9LZG6P$qWZ5gEL~ zG6rh#-6%`{z2M;GXIdRzr(S8%ceWEVpz%8;?$7@ZUH+$iVuKZ(+5N3}HJ@6v14 zwCr=%xy(~TcqDbADnW@oJCe#?I?(GEfQZz?>9-|>?3{1_=@xu@66XtVhiHvBH@1P? zgCCt6F>erf#i4&1mmcMh$2c5l@`XF|wMNyKESjMhm8+=yh34Ao*`^UK@4I6OpCFa1 z&gDic2ggf>R=(C&w{ja7==z(zZH=M${u7fVgimaQ41*?0Pm;8V7Qtr6+DXr!x$SZ^ z)E5Y`*CC($ZsEpeg^8B8UzW|`%2!=Th?n58rYbhbp0H-|46z#cILHS)kaLK0Gah(b zEyNHAMDOz0{k)jm6BV_$gRaAYI@36~BB$JE!$P-D-17v{2;zUfV~ZD=K%nCs_C=3B}Nqk5x*S%KqL#&=qZE^M88#8>=o{s-58 zrOMuhwTc0k{|w9B_x|Vs!17Vug(#h9smP-f>$djyBzx*ncfTQ#8%S_iH$w3?TTjJg z-kPfuft2^q?US;S4dpn|uB!9v3cO-(zI0I)fCk-OO}(8rp&Cy#A3YO&j^p05G0tq0 z;%g;rQsU(M098?PKQS0aYTIZ{hSrBvpX2^bntXj`G5?VM%VbCB05_nB9;2rg2^R~dBxQ$k6r9m?` z%3TG1OXyUVA=NlBB3qD$cEfQ|n~M>dnT+2a64f%Jva8dkNi%;andnds?vh<;N{aXt zL*Q+9g?Mgn)J zjEd4!IklW79KYI?{;mqC*wq@eiP$?Q23NaCZx{s0{r^ssJc-!v&Wh_lli%kC4omUv z7yG4}_uuB|Xl#@!O62&F%Y0Hz&ivW-XkqmWsA7UG{pkJPd|rX>Gj%8WgE`I#ik{NO z0*DASp!`@<&h#8!tM0&#w4&wKJ55KgK)j6I8jB>`vs+relq(x#TP>o)iRmD zn;!izecD~SFZod0ym3gPxofk*uC}|)+-k|Kb$n|(?^2TI@cctXzCT4hkRtKcC1xsn zM;2nXl9b`OjC46^aqE*-Ikev200pijXVZd5JvB{So8!E2R!frP>l|p$D^FC*tz1XN zh`YyzTU_3$dTDhU|GLbr*&IP#w0V$rn?uT2Zq+7|1*>2ys4I@SNLDC~ZiESm<8?ls z{0E<^hJIG|5cdtn_C^`S3v+YdwocKSCHNXg6FJ8$$bWoi zsh`vO{XJQsU@X>La@(V>b7jiMc4Rz1C3Vz)&+i@~BVO{42u*1+Ccw3dj0~Z5Ciee2 z(wHs$CcUzku$`9&{P`V;jX;>fO;O_)2I zCe)$+WjK?!@-Bc;F*AOH{l?sehNWR94Idg?8LXVpLIuej0qkDt>OK^81QZ+Bf8|?J z3<(VE9u&*y#fwR__e~Q&H94wt!lbN*D9wpPja%?qj4_x`Z*G z{a1Z$f;I&92J!c6LtScepzkZb$g%(N&rgaL+W*pp46$;2CM&+=Dwu&&@Tnm8(h+GZ zm)lDswS>DRfWuEY_gaNw9U%!I8yLN#W`GNHj;;LBQaKSrv*i8;o|>OT;QcSzm6~Zv zyI`=(eBLaicYCj{8TSQ$jUqV|ved+;Vas*s%T`W#Xf=ixb?Tn6F0rGFGDNd~m4?dG z+}PR8=51{w<}xQWV^bFN3@~tr6I~r;*(TZBUzaaoqSJ5ggoGmFR$z|#^>EXwqt8Tu z4n}z6B{t+O0sb!+Gr2fw6ZV>71*71!fBtF4?Y$JFK1AR4{qzcedyq6Ka^np~aRPt3{p+@IY_eRN^2QG@ z$~gL~iQf!o+L&&R9w=;a$)AHXgxi=#_i)YYG)Rg1e+AS+ZroK0|A;kXY-2j#d$M|^ zQGFT#^dYSxoza6)4|bCXGu*%9%Ch%tM^!{A80fbf`pF9n;sfhL5funW(%#47PPC|S zf&We;rw&n#U!pB^S;odnF-8?o;>+*&trs%x^5{*9FYdZzJv?G-_sj5PAQFPC`eU#A z`HrYdcEsuR&z?=@d02J@5rT8s3p-P0KT2ih*c@6#8K z|AA(O#BggJ!i8nP`1h18v$qFUoWqb0!q1x(Ii=W?OKur(bgdBdph2w!2GZ6c53n+? zNH8#5tcbG_%SF0guyuw<^|{baKO$`tn8$HIpyuhAdzO6%YE$RR~#)M?{f3${iUoyp{4D-o9FDuyutl50)6#!0H-85c6u<+X|9J%DCH z^Z>=PLz>Y3DS9SUY_9vxko(aEwr8mhq~+Z1(cD`J~6iDeVW|QLmf3k;!AvG`*Z6i zvq%G{=B)|tjNjw?7Cu@C$|G)+%QL{s8M>dELCvIUwWG;QJ%bqS3oTV|$vaCjZ%xun zR9XmoA8-=a&bntb{H<~g{`gmX+t<0;MvH$*tBptr23{P5cz{{YvNYThBE($zlVXy1 z-7oqn z&r+r-!|qJuj*=+b*lv)PBu-E8!*6HCm$rSQ4)8{YU*qssHB}DJX1_t&T(+-&wm)OYxOZ)N;8C*g5YhWluFya3 z{14!__>|GX*fUjyIutmw~@*ncT5y1N--c15GGEaA&okjwA0|<(n(}* z=*%A$1@=Q1Hgqg9mSEA5-#u%>NVxRQ{RZ)PlDGe21^CD)D-p-^+D^FnOj;CwvY=i5 z(rp8c0L@}=bG@o3!g2W{|5 z!o2EU;NlWM#r7eT{_5EJyAt@BX3d{(L#wziKvy z)D2BTZCwj)!C6HVUT}F4-I(WwNnMdEpF4Y1HM+safU5L%sV7|Bd7d4zjk$B=;2R(H zh!cmYFo|C!@+S@Y@~kkjG|x{sSFDeS7d#rQ6L~k~9NP|NAyh05%vQX5!I?YtG_&?p<(b{vvs_ax!;f5(Sf{-{($2QCtHn;BX@yP&2w41!DfJ1AAeT zf63(;`C?>e6^k7e`5>a-jkNNJ$G@I`#*Q~xru3-=PWl!=$xp+JazDk@2O9{T$MhvI ziHz-itZ>I%-2j1H_wI6|MElzu7t8QmbXYZVe5y?%+^IO#jBfvmGg5?U%~rfuYB==CdXz!;OmsmP%*aNP7-lor`@_*BxO*H`-$`l?szMj!&K za@|vK@gOP4EnD7-dSbE~zzvkdGh*HL&1i%mx|d2_&!=i5Ah8R8fPeswkddlY$X=+T zndEP)_6ZB#-wAn>0U54A*zH8~kFO#_g_>(muAV_FB`V{QNVC6OAB`H!$bQ`?dpHzf zK0eM&&fra|D>n5tPKQlyE3m8z&?wC<*P4=Th0FkVv`+`z8~fz>2IXtEf5frOtr`Ej zc4!G@Y5so2nS~5K<hj}H&ri*(qa2bXrbP1BR=YX^4_ZosW88A3kFA0}oq!3R#{0}&u2JEI*%5HztiioFl zN&C~9+-ngEV=mS!R%KN~i$|4VcU*et`W@!3or1Zd5BX%R3()#d14Knn>o{ibmFQ`A z+U1aI5jS2Nt+d?EQ@s)bqUeoo&MQ_OwdJzj0|r4wKlN|xUG}iP@vgSAA00$+CcSBj zZenv?fKh)tFMq|QuQfPjx;25ikEt(f(!P9s`_DLaz9e4P72V2^$Qs0~Qg*iV&$oSn zHiV{6$KQN!z*2ZyZ#Xf2qdOt^|FLy(2cwRY=3`u6_(bpY1C+P_XUnD_$ z;1*6u)10b8V;xfUIT|cwUg4z+YHAwhK@FsUPjV5eUPivLy|04LaVxK->+tEo-v#Fe zPIlMj%gG|{<`7@tEM7cdK?bzd8b78K^ddl>J znknv6ZbU9U`h0<-?^nZvxL&plY~b`K%&q!#r(X{}t}Yn-yNbG*qI#LW5aHCHvKwds zAMek&aV{~zHKTxP)V5`c^V#Spi|6?Z@_0k@ctS8~ zU4w{9OGac{!^GpOETLAYgqGDHYl!|mO^e$B?z7;9CpKfz&&ih9f=W?QKoL~+#1~A} za79B~d5Ecf{-)Z{)v5ZMmUT^btktey_{#f@B9XmiN-|D&^mCvklQfj3#5D!}oTo z5I*WHi>|;XB&1!AbRv0iRb~$87c+%tzP{j3M%e|8Gs}fUpe7I8q(&$Hr@>*FW<+?n ziH`YVXgxgW;j?WVe63A$rFlez(P4kt+SD!Vi+#f<=d zpVX55e;oMsKE#rry-H#gDk|%=ds&V0H^plapH74rf182UCkQkx5`SOJud>?s9XoVg z;#9P$hwd*wK@&$gkLTwe1!|Lul$m#U_X+zQ!8wdMuJ|VU0cRQYm$rX+eRxP>>tB2~ zJKW}Hx$rR==m*p00`2~avvCr?I&omjXk`q|j7xRtG#Rhg?Om0bOzp`#9P0teq}#zg zhZ#QyJbwKJ(KM0b<%lPxBI?47GGWq8yUYZt>l02ULoz4%2z-5~G4Z;3gyZ`nUo6ea z5*&^S0b1w`lK4y+Nut1~){OChG9_V>#Fy;e@t*s^j5G~Y;JKf$w+dZePvL>`=aZFv zglrEhw(cP!4O)<^lOJAWnNkh~E#%F$9`C;i)7Omcg{J{+Y%^pg6K#@+OXMA_auh+O z<{ywflZ^GD+D+U)(J*ufzPud>OvpSuoNZK^pX~pBI?O3b>-Mj!p3qO}Ay3NV@P;6`ieaEVzTT?eTh&`z%h+*dF=Ov2WnmD!4t5^!eEFLd7Ut=!y4M zCs;&Q_jzH$)7#f!9@*A$iqs(Nq*zi{*moV0NbqnIAX zX>`r5tR}MNpA$2qoZ$w6q^*cg)!x)+K_kc=tzC)aNL8B;6 z#pzw^?^5xN0>E{bhd^e3)i~UPcpRG~0O{BI#+(VCw3sws2<7mxGMpS~DhcQoUVTBW zFl_wtd@3P1N2kCUOxkSj2-8V@SQJw}tJAb{Jh-ZJ{mkVm;4TyUW`{!j&Z-bJ4wFy` zR~IV`P~zv(?WmY&(3a^TD||em_aWqG!AwmsK)U`|tDbd>;{HzH?r|AD@DZpw>25pg zTx-uonVou8R#caZ3mWfpYw>_urMIdHq-AjDIl)MM&TjBA~&c zC2RLP&zIGuWGy~7F?W7Exbe^Oq;*(fJfxS)31k9|xauH%8G^hfq&sCQ9I1K((CbHI z(q2=-3oK8OF#tg1#swUq+*N>^c*5G=XAKWVVk5D70#c3=MHA+xwT!Za8+XGM{dtlD z5|#8-HaP95Enox7bUw@{JqiBZN;eNdZ6^Kb0*4p4oaekh?{yrcg-oJn+JIh3V@}s#;Y~w;m_b@ue4JBVqMH0xP%#z4%;p=;T{E z>bxL}0|&nT8vstWS`I!l0_MmzsWDs*epI!MX7b+mx*s1*W=^_clI`N0-$y@Cj9OH9 zgUpQLsG9^Rw>Ul2YBx=!?~c)msjMVs!ehr$hL_%!nEeWj-WAvR#$0Os-I2VJ^tbfQ zM@g}@njok%VrkD8Nr0Y)jD@4{G<+H0#W#btZ0;u}gh?>qdmbNq#QX*`*fKSGcseB7 z)AqsW)dzTSI8ap9dfr7|d=&e4MqP{|PO)Mx+`OTnDnl!yhB(J7^TEqRBDKC;COi)s z${tRbb-yQhT`KwfdX7W0UPf5Vq6hPh`zY8uZuD56*2LDVP#ujAPsF`A`MoiTQ4v*@ zLjL2E?8fI;w0O?lY&hRdSG~85UrX`!pK=*R!Y#+~>W*;g>ga88frbX*m0cYN z`>k@6V3=729{o&k3bUJi=boy!d?1?P%ZdXor-<7eowFJVd2?>d{D3$_#DQ;PcqApP zPwFPeLF2o`x*^`14)>M})x_0$#Y|oWZ$0PE9CO{H`rr%eFo4kuNb#8UUyh4b70bf! ze{MZz9wiDGOcDQ50sf&ji4O}*F8E3@v|82t5;>^)Te(GYd2c7~z=%DIiUja8zf!wh zRP90IbmNL|;IXGZe?&f``i%w?(zEz~LSpL!(X7O5#mjOLAbP2ljl6)AK5bk|Lhg}^ za3?gev$#O7A(1X!DTpjSF6iMa67Nd9p29^>x6&;PZg`9}a|@)vAd~XpC#T>$Nh+UO z>O;_Zj7lI!Ak($GKxG(kQi0r1+0e}=98j!Nwk{3unaI)iDT+PN6CRNXmPr@#_*V&8mM(A3fl<1zJ(oZ3bp?uy&My?N zb?8oF?kgrAkA1~pV6ycSS7xi9(=eu zSNRFDg@-Q2*AVt|1e<-91?r~afWfbH&rc$^>n2H+8=<1gE*vImvZH={_JYULxVHU{ zj=OI8__Ity({|||0?h&!z3Y#+XcxbTdRBXln~Ppp6OF-@NTCn+mhN>gGOut&`;x&E zce*+b9Hsj;5lFb|L#ZReatjT@(3xXZD_0vWo|mPoRV?AF$qv%7(u`=)YQ*|vZ;1cq z=+^HC>Eef$<`Q$_^Ow2do`LnrT~1+nCRM+qWdZ0sKecRmV=fBY=@hAP+2;o%p^6ef zeQFcD33wcZ&>xOA4gck&{*B5#t1+?Zp zn31=>=uYcHB-@*sA9;ZjW0Kdv#OO?zb6Jszc{fZw998d&tqVb1q+1ABS73_15{q6e z4$64mMk|N&mTt87yx@1`Av0cV;@z&U8zCBq5%@yBxCh%}spp^MtmN zNd;*M+WS1%pD#Jw@dX_I;piFkz%YYS)s`656mFB~*={VkqDaWyu`(kHtM^+v4xU%?iUI*LuEZ)~^goMQ z0~zb<^*M_IL-zIk@1mA??%&lDC&Mq_TEFy!4hVjagnwnxb`W2lnx{`)x|R#-*zxB4 z4(h!^>8``EzxoOl)z+X8&tm}_uu{cyNsh;yXWWB7EU%ouw=iv! zcapz1SQG;wt|1d=J3hWco?INI9RnzJ+|M=KAM`IxRfL2b!9%uD!SRU5?ZRpE8XPFd zRsdv^(AA@ZpvDv@QFUY6`hdZu>8ft z#o=lJhRQ4nQt(2>K4=-DJBL}|5Gzwd>_Z-%oQ5iRX9xXd82h!aec_Ttb|^a~{`G@ji<4i6VUQSqar2|Q}hTjHo3TOS5&suN_lNX4Frh9ERI_Y$^a zxyp9*8jyDLdm#E)6Jl@@Jab+uLgtq*x%46s-{j#GvP@H>dLuc?bn92ayS5|}nZ8u% z*Q!oV{fA5bmjw{4vYmrG-_CC*jRGeKO2sueak7Iq2xO;I(J;SG82X_s%^1YL6r@-~ z>4;b(TJzsawMp>*>|&!O;Yp027`Ug5e6$}gSO@Ailg8Semz!^@`*X(!>L7b6e-9wk zt}A2e18tshh8Lt0i}skmz2xgDH-EvXRI!(W@fb%_nQs{+K;^x*Hzrj-@{JR6z5)>9 zU16XVkce?ERNU1Dv@@A%L6cG!OSnA(<+rL+r*{4yDy05rsoQ0L79j^Mz zTKPRcBBRoKc`$8oILOQ}g}lDwQ&gKP0TkebB|tC6fYJE8c5ngX)kI*03lms7JvlfUK9WBJ43)VxDK2nSYLOJlmj z@>rp;eGq3vLu~2Vageb^+@bR`^f1UU>2mmIHK@$*``K?^9lZzJ_VLZ?TRPO>Ug^0; zQ6Vck4MJWMAL|k;pb+B2)hWQqP!F68|3lCQ&*(eTP#+bqakoX(Gw+uDpu|pOvv#ejtdA*A zDuFDq7S0Y&xnI0-cZci!+r;qj&mc`3R@6K3=8VKeqZ{^2=;Jx*gydzQRW3{Wc+zE+ zt(cSirS;ck!79hWBsI#ZAnuvx35r5ih8(41<(7`EtTYDwpjs!wmlbSG3@G3gpObxJ z@`dNy@+Go2OwqVcRWqc8*j;Wu))MCn6uXviV3c=N;G|t74zx6QmH=$=VvB0l6FaQb zJiu}2@V#e%>@G4!;HlfEfC2#7B$~N_$sKGq{sAS8$uGWAUE_Yd@90GvXA|r2$F$#+ z`W;qWxrl}UZYV{Y$U67)g}GJa_e{@1Ovh4|O8#=bsWfK1js$9(Xf)7))&-(TGG8U~ zj3O}-k^cx=Kg*g%Kc?Fy5n+AZb(AFj!H**=F1zzwj;r&KJ^*vl4oe8Wo$SYCpcJ)q zc|Y_E^d>)*w~iMI;J5yak>q9e7-_=zo&-{yp0F8+?JK&-H z3kZ3w=MK)Ps3cAmvMRI_IT`Vhxwkiey~*8K*~?yweBpGj*&35|O9TT6_w=5XlF0C3fPqvG&K!S9_zz@DM zc@5(6aIg5y6GqAk@2}`qGx!FPnwKzZo+}A|o}p%=vmG6GksS@wD_({gVn{m0S&<`J z>j%?b7k0iqkyVCwdwC}g_aW}}3#K!IOW&)*eSWk5Fc>{>;Aw8c; zD0MFOMcMd@FR9^0@8?h5SR6$4iKk0&>yL3Jy0nw&dCc9`c5B@o;13`8Qr}T zIXr*bT{aVwyim5sycVi;Ha2-4L{$9)Vb#9uP50EBR<-43aV{kRxgP^TB*0TA#Y+9k z6SkHQ7;9m4?+<#muf1C~`emwO+?RhO|9WpSM{g2&NqXbcR#T`LCduf*0hVipopAY` z*M`F-)~fUe*yE!%}y`W!i(nR{T@G8F-Jk&P_&9%PZf_+@; zC-~$@GxaziIcxEsQeh0Vg;)epydv_gY+?ea2OsNGJEC?*^fYa^@EQnSuX?o8=;8L> z?Gio45U~AJ1nL_7%X9Ob6M-v#qy8TKJ}Q-wSk5t9H`e${q)a?wT_g*yT7|{$Fj~8l zwN<&b+31$<72X6^@`C4poL2}w{FNxBSW4mNJMbWIlQv%qV>4+~W4Vf((6SY-jN-~S z4mfi@q*A_FQwVi)YqdNCWs;r)9@X=*V7if@ge{&vn*-AB;bfGk2 z{El_0AEZlEu8nnC?btZgbuU_9>70{oq~Tj1oph}_&lry;WO~YhB9F?FxEJg}Bs)Ru z?j9K=>vKKT)O&IUvv=og4E~iky0aRt{pogmU*90S(BDNa=^&Kc%Qw*stS z&?69qemUeMm_06Q+$W5>2@?&0KCmRSIJ_l&su_IBD^_A&{R8&a5bZ*~#n-SNL{&J- za!2T9_dm`;O<4fK4z5w_zyJopXJCvBFngc_Q`X;)0f&Et+{$7Dqcjunw+g>Ty_U@{ zH2Dg3D$Q*)z0+!R1DI1FIjnqA>(5x}`P9#G=m3{%z>o}l0~MgaQ9?5Y&A_ceHej{b zMD~Gw6vqx0tZCjD>O$2`v~OAr@aLz~R@uJbq!n*UaMPkppY9((T4|sT{;9!?u19Tg zDLQ>I9oEO2q?fyYj^Z}MC0I^bt@CG#`xR$Rv&JkJ*3u=JxG>Gy$Aoi$bXZyc z_XsGG=(N2^u-)rBnzNHJggqqf@ zGSPPkmaOc6g4P%Y`%WMvBGq0t~@eiUPEx#KV4ucpH!S{h%bdJx#6UVv? z8^KgTQjJD-3t-3Iggbw^g9tq6=pk0)4~OPk>@UxmKwf>6H73)LpL}WGUaTD1^U?FU zYnDxt6S{`VDA#AF#}q$UuI2PBfvOHq%ATEn5!)Pdict|`fmsC_T;JF5Kmy0gQZR5% zghVY-HB_fp*Z(LU@r~a-Di!qNro@Dwp>owZMAyh1?ODlqNWWnAWd6M~2~di9G+#w3@unlX`e# z`o-uLBG$un0+*{7S09)XY3DIjIVo+Wg^en^4CLN2rQkPnN7Wdu38K_hw!(|tQlUq=}rfw~=y-|oHf|q%J0|IRT^Mx_ij&FBjD#hN?;AnVbpLNT zO-HPUcMNluKRuE-qcp;A^(-Z2`dT1?^u;JJrUw}0pn~}F z0EWb#Lqz``zbn0g<-WJr5>fT%o-9@{*C)HgM=eEMAX1%B=JWhO)O1dH^=|Y(hB;l- znULXrSIJTAe|hn+IuPG3DS=_e``=j^Yj>J+KbWD7xSA8w^*8dl-bDp&^}Lqb;UA0G zCLvratZ7%X`p%wD`DRj4asPlanYW%-L6KNr2~x5oCCh`z6Rq$p zHX*`qMtzZNNH-os`%Llf^XyTr<^A%1*xay4oVSJ(*MHpeNTGWsak4v_D71gYc{VR^ zk&GQs112K1a9>M-Gv`U?V?22Us;+o$gJWI_E$)(iM3cV}HoEXKz=z-1Sp^J?b3s|+ z2y%SD7J53P$A!rys`jS32#3X=!lgh+p@~LE*zI=} zDiU>brSY`q1D-nH#=|YjQW{7q1}cxEJ_D7m1{S_CQ_p>mqXkjVQbM;Sq!&B}saXDomFxArA$v~k+P8}pTGs-1uv$3WNX#-A+S31a_4D@7qkp{0NN%>1 z{os1LTHaIbhVYw-S3YEirZhzDH)uhbY7uG|Q{AjcQwu-xI?)hh>Vm+y6s>|i4A4p; zr!hu2gAvxZ*gplw?Wa1-pFYPWz^m0NtMA0MKMpRHU2z`8mvX-ei7VIBG8zI_-Jiz2 zwcW>y0@`PMA&^0KL@CYwwHQ!qz&!*^Lu$+8J4ZXzBF-jWf)9H$*TZZnjn(%fr_L5P zWyigNAF!w}A>@?LdW8IS(D5EV=I7bsr}U>tH;r6!Y#=bkfB3*De}i?~lpJG|`zh8- z7XPwBUE&SzpX)9H6%>N%F}OEcbo+nx{?hpaym~{;RLYWIo*CjCyF=S7V`VM4)zs?W zPvtC&0Rj(lP)uq&<T6MTR!dJ_Ixr}=60s;sI=R&H}e6zy52{30u5k(4h|7BCM{I(7z``Xhh zR+@du+@c!V(tq{S)FQd!iKz}z{-SI^wCu3y2`*44GfumXGNC*Ac6>;8Vkl${`aNds z9J(3CshqG&0>}h(6n8(zBY!IVJupb4mpa}TTzz4a%-x-1RW z*XvgkZo>n)$&$bT0?W!>n}mHLlq4(UnI@*KlY)@xT<(;Y&ZjsX#iH&Y^*;u>c)%J-+Qcz-)ppi zYTTM3XzCC!u*W@7ME6Tfpc}pSXB5gOcbnvt-pY6+7v8`&X!mnhPu!oILu{IxW5(j^ zmRr82@h75A$dpWc^lH+J_tU&?_xsf`5D$Zsyo6RRIISi%jSF!!o7as12Lvr@-5#BY zJ=4E1qN1EBdwbGh5O<9bJ(>zmOHw^nIOz(Yi-nVN}{GHX5?vMiZO=2;$WGrHr;wOK@k1`dr@w9u34X4u72?0* zl;kMT9j8p#lJ21V$0`9d2~FK8R|*PpJ}`Wl|TPkaPau>lW_3xGDiq_b}#8ZXEWQx1yGd0WLLAn z$w_jvsa1mX+j)ie$o)*H#7|g@TVuv-t9HMxW_5e3L`3qea)FR0M+mTwc+5=wqGp9* zU-##o?Op9`+S;Ej-xi+*+L~7+Rvc+d6ggMj?58kM!2Ww zMBK=?%y7f1L>ia=05<#0cO<#+Ca7QI`rsvBjvx#~!2y#ZfA#=IjY^C~1<|@zRCapM z5#Z9H@`3^>cy}Bw5$bwBbKT*&J7ai&V!aGJ8t>`G#7rH4B?qz?+9Mfi3~=Qr-0qd9 z@_Y_&(#nL~0vJ8XOi*vocv+vcllU1a31( zriO)So7aBM_8+>gA;tp|d3Y;WUw)>Lf|jbW2Zej{(pmv3uYXEd1Ea9d7GRJ8Bime7f2$@g zJ8!N7Ozuo03(Gl!MJnb|%!(1xH8Ee{wW6N26;D-d{FzMm%u`2*LlzCJ5Cq9SjfWuc z#4{mmW0IMJNx*-D8d9p$z4PJKmwY=F?9Y$pApM4(B&`68iQ)h)hi9c{%h`>wi5U73oTcoOH`*4=I)-N zwq`~bJUch`pD>)UEJo_PPI`;vlxcg|C;jO1FruzL)6hhNeg<)>{=SPB_%lU1)aK7t z$HD8VYa*k@plG?3_dGSt*kUt3SJC?YVf&GPCpK#LOI?Jt$D)Jj1H<$8mjIq~%hV~q zenZW|vbi0YyV&+<1vDI86KX?S-`T6GR^3}{53vwL0xnKROX!PKR;n zFc5plEO~zxJ6<b ziOKckKf#s}^+sE?NfIx$T1a|?mR`T9o_8ye4=DC6eW@4no#`5;8S~a5tQYyFUzQbz zYBm3DwY{aiR@qty5xa}w4Lg5t{y(nXJF4ld?fwp3KtV?lk!nThiqauq8I`Kir37IR zrS}#B0Yt3e3{nIFL8Uj5-a=78K?uDDA~g_50)!Aq2ziflKlihq_xG=B8M3l+^1aTr z_x|kqw|owEjp`>%w@IZxUj}vqQ^*It5zPxj6vtm-U<q|HN z^_gR9mHI!s{Brxf&aKw^RHw_|%+^zBqK_|QqHpqk44T7uvWZ(V#@7_1ZXIP^F?hu6 zi<(|I*~(qf!pFByjU_O4r-Os8{e3FIYaZJ+CfxNg_;dJN@WzSe-q6$UupXpBSv%$i zQ|-VCL$~!#Ybc`G#JN$4?p&`nGnRlo`da1QouCfPK$)yD`M$R6+a{BPiR9$$6Ewug z7~hoQcD40C7&$T@QaMEV`jp=WVx-zdJEaBSRhKa*vu(-6!LRw`^w}HqwTr+dH?i`O z2OU-2dB;?9z#^@L4;0-*QJrJ!)4+ajZ@A=@MjOD`Tc3H3?*U_ z84qC{a3ehUasyZ-+>tJY&W`c}HqibZiVHfi@YJLEY5)V!__Jd?!R6fkzW*hW$be3K zk%S9LotAKk76Xja`LXsoubdMOw=97oUj_|PGmod)TDVrP-3sviU=1N_Awq$%OO_@xo>TW;{GM%$`CieTdlPz`#sCrF4|MjM`T=>JmX}e< zam=m;XAoRCBcWVFhIBVxmPFRuR#iTjKDP2s5Ui?1w@KUYPl2R@sLf1jw)BMohq3?& z(K-&nw9Hokdw)l38SQI<=9yppQ|J_IaJPOf#x;Ayn~(^En16i(@+htKq& zW}UN7UAWvJ;X3*sU))Tyw@j)$5&?gXPwYKfALfx|87TD}Z zz(kfI{RDoeXZ4tJqMLDt(3t4Szr?yMCZPYgUD9O>A*y5fUNafCzFqu?YM5Q5!?<%u#*H!^aVlKJw+maSuuI&rF%Go*R>SKF~J6Aiv>KH^%InMCSi__XMgJ+zH_gBuIr zPbqUBL!YsluORn70wyZ7#ip)@@RYd=){?s$Es6IqSpr41q0f|K=U%-apX*rbh_1f$ zGK#CK?xagu=#yy2L5a@cerwC0Af`s!U@xxBzJk3cPlBM@|M5Lna_Wv(XfJzi6J`b- z3VUNW;h(NxWf~zk4tv!SY(fsQZan2-WL|or6{+da()IF}JI({9Dv}(UQw_C??u7ky z6SM}1FY|ywTNGFYq8vFiQ;M#H)c1P9^Y!@R>J7m1P)Ktab$R;wmTWRnqHQ-?MvHKh zuZQl0_ulRE+1MuW_H(4uv3Zv%9T!KAWPSaDjgFj*_D`iZy;Ic_Zm?|>d@LofWKbIu zOriyRj{^bJSC>)fuqmlAFbQsiP%i1W@IV*3OtyxE>h6{dI10qmF9ZHeB~ym zR7gqW*GsZbY89js%fJtOdDvcd6akoi)(H;(%X#z>3gk#reg4xag1c9&ThJ&Z%9CTN z;BFl(r&L736r#Wcu zAk>UYZ7~R%IYxLq0lRxttaK*`tv7*hG2j4n zqBgVCMZ$l;h4h;iwOej-1?<_k?V9Ilxygr2Enx(fj(oxs!2eN&fP3-0n^lVSx$s(# za(r7u4Yow(mXp%EWiua5z=_AS`ZLAf5%Ml~x$*;mD!e)nwuy?p%sN_YY7I5m?LUq7QCw-DpcRswlrPb$DbGVGj>y`=SKtTRM_`ua7(E1 zr$DB+vrpB3@qnQ<<@pG&04symipNS0r}t_oh@*LU!jXOaPF7Ap zl*@Z$JxcgP#qF@|g>m!8eRmyg8kjDEKKXqfoznSB`_sPtQ$is#*WMNcQ(k>sJr`i<#^? z88s0vJL-F%w#_j&oFnRs5t@=O2-6AKv)#d|q=Bq-m z@a&yu?{jVmr-+s+p_u2}g#bM8OyrB=TmghuT^d@d%#C1YO$pR@yRkEXNZR^zK=|%df5J|=9~GC;Zn%AUsl9xDpr~>|6xl2HkSa{BV9ve74^0?fZ*}9z}SU?+v<(LC?VQ9 zqcGX%s$GPQ-LwZU+QCp9Qayxr;qdit)%k(I*feCDJ`88#ereb?THAnyj^txNoJTHY ziZ@^A2O@R|5dN|a)LN-LdDl$=w@eYLHCgK>gW>>*bf?wGAknK0=DBcRsqReS=~j&e zs1KysARu{WNX9`DM*q%-RxVO=A^0;k=wC3oH!20nQrM5G#9f}Jlp`h}ouq#|)d(_oF6MLg=k&3=(4wUgL^=l}Pd{q)->d+bh|YvWHtS!8w(%uV zR0_#ZCPnA@=NIQ=w7va>w#(P6B-Od*4w^pMoRm4}7+>s>v9qF5Z6IKMOE?Gj6sD~% zku=#}&2MVh03ZtOPtS54@qPsfu0J$;qN4YS^Wjwz`Bs$Q=@`xMBkdzcr|wtX3HH)> z!cV_Yqf4$d4y{@J#e}TinNF(45M}?FwJG%;$Nq6Uf3mwYKfHL+s_PysE|u#BoBZc#!IIkRt+;^d{?3jhWF9QPoEngskuQ^Idg`{=nsI_JuBUGJSOyfB!+7;0vh|PT! zuzJaI+ftn$a3H_=(CyD6M&2dfF(!ExOtr_Jj&dkN%+7?Ok7a90U5~Ku^q6 zswX#dUD0KE)< zX6Mu!1eq6zpJiYC9za%@Iwh=iJ@CS-FZR(}MQ7d8lz>L|*c(5hv#dwZY^P#=9+sTd zY!5y(uuh0f* zF*eAy?JZ8_Uw4fL3`{{_c?;rMW|Q%(#+BbO$^3s)l8ey&F1AK58?%+0nkUZwzOwQ! z`@(x?o1(YLz7@)p-Xp8chHU{XZT>CtUiHd8XTMleaBBd+NTHBtlZ0WWud_-PG3s>@7TkFeT!u;P6;6>=ZRadcngXuSW149*R?O}-=EsJvEMU% z{;qQRFAB}%SAAW68HzxyYiK|F*qRI*fjYJ6~@~w{5*m|06!_dG3pc z_{2gpebgNFi$o=zi>>pNlv64tvCTJ=ICc&Zl$(gvU#JiUqN@+(s(y zq4m2gJVQi#>da=1F2P+m`$mkr#MAbvROFmKooie(My-Ocj)CMVzaq6-E z4ckn%OIpsy?)~bP)8)Y%)@SLv7ly`@^imfLq!;C^!-f$`0j1BagSS8h3ETi38}M{- zM;-j&5(8{t(OU99v*kYTozI@n^hd8o5Tr6Q8X_uO%YE&TR99WX)$$&mw2yyCqQheW zU4Ewa;p6?S>$L}-M+OM=CAT+;bR!acLD(e&#q5O)T#{`t*ebhm3n{gkjfe6s1Gdtl zLDzkYC8sH}<OsM~JtLO`uozU1vAvV4jS zz)0V{W&o+DL0~+Ua{EaF*siK)1Y4o-l^;PGM_6G>EJfV-R&^NPYUSx^nR@FF+D0Kv z&!SDv(Id}*vyUSvW?AGdG~PE;VY=D1(YD@tD%c_y+}wHQ3XEmZGoH9ZPaCn<;vDtB z(S)RpwWwOa{Ij!5k<+n(v5kiBrDT*1oOwQrEKHxHsN1y)ix5pUl|AQqG9TTRb`-ij zyiqefa#pyZ>b)q9zlP5LT6pXS;g4TY`ye#;+c`wwZ)eZhvHJrVKZT7aT9l&}i-+iY z19rf{+-NT044{_-!L1kY8^n0sygu5*7I zyyI%NQr|IcKG;9j_RTI$;gg5D({bXF)xj3gqi}M>+{t@>(~}DIj*mZ<=-Ci7CUPeQ zR!!-bGX)vOb=Iu(4Q=j)4aP|IbBudXTqKb^=F9njK4OKxOVA5jW|mKqoe0J6gbom!I_jg~jj?HJhD#Tf@ zs!B7Db)0^FB)BCtfRTp8`mZSuvv0m`s=5xd#HJ-W=;fUr|Ao~S(6YvEaKD+9tZ z|8qp#T1aD2#hpPDl(n6V!8tR}jI~<#=Y_F0I*ihjpvWPqpbOkrboOBlpD*-N7;P=u z)9c&f_3>mt@RVtP$Q5&9(Gd!A%T?DrjlA5fw!IOY*&!mg9K`x7JJ9G zJ7A_1cjyCM2ORJafVo^ERhDKXFY&zOI?=TU#KX$Th+X?lG?zYXZL-77Z9>Wa({;VA z14Dq3y_JX?oelqBSSvx`9Vl<#RH5(g)wXWpY8)1?(eag+9pr!9+bB`!ibrQ8-eK~b zNF>~ILcDcDtq!gl7KON`W{sE(A5El8-iW3)1~RJxa=U5cqxOW~(!ze(KFf#sb%>5& z!}DSLi!hX9*kbicZmQ!&SF5b3MR^!%pNwZRhqN(FW_~SVDysToKi(a=Kl3}6Oc;~b zAM?Fwazio6P|)~gkA}h6nEZt^iBke{4>!XDZT^U++(&!QX{+0Y{tcn-8cZKX&OXI; zIA(jo!t5azLnSbLUc1i0CakOitzX=3kIgs&hW95lD;pa0Zqk+_hxWm&1EKl>+M8G@*( zq|g^~8L2XyI<&u@jpR}qyho{e2v#8}=zr6OaF2wtrmO5&tkMA0CLFt-b9z7IUT-GtXp=&dlTOz%01y)h9z;7BN>~)+R z-*?&UzvTCuLK9Zaz8Jmc>6#vkH&F1!a*BVoK*_t{+p}|y{Z}hg$K-ztrjlo6o2J8VCFS@ zF|~mcr#;c8?c{Am=JE(n4nU<;n5YTTSDB3rQq+2<^U%I-)I#8{2RH=SbzF_M)R=#S z0**aJj|>jqVZGwiHPx8-l)_tKLzZ5vb#!!}V$7dSvKKA<)b&%A^@TdMu@+&3_~%Cp zbu|geO52$(a0vFQ+^s7=OIUJQ4{`qTMbfBx$|%-jgAV0#@nf%PdB7U$g0WvBHT1k^ z)Rc1(SZTNgy{S9_7Hso`>S+f&rlsY%<19@d`c^LIjj{+QJO=}M;b;pT7J4a4%q4%2 zK2h328iy^Yg-VyZz$8)92_zR{g6q~EtfWhMEL4&1te8iRRPMSI3-xK|n;Wg1bX*d2EOy||U zA%t9ptQFZ7#UO-ptg$#d%#7sed8X>O9oxVt1E|IV zKRF6S3mj95e?u~cut}WF^4Q)F(~yS3UeMap6SmL)fY4g^K;0**W>Mcq6PqE2h$cHC zq&UKV#yT2=ehvg3Ca(Ay5rRY940y?$*ulMzwWiqAKR_E?Kp%q45pI!AZQ#W!3Tu@J zf?5T1k^|g**4tOYKV8%)m~Z6AXmhmxvwFukNreGEee1&FSUD|oJ8IaCET3m1#iOLZ z-XzHA70gZisatW~ni$SKamF>=eU{v3L^CVFRcaM_fam~?Y2p<{kRTNO><++@3t-p{ zK=+ZCGv^lf-fiN0en6gl>$8n4>hP6q3M`8pf2R~oA@g;rYZmck2G{=#KgS6fzD*M>LdSO~=l5?QG)tV8`wzeIG!uPr~>ec^Ym_E zq?wUJO!rNH^GWMdeQ_9G!bQZ7u4f8)M3>#PmxyYV+X?fK=d+^Jw4$yCKjYpu=x|}j zNlCsfzl&v7B6#y#Xj*Jc-g)3+^=N&#_#8A1God~)7&F_~IUoF}EMMo?};A*%7Sd#Zl(WRLt?Wv?|< zhYl&e)xMxlaErIPK8AqFblgN|e36I-E1a=KXFM6%z(;u00+3zuSZ0IJ5a1N!kQ#D* zJ>kNA@nBoOY#L{380a%Ule~DaQ&Sj}JBeSQhhbeEw*QFlh4Z#B3l zYKDr&uEQ^y`g!m6qyEsHY!H3iSC3s~aCQ_AN*GlIsyjJGYZdp)8%NcYfF=iN{Jg~S z5j1m;@M^PZsxhOZ(O}zqRtVW_Q*+dUy(7cNkO8Viov0I_y#NOw7}V`}Z)#l&;`>>w zB}vVKk7(M}e;mX)?e5icQmsy_z_?Zvv6@Q;e4z=!q=FkT!&;A8te_4+$2K!E+Zw>z z)JS|808$Mk+*O4>&jGOm@m{=#ZOW{7n?)9m>)Xn;hwPTDE%A?ktY%!mYdhBd#7n&+ zv~yxghh$)rYd{ZxemD)f`s{z=R2#fy}IYq6MqCpEo+AK*tZ<8{j9u`R-+fWoBH}o zTKD|>gu+sj2liOv7Z4PaVxJOP1AlYj_mQ}Y{H;ScgZZcEWid^|!dldv=Vu~Yc-<@C zdHq3SXH6UarLWf)%n9=fR>)2%2%5!iL;(#)_ZDD7{wG-ZyDsMuQtvLZauVm%a5v0N zb6|vSP-t32dlX-``S(2R=SbP+m&$gX%2@1XfuL*SNO`m$C}iVWIWQr8M87#A%W`qD z2IQ@He@=8x%MU8bf_fa-ae*Kt@xXwWE~kG_?2N+HkM3!U)q>l~NFDhDKMazkJaLyO znqO&W*_!PeDSQatxh9k8vc)^XMFIOpH6*l_GI2|w$4~537<2U)Q7Sz?f>4LCt#tuI z`0z&tfD1}2yG|&~K*Js}I+%2AJ}u5bi>#0|vO&0Ymb?)?OL#ikpKpv0B*EI7vVF(U9!MbHT@o{D?;OoNAi^#wG)VBUJnftW_%}*o&~A*&PLp8Jg^{i##b~5rhJ* z@>NhXs-%4`Ja*wPz-666gmH|lNE3^wqL~8Ca>M+eLXc%%-6H*DbZv3I>N=_|gs%(B*h*K?o zrtJiT@-U{%BxUyOk;o;|%7bs;+{UHOYcsX{%)W?mgqeYmM9Hse9gR=og|AM3Azi-B`J{xt$9K#e*DRf;olxPaEDp_hFnUV zDk^`;71?5GNN^?tyC(x?MgB!LwQMM(x`toPg@^8bV z^e@<0lEc9}GL^;Iyu03Ze5lXOLDI{lg@|zV_vj_jr2!s$m-<2S%pD3_ye6!DrbbsVceY6e&7_Hw9xqTH%e5fEZX>ygR| zu`%s23Bwc&XGf@5f7Gr9S$m&VpBI2xon?J9+)mvhJJ!8_1f;e`9@tQ^kPtO9!%51IQBC<4DI@jaL7?sZ!W-^J%uJdTcq-`(#c;*WE?B$@yEA<=?f1coeSJ_|r-CM8|5Z(CE4{Zt?$o zfYQx}fmif@3YbNKH8M}X1+-18R0L*=q^)}&-TxdReVu1KMfT&Q)}IbHCwfFc!rM9 z9dmIHdvdD2RxkKGa!`H(JZt>lt0$r{HJ^e9838k(no0a#?zlkr zQ}IPrUMJ0!0jKDyQuoG{LTIO2LP&(}u^|ilK4*8ISUp~6otaLyhd7&n0f~mM+4&m( zbxmV5`{Ow6ZOXK@19R>QL-c+mDN$1eJ$8nzKrZp%uY64$pA6>WRFbH`&d#Cq)QIIr zvSwje126LM3Zx$@{SI(NvWc!lX%lYb>nzt~f#SZ%fG>gZ*fh38 zblBb0q``>3Sn|820^@jzWs_vb(h2du_-@Z^qLbp7o*VlXJ<*t!o22W;?yJF>fw+i}l%d(>z%s*P+judGNv&D}+6xuo`8*cqU zbVLIgP!&j*LFI&J@u4^v&Q$MpiPSiRcKbHxcOTLeM5V>>IN8uusuj4Y4-7LmIs1K# za&|50n)jZ|KSwQyQrrXo{%W_VhV>jj>O|QV4eOAUkbNu-33?=$ZQ$A0Qnqb9_7<`S zVej&AxE>KM3Z`9)*4hWnfIBxovf=;r0<^RwUjN+^*b+v;f-N<^L-b7R5vLDcT}ie= z{Y}gCoEN*hbEene%i%`FP>N&Kp!+HxSL6SaM;Wd*$2-^!A@{mWe- zLWky#{*}8*?^+xCdNgKKO{nf@>l+$%s&@YT(bOY%cj3?I)ei8q{&P2%Agw!h`ohaO z*LV-4)JQfV@77R)zUs}9RcRyp4wT}E@<~AB^}8>&D#4I5`}qhVvN}dQ$0&l&1g{kD zXL@tm(#+Fe*R-e}e$T;3+}i*e8bX?bp==^Nv%7dw)&?{bL8SO>3-^Y!^A@6CB)S?h5N3jA~Dmd7hU9ZLY$pvYR&POsIK|6sImwq z!()EF?vmW=OOepm(sFqZ_6Vtd48*pdB}x^e6E|j9(LtJDJ@MOo0nl{um?}JkmEqb1 z&Q6l*e*Q*HNAbD5&W&fpH|q{>;I_tx*z8}}E98wGj;;$X9BsQQkDjG9?Aw8D5O7}* zyrk-=v=!N?b&98Ee`0GyN8uTZf8&#WJj;FU)9;3^O(=5I$BcQ#_o=O>LG3RzAIS>% zZIfX6VjT@c`oet)iyj+*`cTyIrlkUQXVwui@e zNXMa>Rmkg%@z2U`2*UJlzd`BN|a?5UrynT{%kNYg{o4DEOmp^K>PA#3E zAwKQ3CqSZ)SPh5cUlG2|x1Y_`j(=(iab4Ehs5_X#T*%PUYgY;t;}{$GEApwYfaf`q zV!1HPYMrib8b0T?CR*1#8DAbpIbr|}DH|s*MotDb=oujd8Acg9CS(JjTbNp$HEc4c zyqy(|1x5^UeR1b(0s7SyA78T|@nTHX9?Jq$z(>VV}Ul1zp^q^X%E+J{B{aBZ)h|Bs!hg#5l>xI0c4L~UUkIY=NNXPG-fdhb$hVCXI62TabgXQd0 z{JSxtx9W;vALG`QPX<3Pnky2oJT=P5_K9-$fWB7%d~)v%=y3q)`j|kAY`#!OkyX=Z3|_O} z4GD}%J#k7F%V~Vg(HlHy_2=H2SV09*Ur7#z;cNuqqK=z3@YV^fMwkM(s^c5)8nTyI zPW|E)pPo-TJ`l;)Iz{onWX0(OzWRPq-^h%rC+fc?y(z+@UPsFn(;)I#7?0KhG@fEK zLj_lv8aQzC9f}fv`@NHhSp}Q;)wk^JDo}66H|P`cWjyo?iu`kMVp(vn5XEB*$nA^o_D6 z{Z<8egB2=tO($p75FZN720J{yu=dX8IG8p4si9UYYrLmOH!}O&t@RU`c>WG4l1cNO zu2aO6AW6n7jzl=#N!o+D7}4yI%3PV+nfX+{*}RDmDWAQGh^ln!pyj$k$pkfi&_gSF ze-eR)Uz_^t=uhGUc*bmi8;SpLDx?444W+1Gt3!!v6>)H`Wzm*l7v8R;81<_&yM%w7 z4F;_@(we2$sU5yIA->NM7@;EQy(nX*C^Ts=Q|0m9E>Ql87#R_EE+Q76>U-)oov7?x za`@5+l+MCDqEAo5=+{!8yW~V7BKS8>PV$fK+8oCY5bv;Fy1e7~1oArD8&P0K3!ecZ z+N`j}znA7md)6EB5y6+Pb_PcwB-}1o4QzB>x>|EaT zu?c`~8p;NVS9lg!A}Rdu63HNP{n7OVUoHI=@7_KL>&LMhw-y}fnbOPWV>-$j%Cg;E_|KLtNzU3N}Vrt7( zQLStK=J{MVqR#h33w>^yXaob+fi6IL??E^UC<%^eKB!i|je!LF;HBC$p|f z4Y>b^0}8lCPGEUz4~U&Zghj79pg`oz4Ic88SS!_ZSYO>qk8AtUgm)1&@3wlJ=5=bB z9w>MF`R2E#fW}-HZ2p5)f+T>gs%Ea{;!VDD03X0Tn4R6iTrcI<2bZ57g7*lfH9&a6 z1VKh>U*8OqhAh;rwP}sl&40O@W7OIs=f?5DTriLWsrqW$Dc5^ST}EMen!}KZm<}^P zED7Vb877BC`sH#8cinzB*ET5SsPP?AuT@?Z?zZkDumzt{Wvx$ynBX^SDCyoBoGrI% z{kJB6*#I|ML}`IB#pL|;lNaLrVP9VV8d5y->u{VbtljUZ%_|kL+5nnp5GmU_pks!O=Sw!~z(y$`XIkUrjv@gkFzYiafqe5LJdu4xZH* zb#>hT#PPceRT;u!sp`Y#K7}WgmZxAtI^BX&G3gy~k>%*@=PrM-uBRkpikJiF@|WYu zr0kAw3VGoLr?;)?*LArj0^(f+I)>M53G=%iIK{ln2NDUVKEK-%WTEtwYZeEsS=Eo| znjUzRGZCPNM9@*#M6#lO%U-n4F{Bc+Q*B?EIdM;tjW;%?DN7gPJLQDjSRIZjpY%lL z?EWz4Kqi)ByS&BVAo7#m38vg{-~q9(10E1I|ISQce~q7l0K3G5sqSRXQS|ZS#Oouw zGWnWIC(LGRIA`zZ1ysNJS?;ZT_@IBjxQb6Osb7l4^Yq&n2N7;Un!JNeT~wr1hN`id z2tl9(s5)y?fLCIk;c_X|yQ5W`gBoU6>Eq+8YmQQ$O7S|J`ATQ`qH#F@3JvI8_pWp= zS3%gCbyHJTadvg^#|egk-#r{hXR|7>x!H%55BmDtQy)lXF;Wm1|zCrKDq zQXzZntG~Py8hDxZXaZX-K+Op2yB7!ivULX`sN`kOjTxYH(879CvkW#r=s@KIvccNa zaBF)4844&U$%d>x{jgZV00!j+5}wTpKv&>i@zCrq?rm(_sL@@}k(CcgB}is5a21|gRYOP znDag>!M!)j0xe@apD!5u*Ur_py$FX+NF~w=Ym_C=yho0?&R7o*nUtNwj{!F^<=k{I z6$W{-zc&%)1v?~u_-9A(qDxt(OX}&_9~nAIF!7q3lS;7xj}Xa}OI+XESQdyN8s<=9 zeQ-(ge2Q0ySH_;r#c%$s?y=P*LX>O69s#4r+NJMfhbZu=S`vzrg%Ux-8mP4G4+CWS zwW@%V<{>La+MO2n?2XUqe}=;(X_wkP(w%${ z^)OPuHA~?V?F=ao_5y zllJ7J6XvckhhosioY)1JT1w4q+Dg<;4%j+B#9C(lH(Lpm&=kB~^rJ5pFqtnkzHU8R zIqCL=9sC$!>f5AiSphl4dqjiWGPEuSb6hCcI2+sCWCJnWI;9ViR`>EnHNdYUD4F_| z={0#txPfaa|BOa0>#T+>Jmh|M2oi9GASEX^w%?1REzrMFLY7t zO}BW8Lf~}9?jHnw3URBWlf`zUn6xPUC<8ifu==>y4Yxa0Q%;2!mgAm&`q^FbNwMw0 zBkyAWqCdQrz296dEHlR!pTwn!m z-ulgjW4BNNWl=Ne(D)UxD|7*xP-o-jo<(^^!V_Fry*lRt&u48BtxvwdoAtZMBv}9i zMH_8{5@b?VKP3i|ZHt1+Dp7?w=jx6_9IwHieLqlY`#y_oeySmceUKzNvS6rax~>a} zvckz8c6{^3qEP;E_O$dfhF6Q*BOdVP5%{QB>8;=$2*XDN8A;n#f1uAc;p>t%-SM@JYg&q= z(Er%6m{*z7uk67@a&*3d|LQWHApKL?gL&?;!mPdYvZjc9k9lw#L31fL$=0O14RwWB zL<6i^W8{Lc;jb~SE#2{=%|dDOnv-66K73RE(6c9XB5s#cx~p#=?uET`6_WF?);mg}r#4)3LT3Wx9KAbikf4g~fpirsaB;w?ZI=qJ2B zx4IVK0zHb_Ya9%B-s=Wt*Cv^(pP%=jJqh8 z2is{y%^aIT{ZqlQ3w5P!oA>AKV`$?7JD^m6YtgJ~QD{bVuvU0c^V8#aT7g=~+sx$U zw|&zi`te&N%Zh}HID%{Ja>1WIv_U}#A$-~J1$n66&M?H{W9s(uarZzQwa4B;1BcL! zlgqWZh3Hz))pfAinctS zGzUNk-VWw3T?9gIuk_tTKmwUrit6jVD^oYMLWH|>cmX!-T(kC9KjYbipn+0Mn3bR; zQY+tAdQ~A8&b7wfJF-c&INE%n0G>#;LJV0s19 zu*6notdW4ywY!+>Cxl;Vh7Qs_-ukWeMCra(dA<;f@NJq&Jf3NAVVKJSw#D4quSF1O ziYiM^C3Pu>)1C&rhBzK%)Xy78v+CZg(#GCITZvO^gk)Y%MZJxy0T&5>sni)-!trwi2855KFkI#}F2U{FeY7909fxghlL{d0W#% z*O-)>IKZ$7k38-*Vj$opJfn8p^D4FQ;9+~|eyf$Hw)`dR-L1l1)dj4X%WQ-k_Ecrd zUoCPG?wj^!GWjubuZ!uZnevy2%~6QH8Sw8n9FE+lhlrx_ z`;%I1>6~3CLy2W~b!X*US111ad-i5aQtd{e#-C)HQf0Eb(w@~KH4guls7}*j!@Bm^ zomSiofB{S_%fx`Xp?qKASxOi(gs4Z) z#_NObe&7vpi5-ht+M!DI8hxS17DXvspb0!pAo!mt{Q!=-G_BT+7<&?JR@4=n!8( z49@jcck+H2nEeGb<;o>DmI5mg=eVE(bYghv!%P^{ewgs;B98BFlvS?ptpe|hQx6f` zMBXWR<81S4yJ8~Mh7ZJqZn8k||I=mq%G40T~J`bs-fx?VpVluB<*3^fV%Nk{qqI?nYu)C=bpamnCyz1H@Q5LcD% zxZIn8k-v1LBd2P*=Vkl;-qxN>jP-nIe*<>UHt2jMT{$JyLoXnbcbVNK#I*%YlLFzA zp5fWGu#cr`c7N9h&|NbKDnL1Y6@`IBX4-zSWIIsL45;(NQ}k%B7R&?eN|^;7oo@EK zs@u6LqdR-buL+}iS80hyK7_Uep!9;0r2Xh7Q!yS!Ed30$===NGm3?eMYLsNQFj+;P z{d1Qc629zGUP@&jNoSi&S0%$}z-fJmSv{OD5EXQNuLvW|1u0(5*_EK@>^?!UQR^A0RWz` zaqwyC{E&I2oWqDN`)6=Jt~C_Ko8}F1C>(%01nl5)8gl)tuVU@sS{M5LST8D2zf%$> zuHG^LNqP^Zbd1m(-Ht2#c_h>BCH;dER8!aGBF+nLN8w-;#5x{ZPJD1^OOkil+RVhv zWty6m-fXb(>3D;)RKmDSE-4XL-RHV>Kb{h}{V3eB95&_nKL972y( zWyt*+jy$LPfH@G-t+(B*8mY@mVQ6tq5$yw1R^2(XZb5aqX$F!Sw;&=-Zyr`? zII{c1`P0^!8=-|HDc%?Qr(;X>YNQl;=ZBf{Xk&-$=#x?GIm8fsS&kP*$~@iLP5J zowh==afy3vzq@W>iE7a<3O$Qw zUGpBUj^tmiJBAHk5?p5ZV)$E|neq+U)A4WII(3VkF&ksjh(BqC0FSl*i9}hN#N{VY zqa8kB0%mj3Cc(A;IRq^Zyvr@VWNddtMIZZ?+dei@y9=McrF|^oA8K*a^ltcOTwv)E zwmtJ1;*j1*3+@;jIZO=5-W!$=o=HhrB*?j`W#xOBu^;Okc0pk$_^J(A8H)}N~zH05XE4(HOLbw*4=+014;~lYmh{-wL zaIv@e4@nO+77e#58(WmsjML5w^2wGqBj&(wHk8L_act%2)Gp@Sru0jsUa!1D;X-4( zsj??hR8>TS`W;>dbBua807nO4FlLLZgb=rC5X0A`L4yJ48Zn3i^U6azroBvq`KQE& zC6Sad>;Z6g0MGZ9uM{%8JX+{2Zm_oT!LrSK<}jgbUvt#J2f``>Km15X1Wsv8pRz9D zo~=#O9M&SdBO#hWhSL=LYnOE-&7-5orhE7n)M23~7>gj9c`ACDufevNWK{60b zO23*$G((=?D#)6{24+N5{32&Nc*qF-pv1l-RSGowP+x8lZXDWr+b3yWBd#I*GH|K} z0&E_np+-U1kPkIA4ZjM6#`+PN&{nsY4FPBQj_})Fechq^k(+-&iZHQ*kq>R#!g7D& z-+j@Yf+7QQTCL|v91MC1gaz3<4lN+{b8IE(*Ki>rYP}{Cwm2F@t^a4f`5Yg4e3XV}L#6I5|Y04$C>`GR75h zFlF-UGr#lem-Wqqg`N8=BBe3135ASOgYM6V_Qi7&X1e-B80`kmTJc{j-D+_mwYV?J zNK`jO@v3WaglCQNnkZjBs&rB}gb;o`@d%{;r&Vg!#YoK5H|12(0T-+=0VmgZd2HFd;X(fwY7H<`r7%GmTQ$Khu-Lk zv>s$ytP8TzhM|k%v1YmZPwU-ZUBa^Dc80&pdxpRcTZ1CD zi-)i!0$YegO9^c!kXF0ZB>Dfb_3rUZ_y7O+Mh-c5mE^3etE*5BNzSvM$SSd<}|0SC}MM%VP+&Y!_daq!G5pa@9*dP{r+yh-@k6Rx$U;w z>-Bs-9`|D~x@hd6XO{Y5OT7=O7muKu4lLagCAx-1-lrB9S(1(geP;1;OR=6H?c})F z!&pB`Wil(cI3_mSQ1!%^-J0nzxZMi)7tpoFVem6l-S|l$S;bcTIIeZEN$&3SwL;&H z(b*Q>GP6)!35TrwJ)Sl+=+b0ZHK=?%2%QleRSjqPTT}w3X5X%u%gesWJ80%AJe}?= zi-$&Dr9*--o)JR`V!%zV^pJOOj5D@v^&9Le8S;_)T)8qPjd$6lK=Ci%kq`MP)GhF4 zTy1hvWc=2%hpVQ4)8j)A1*zE6%u1N9>4wG0)lYyWkV|?E2?vzh`uX6G2f=NvJh@KtbP4x-e{k-xBQ)}n2HRfjn_vc4Ih7bH()MPS1dQGJ^he#+eVySrfnh_ z+35qjkv=cOb;u}Q!B9Olyj$<=>xwe;;%pRS~t2n9=+SkO%eO@3y(Z6!C$3m z&rWOmO+Jo?Fp?Y&Nj0g7Eq}A{dQYOz>S~$Tb{RAziXSpc@SE^KC&8r{FkmGO%`Sq+ zDZZ$E=5*Bd+uX9cdSdV&H6yvB#tb%kV4goz;o!XxFuzgdH+iUP0}k1Ix|*oRd$2w| zVv^d8T6$h%3x|-NHvD+V6s)xUP3uc=*qZh8KwpG3COJh#oUHsGEx@*p1^o^LQ7EEi zI8iU4cZ-0c!q9jIpd;83Ne_yOGglsOmsNbnRrA7@P&I#Ge(X2`;|M+zt_Zw^%OCxE z5-%l@fHVc*ej%HPI(@;sYAB8C_354XxCc7vUrMn!Lpwpl5!CYzupI9emO^sxj=E35 z!L!-#Z7K&Xu32-_W}8!1=L>v~Y6aIkUiLq3h-)EqXjzs=#DMUmvw#^Vo%ym{$i|w} z%U{r6HWi{N; zqCi)Q2z!bc-dB_x#d1C-G#15xBHc=kG1)~Wnvk}r)oKNvmsx6LZh7GdPThWOiJC1& zowd*#0va`|D34Fs04b3dObHw8Q8#g6t|uA-M7qfV;672zyuxj*V2Ju+@y$i4+r9^u z!6lDhu%t&--x_|Xvo|9F>wTu_aFrx5uvwYI27@u&18aw~+sY#PZZhPn{hl-u_%um^ ze5I`ws&|UcN^nQcB<~=vWjiiS<7MzE8zJu{dG_R)kU|yb43Or5MW25lF3qn`X%xfC zo1?P|XPfr)i$U2NVsGgm)~hpG&|};9tgTz1SW-Rq4E^-Rv`WgnOj9PDw;W{J;UKQ< z8~XXhy3x#qzBdzp9}1Ft z(VFnfn*7v_J2fAN5JpWjb@kD3b!qzk2fCposkAxEIn{{h<0)&3GrLTVtjcaw>--TB z-%*_7ghAG{|Me$fY#n7iv$1o*d6xV5%rfT2Ru$|7&kfe59@>~H!!jxIwDzWY*zD=< z9P&tA`y8q){B@%8N7cjHE&A6&lm=|6ZM`<246(0?ynfp@a#BNWJQLp zS22(3?A>m}xMG9@SsMkwNM*wosgE8B>a;|DlS08-m#DaDrS9>maL6wKz+iP`MgbAY4$xi5 zK-$<9imxj!voohxc<)UD@Z@hC&0;~|Lbz*@`U&j;$zk>s-41C$d1FuKu<(-ce}8w1 z;6-0Qh8K^_p7DW3c{lOs5_xu-oL0XpgF{u**TPuAB>{R|FwssvDz_I;vg?bdn;eJ% zn#x;}H}-2`k2tU0rCz|pudcC}*Z>DEc*M#p#(`6QTG5nvEjiqjXxrRiN<_+VtIy%K zLUa1@U7WxN8ILxlhunqm&bkVir~F6@e2^{HrhdG>YU)O@FAmtnvzd0Ue4DQGwr+|v zX5*aZSRuu>>R1agL}4!y#Hof}x?ov7Tr)E5f&)t2YTx8{H&+dxeK=EWS$a>~blAy> z%o-oSUq2b;NYN6-$L9A$iuHq2^s}4niw(MW&OJg*X0Ei0HNzb2w3)TX`f>~p{kHVI zZv$Fb|MRD<>wV=1GE%l#GpUH^T;>1(0Z1Te%UA`X$l%&LgGbB~4=Mp# z)h!_>7Jd9H^!LQ30MOVfc5H~&wEvLWZLEY^g3icCj}`S4DJk2z*xhEO=@0WoX(1m& z!og+`@`MUncaI~|=$B-v)L+!4_DvJ8H@4r@@6AlcJ~(`83&r_F3$jjEi}`R;N~sOs zeTt$WnP+im;4L*JURwBBtDyFo4Yt-YAH=86Z-)%AzU1GXecAUW^TLmF7a5+?6Mg(y zF~%3+E71`2JDpGu0(f1?#nf6$9a-)>sa@gAOBiNYW&Lx4ETvkqsmjUct^3lkotCM7 zk1&OYO=`m1Nstv(?3px0HhWkSBV)MdJN)5~PaEuYiD6*-cwW3OMY`Q^0@i{1_Ufok z4$p0C)Y?z;;f`o9CUzGEZ;d~Q2~ckX#tK_S5VBB&1MU`q=tVo;jnX{_sV9Ab5W{;Z+S}Jva9JRwehgM_Fam*C0DheVu=FI z3F?Rcy;wG6L4qhcL|ysfs8gs+uT!uDaTI#OP&Z)??CNtBz|61uf>8;DVG@G5et$uQ zD!2XI=QT)-tX5#hRyU6^!jr9}0I}08Z`TTMAv~mRH}2|!7Kz@$vasV+TS_5-K9D*$ zSQYv5Jzwz7-kYAqywS`8qAp@9I`?Sv{KQ9k$#kxFECj zyL8Il1L?e3x8(xYTD$(}?DE1nqtv;q#R9jbf?ykH^qX`8XiJJ{8k5zl)tgptnzrGB zGyqx=pXFA~Zt&a&Ii(%~86sE2<@*1Xz8@?4!nq9uZ;xu6Q0flXluidxC!51|Vt>UR z#Eve5Lyd{{IN9wvLIv+SB~|*$nWvf76+Eq!W@)=4(%z8p=s~tD_=lB$sD<<8tmAE3 z=DQ#d^MerS>fTF}`y?;ccb-IbO1%p59t{1|-5jepIn>v9+WV*u=4|~@?;rCx|EnVj zy=R0>&cu#wA#2)Sf=3vV;lN=nDo?k5oS1*ClOMLRSsUtZLs$4smX>Afv}f}Zyw3Mv ztW{HMEop}yp5163gid$z6-4nx>-{2dK{&9BGq88o(xqSF0-lZLoYb>)zowuPx@ zMEc%HIiBn|8SRtXz3 zCwBB#+%dG>7)XE24eu7!vOAxClp}VY5`O)E4@&+X*oM6PY}%XIJESxE zroG2wti)->L#@u$K?tIIFi)ZD$SlF7RsS!R+j^Zr{2pfIIYnJcATQc2r$LO0HBX7E zxyQ<0@KT|I;_4rU>rUnK+Ce~?@(eiM8+JQ!_tr?0wv&I0XHj3LURZ(;dE`S|6syn5 zoa?}DzjrN4aiCa%*DhelQKe4cZY}{iUb+-|*n3IK6u3RzF#=f{j$0^)#5m*6MPB)N zG-JjbIAsVt%i<%D4M1}MA=5*!Dp0_GE%|w0j=DXnEBN*6{>0K?ATEhyg^OYh5P@&w zlBfQ21v*;@bijSM1u`GMaO^J#%vs*FV3W&v8xs((T&k=waig(r*S2SYdk;aV8+adQT=8Gd6x#D+Yf^= zjBuES0cvqcOWh{(7mjeP!`_kxqhEZ?SV#~q{)k?3`WNpQmW`ZPz9(GuhOmjbQaFtx zB*RT=t#J8%kTJJvrhbUkJOmHgrdI)@F;$<0`^#k8k%?{46JAEI z>Rm{XSlu&FCCS_Ny+WGFJK6VP_1D0*lttvuHs^(ROvu%RnPdxS)YSn1wg)B|G!UKy zyE|3$D^R}K19w-U9-tSz$EUJSk{CzB65O-ZPvemNr$VoY&VVv>sjCf6OEWGX^wBfe z9TSOygxK&Zswa8~gf9zRW5Vr6!zrN&H_j+q_HdpzHpRJc6P>P&+i?5giiExD{gx5l1bf@=b0G*t-w?B>6X<2?`chr%s>k$M%vJ_RB zJd?e6Eldk-p+CewHEzMxK|;q>JK`(rbi#8S3Pvk05fvglEBo-@d`c5NHwin|ZnT2T zRT4X{brYLH82JjM!(9>Ivz)Cqqq}TYHqZw-w#0}Fee2XH$+InBwXgnvVAPA~-6d6Q zjM13b)uU)dELN&)iY{SqrE^8@YtUJw^&J~O32Fd!*%UO&Qx@|Y_nfFBm}OLn-AfWC zI$D-Ly`r8u>^berXY!qdQS+zjl=-1_)qtt3<$0{H^PH|h1tuc=TJGHQ|`A4vX3=J~7y?}=cw zX+-xX`HRPV+{7-)Ms1!&FcIhU$v|m=5%cie%T7#ubRwp!V#FkQHw9UZ1Ryy2k@%)x zFdxi1)r22^uz9@kzVW91zK2L)?q9};Y`1;d09mW4P4t}Yi=96TMVUi_wcLEgQkuht zSvJN@aPQydO32jXhvAMByEr|<-WA)0L+cX{Y1P2sFJy}ZC0ifq9q+|B;z~8<(OpwA z#LQT$7a*Z$h)j$h&Aarxr%Y&elF!*#$4_-5Ee%ZTDe?p}D+r1<$`2*8>nZjL$JRu;NuO4ygff3X@st^LD_1cAM6 zPmR2J4BT3is-9dKMuy3c#P6#QGTr84hzkx=AuV^;@I-Ckum^ z3$16PuJfnKw%Ywssf-IYj!V?~SEn@H7Wd`Z#Ya0(Gn9ah;|e)^b4dM`wkg3lyDb@x z8K-u|O-g2IjJ96-E9nsvNCO9d)jzSeH0>U;Nw{({>hGn>Gcb@%DL{e{!S63A$EPg@ zB5M%4iJln6EQmfaK`+J&Qy%FV98~;b$fefg_?E-w`G

-KstMjm^%t(>cpBJ+h=| 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

#BZURfd|b4seqI)#yS(YMsz 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

dmVn|3E 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

oJd6d{T;=( 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 Q`0tC&+c#Bw7XHnD0G%9=*#H0l diff --git a/unfurler/src/resources/img/lightning.png b/unfurler/src/resources/img/lightning.png deleted file mode 100644 index 4686b0ef086232d77b191cf731f2d4e6adf42e0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1853805 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

# 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�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%0Dh-Ne|jTv8#l10f_bI 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

YDYcG1GE4S#QZ$ZlUJ}&%`FF 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

iZHRo0LkTGjET3eb_BpU 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
O-7)spG^%9=*>{8M)HCE*m4k-C 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
%FgLD*{gf1R?9+&O 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�Hq8 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%0A3C$k8sA4b%^#b$Sjd)%$*s_wXj%W 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

aLh|R-oK0q@)4c-mCeBOY30VoT7 z)$5DBWBv`xQ0EF|X+K8#uLRDH@><|~D9J774x#UMTnB;U@0GP%v~ufBy7lfFt*0$o zrt(@^U8jXK@4NS3r_GIIixA~}ZO&dl9ns5Aj+h=sX$=yArZFTSHH~36J^IzlGdkQm zlyzZZ>9JjHwmnxZOSCmadl{|JGQ;gpq*WT)sUTSMJOSe~3Gki=-Hb{cdoxWw$rA*{Hp_H#VN8Q$J3V~+R@4ffAiF@OF|L_n0i2lak_}^Azj7oRp{Hr|9*cQ7b z)N5+Gk%931Jw5l>8CLJ9+L*oIJ*^tXas~W4zsLar7bgdrj6vivk8a`pNesf$mwYMQD2Px$smVS z6}wdJH8O9&b+oS6YZXgWkdvP8&L5+H`<~v@@rcG5ma#Kt@{=)(tD1|sjl1I{j~R7+ z?lJ+Q4)`vz2siN6K8!AOr9u0ym8?;<*$b`W9rf+?^XxbAGopHJI;*Xx`ijo$@7g*z zIX7)?f%4c2jo971-;W%!hKMDaJLE;sn}JRm2aM!e z`5@{>%H(SXFNLz-6H68HGP|gbSb+{fpDV_7hi>#6?2vKmAoztC>6vM3>1lVS5@p?8 zHYy~YX}J)OjjQyv(61O_RJ>Be4P7&bOz4@&$~b)BfhjmIfU;ubZ8S07Qkc^Jpa?Zz zW+6&n*bt`;%gN_x#N%&BxxW&OR1zl-_YAk5XiB6-fi!O9wpX^lZf?QuFDuTD&>Ych zrN0z-uxvV!WWr#`l*Bd2E`nnn2Ln6MBR{8gj%^bpL8E0d517ELY0?ifn$UHdn?KgA z%rRq1n?)Fwb#x0&=D-e4Yy@X$n4t9iTXN|s-OAdjSo1(|w4BuSJMvDyiyC6z1X^Tp0Z7q?tlIDj`;E=+BN(6=kwGmD0fot%5sl`O$6{YXLr6Ie5fk( zreORQGM@{m9i6_WOmhe@fFl!pgM<3){36SLbGmY`xrw1-(o2Z;`Pe$0*0sC59zYNZ1L+EIV?U9B!vPdLRJE2+RqCuZ}kp90DbdJgRr@5u|1Qc)4>Wu`Zzjix0 zqrXN=Yxikskih2SR|&kkqNBYl+I#klOY)xYK1Fo5F-rqf>Kl%^< zL2`obXy&=K-b0&QPh9C1Y#cHCnvdk*|%drfGKv%*H_1gAJa^p<+2S}T=3 zpB$(x*XEaL{pMZH5Col~O2<{AlQsdyd)u#S_A`E=+I3~WN4FLD2c_FlIR$|IYI;WK zNe|ttBo8i*6PSLnpTPSa*PB%BF6jHAR6UqqT4p+8o?G8w5bP2FI*quLEXt9hqRcGI zp#+Kz))KfbnQI6lLa*I(fF-B~Grr`K%SZeBl38dnO?7q-Y*wAdz&`)mV^C?AGu-YZ zN9*(q8e54FB$xw0AO5f&)pk{&R|MT5gPixRE#>0bz6rH`8anoxoCPE(3;{04$ZS~0 z&+)kncSBnT&{;kYDvdO1pD;VM%GI%BX*;>wgyJO1wsB2HG|i^0wREw#yEX=XIzM@p zcywI=^qgrcRMkD7Iy136x~PS`c5|GKKF{|#Jvq@}4L5Qdr^#TQL7`mg%ur=pENf(I z$;*39ux-9JB4Btg?fZy%xK*7q^&%q$ZtXOt#YE3dGn;J+{{meCH0Ek5Y0jW6&H&f; zLktjBd!hIC`rIw3`J=pZUrJclGm=(p<$mS>1;991UZdr;bZBvlwgv4sP7{cKcC<^`Gs1z$=|Av(l6MH`!hQk# z>2UyH%jLR5EPXZ09v9&ZeL>uHFJxP>;kFhtYzqK*<{)AU8dxkXkvN!;8Y}e3!YFG0 zV1RNxX;94{O5hx1&`5nhEeDRy&L?_ZxlIdcj)%{GMaKykyu|)#y9(*ks=*sN=F5vc zT3*>q`eeYF(|yidpP_M>rMqu_F0IiXSK)zuB-Mo$n1)BK(J0oTCtzZ-^-x8EZ4LBt zhrNbCfTZ7v!FH(vHcIC`^Z*Ah0!+5nVNy{@^d*D-EPxsY)S)wGv5rY!^)vuA_kGnC zA0w?U#*OAlg5a=OdoniI@IbX7!PqmGP$?aAfkM}qzzQ=7Tu!ab@8EoC9 z)vX1(@!GpIGq_6&^XD`ir*q9^+V7+zZ{2^3KKJfIvSnJ@d9g=Nl3e=5_ny=94}O%K z0!MU|=FUEf@koM|+N3fJo3d}z)J@QM?7hGWw*Tk>?h5y`Np@06L|8KZu&>JRM^}qht{w96!2Ri8o}5rHt*+^s~3z z$!w95+-L##jDh4wIXl@5G_^S;$tmU_n`}p#Z4#W-8691P;y1K=O!F`2hw>B)VA{(x zUHDY!O6|bBZ^d_RerG-#Q^5r&G!+f_RWn*O8s+cmzGuvUivQp54(aX`pMJ4Z^Npj< zD_9UkD?ZU!Mo|ImM9yGiWg@ye)-92YX2t%uAfqz3JmWwW=8-X(yok1MvTA<(PHgC0 zN+oKelX9NW=lZjNBhA`2H!3D4m;Fn|Qs~04xz4`XusX8M_>RXDwHZr@ZfPeUS_d__ zx#>l|xI#5CqDpQRzg11+{_IvAP}I)0xr%SiL`E#@Vf)qbotLw0XG&!=%6OGV85_%O zJ0ls{Q)g~QEBWkMhFQs-u(tJDEZJVVJ(=*7NnQ4J8+4gke?!VkXN%LQQ#85->`Ar{;v}^R7-jogQP4wwTir71!U`x@M@Z<@nW01eP3Fe4jx{%f03~53P>#at zW`t*I6J=3l@YtO?J00^{1}gnN>^>@J8WkjZeR*EYbF0Rx-)o}-fNi~l?VAY<2bx!} zqQ3lM`+oQKjbaqY-(1Eo8KCUo<#NJOqP>l!tXAHCk-!>UA@|4!ISt%4Z3 zmR+hZG(u{Kl>1r6tCSn7>2Hz_sCqxTar+(Q_1b%qcx+w{;^aUG4T`~DNfuJePN!hr zD`V+apY2K-*}53rNLDM^#4@i)RI8Jn%5S!BX1ofGm3=Eb;N78A>zob`cqg0y9<3`k zZY1yIYW^v3wkE1qNQrYTj~yl8<65~)63|fiJ5gZJ!b&;73&2y@-v#iD+bS@H^0?u2@_?jd{8B}A02xsZ z56+w`WEj#ouaR$KAu8IO4t7XsxK|&>i{6V?Iz7{OmYKC&?9xfWmO~|z%~miT$U#)f zj50($piv!REW|H;39T|p$m%#`2N#z@M#*V_iVLf}4(G`!iEQ+!`cuHaUhd6FNv8F3 z(Q1XgsD}YMoXvsCvSDK+aRxq8X*s&k< zu#t7Vy`_3>Z2T5Nb{N9Z%HLK{o#_QV-`Xpx1ER7ZR9m1?$7)j+)o3jDQ`db|ngxv^ z*aIb97Y3UQa3cc(pJUz7!}~lrl`qftxzr=ZApL_!T7e@{sc2NBahO~Q)u-ZQ1+a{L zg;Num)BuUwR-C$G!HfQ5J1GY%M4eJ71gg(vUgT_hlv1B(=kC?n5j&M-3=$*&?K_v8 ze9IfR>F#HKogRMvYrKyi{OC{U#rxmm3~+7*fGQlJmFyde8TgeR@{%zSEzm~+uPi5t ziWt`nsl~xY0?e2B1I`3G-Y4k?FLU5*aIIP~mz;BJH(pC1)g4;gxWNwWqrK;JwDT;1 z{!clp9lb=I2_(UlY0SixKE}>IGTydxLs7yZG}XT0XXYQRlF;Pf3aPXKU@>SFjuKR5 zeF}TbLy&c2wn3!T5BSTn6{W1Kjwd@;%hU70Hf{BAe32ZY8?*>JBk{q~+JNr7{WZGv z))(lVFWg8D@8py`yrk_%7xeU(@6+L{4`_Uz0OSOkplX1ew=U@P^qiIxu(GtYn4FMj z37oksQRv3pT6P@{ew52x-`Y&i-lFyUU!=eA=ijB*ml8mczIJqQ#B%@JPh0xKzy1H9 zryu^3ye({-53pYP)*?d)8FA7ZJ-0$?#32jXA8Q#|oDD87kGa44{QN4To@~>_{<8#ZZ)*=);&QMk*^VFuE2+*Uu+v;uR*>DEXgTRi7PSa4INqj% z{XH^=9{Sv)zbx85(9BYL4}oq{U4(mHUL=|yrZq~y*TLRS&H|Ly7;2@qrR*i>_waC= z*1<#Ef@LJ-k;%Vm4u~QtM5czIz)PQPUeE@f15gpAu5quiRtjmIQ(8Dq@(WjPso|@)X5Y*Iht5q|~OzM60wrZu@JKr_AOr7dUc9NoM zE`hTK2dirdD4C_=K%4wtB@{a^|7|t(dA%1GK?5sXRpRXAl#0gcn6BM}kv8AvBu@~?!Ie`ebmm8@zsot39Z-qi<`bRF&Muc7m;xB! z_nv|wXb-{tz>|LEu)buhj#^(0Cz7|9{W&Wqd+<^#fT{m-)$izJZCUM1M|mzup4_?r zI{O3==w&6qA>XkEXD273|A@#NtGQG=*0-@CiCaFL zq&*&ANo%B&(;d41`a6k7nk2iPaMmxfyI~}a#>4CjNjFJ$3gq7FY)_w~5=R2vmpAXw z#_hLgVR4PirUS%&^uxbLCurqx>owZC_mJNEGk=~w`{mc^N8foy@Bi>e48k98|B8BP zyhF(1-U7FNIe76Q?LU2A0s>IkrZ>lBnt%JB`tQ^6D-w5!8 zU<*n1uibdS>$jVL<}s>f@fl75>9ijGbT*kAta8g80PqOD>&-OWdpc^1jNnS(n|y4v zO;y8oVUulNtU)iy)h0+*JA>%(H?*V79#QQ8E?>=iG~!^K?o-UJSy0F|Wqzxaghqz%Z5MBfNb zfV{g*Kp=vvHt*c0lf!*F+;PGpLV-q+%o1c`jYEI2dq%Rw4k_e`wLdEt2{@ z$;O^pV0$aZM$V3CS(HF_R6U|L0aHV5!-Xm~*!%Q+Zd=fbUndxIs>H_s+=rcm8|S3o z_?+~RN0pY6-KEy9X0f-r7A^N;ms0I0hkk`}_vs?5?q&f~Gw=^4`9Cw0=p(2OV&Hv_ zHg4RfJD>Ya`pj>7V0+7s*ylx^|dkaeJ?{q| zH#s3P-V&bo7Z zG@iu92gr)IP7Rio^FjSY1rQ>d%ziJgseVJVrP81l=7iG0H>YXs zBuM&Fc-Zuro`0z0vqm8J&6~IA-}nHIKykmD{~9f?ELWfX@CQGlfBoP1H);RiFzf$@ ztH6=^$*Hn~rY9!K_#ykTXA7`f$@{zX1}a-@Cz!Sn*b)ve$q?P#ShJFsPFd<!JJO z6~3fGTpdZ*I*ifYmE;ILFKecIv1zN(Qeok;mhuRX&lDWOKIiwa=GnhoLx45$$3xPnE_qUtIaROya&|Xx6bBbzGJ>5=5Lfr8#3nD zx-4*-#Hxx64HZw=noNu&SP)H<{Ts%2`FSpj(XTfron>5r@{G)akK}O2Sa1RJ?G~DB zsRWieTtJgSiQ2x8^2v~E} zOuVicxW7j|-{|_cm1oG$r2;^{xu5K`hv}O7h?i)@*vI9HXZ+h?0bcE2PL$caaCmFpmy8gO` zEHW+A+BE)Fq2>*a&XdI!iXB?9>l_W*Y;Zhl;k~-g&cS7|X1EILb*@P^bl&DmVCsd;)r4yX# zw_kqD2h2ievL8kZmaT^}oyY{>5`D2eB|GR8yqIQ)cVBspDxE`0Z$_nsc5B+}%D_NX zzGO|`_UC6J$%Y8<*7|sFFY4c zm=Q`tpLXV_mBV;T9LbmUce7j5zNyvYmZ_hG1hgAA)+v>NO_whou3Z8Yz4$UD= zt&~zNRQUv;12SAkoRND$xiW$~R2NC?!%a-Ms?knFG*zE=cFW1ndMtm+%j=WSl_By1 z2!re%Wc4B&-vTDMZ@6YcwBwQy&Se~Vo%_6(Gl_S>lgP4=%yE?!oNYLt_uoKubDD6u zcFn@ElIHB7)HwzP#+ag8>%rS<*2!2hs~cHMzaYNsp6B6m7HA~Hs}Z>(W!?ppV}5L} zG&rtXXTvQkiLJ!W9?QDPr$p6GtuLJ~rI0zR8_vSyn3+$GXk@!eZ}lanVK@uWvztLQ zM9U{<2KTUp?a^wf{7A}=g-%#vsZAHC)We12X?|%yS zl=(6_2X=PP@t7skZFqjlnRP)+lY9LS8o2+?H|XJeznvUm8}#DiU(wFvpK_n{%aa4P zso)Hh(KJPNVMyaPSM7<>`f6%G46kpoZH-p|2q1$Fl>kse|0+G>id!vcd0~xOv4bUK z$zbg!t!&+=wOen}&4*v4(*z2_xqp;^f#bcG94H`x7LtMG%Z-UmNm@byni~#?zpFzLNbtT};4pN;1^0L+btYdS4#STwI+2@($#NFJw z!Ld8N^^B%Gp*q|Q39DaAAFhK{pt<6v9*vK$+O8B-q5QjhxGE%FX-a%2|fGe z582_kk{q0n6GH~prE0^K_S+thglBs_;St_%$OlwQNbhYWCx35dK!fz$|IAbYzvCDa|z?U^YC5j0q9=2!8&+&wwu88SG4{7X}Z^ytbgn6 z?Fs2l-oi3IHa&n$#2X3ZnpwJ)0Q(IAj*@fz>gZ*9#*-X`%iufabR|7k$Kz76XgL8< ztDCnH;=Ux+M3Rm@JKj%D_(Lf{i*`8NM}Cfb@&XVeWY3{BM*_|OXtKlkD$#ucLJoJH zC!2N`VT@vKFVr(Rc`&8xc` zc}O5#sr*#y%}9QiB+zjw0Szn3UOqkA=Q8PW)G~;Nu?#Ou#vi*u8qw@*&$gwf*KE=Q zLk22awVCB9()Pi?Lj=4f-8NX}GSZj0_wbnZ_jZ!qyO8wv250`m#y~JEpX*Q&M{U^1 z)lQlumyvnC#X1nSA%X(eZ@)ogE(_BY%aqxuB_MXtr%XBuLU!kqnK9}x!O8YN9U^@WSEac47qc8l{U!cGG&-`cU zWaonZ-oO9%Xy?Tf1{(q7NA1Cl0JvV7$MJ5u@4=2%wvlXQJJY}hKuLP(J$=Pz0hI3^ zaewR%Bw^Kwm_fvL54^ zWhyh2ImJ1f?$=M_zWGkVpik)h)%#psr_r+@w~gz`x#sZri2Y8eaKHe(I@KY^BLdA) zDQ2)rqh#}qlb&i4zezQl1hyX^aOrBanu8n=hkooF2<2ZSgN#NaO&pMFI?F37TnPfS z1F$_Le+X$Z3xbQ0-8-YU3R7rWe^jdhh=n!`fdTNL&>Y5ddYEj&bERtu7BK%H{$L%s zT}S!@x!v@onh&o9Y2ZCz{jX;VrWv$UO3&v&F|EKg9+jY8lL76x*uSu4mp9jG z{f)2D!_R(^-uuETy){!TPF@?FbvanIK`I4VvKh3kA3n5p)$=y+P}5I2A>6xpc6HSHwJUu zk64zVQUKO-H|gx1S5MQ~d^6Fz*aoe(j;PKvvDTlJ^h+Pi&jxz=@{?p2zSfbABLC1f zMQ&jJoSw8sYcvl_>4{I@ZJVo3R?opY_DYHQ7&Tx{b*g;cXE}*rD6Z_VzD4T~zD}R} z^|z8douL=cdUUdPKsWEL({H^#Lvvt-exQ#|B7NuEzo6YuKA@xhWJ5jqn9mRAXXg@} z7h|q2JCo=fl|nF&;l%|f1K?RJNq3-{&C$U=2Vq$dVWt163kAihGMXM0R5f0w|GmcT zdYL{={|CwdP5z9C+BFMXCi^VxSeAo2Hp@Av4#k3JC^ja@&QjKY`qwwF|tn#rv(D~;@N0q+MPzepjU zsjTfI{5!Kt%hKwPWlvl7$L_)Smu--uCs59SA$m`vN(uTJX-=|Khys}QBJhsXgK4m?ME)+aql1@W@zksSXUvg`p z<8wsov!d&#TI(eHe#~R(ez)@fTk>nhr-*z}`GSqn6drK6KvX&)M^BD^%nmMNBR^a6 z_zG3`peY;Tt;uV?>mQxh&VGz4vuk@<#(*EpPif^Z-Pr#Waw&qPyAMH0$%c2)<3b(d00yTIumnSN*HumE&mom1~cjje9FFdfZ6=JDXSoT6@2;XXk|0h z5GZm!x~22c97G{_$3V?!a=x#fFQybdQF=xUjf;p;;XJJza=s6RYDo%n_+6w*5b-QL z(|4SmL^T0d&+U9qhG}c5OqZW0M4N@bBM2dM?MHg8YALJ}{M~R^?Q1{DbdMoBUj?Y9 zIB7okaYhH47G^K&&BmaXC+0|R7;)VHMN3O5JqQROhbr#XtR<>A3wbO(31Osm%c&P4 zSC*-iLKyH%QEfXVf`moB2v^DOBOSoUsJnub5j%7MSx z(^e2%n%D6Q-=){fvWRz)3E~)&p0e}FiF?Xfr};2VMK8yEzzOvp zHIf|<@RhUlCjj^&p@WJX6F;6VqfW5&pDXgdK6n-~%a>=lYZ1d;q2-p{)1TM>`V7z_ z%H{zGJ3HH#3PuLzDL9JV|X_XQ2ue6l=d$-ody6|Quo~$&Zmgu5ficA7jLT(?xIz2=I(z$Ys9k|;{ zU-B|`MV#6ZQRmB5QEUTZ%;UGfAe48NDjPE_|Bx9vi$5s;&H*Bk0WuEK;9lS7Ec^I( zE(JRha5+~Die!MUKLBAZz+V9B;n{){d7Su;`*NxlYBGPw{xB_T-+FOo8MT(cBRJq^ z<_GLR8F87!3mzx$ojLrO*ON?0VBPw?cj(UBU!lS3Z8|x8MY~Uaraho_ESy!R<>f=+ zLH^15mD=3!k7myEdd67F{zvJTF6%kqUWh}^J~)&9pIm}Hi_N^RkOd3LNr`Jvj(%n1 zesXBeC6M$mIe!n5gYFe)3k^|z6TuFg3EmdV#;edN_HxCTAy)E&v)!o4K~pj~$=tT; zI#xPfWLclLx2IWb?7YZ*Eca_yc`%0z$3)k#3zh+LB^vE5Y|yvtc# z=JfmjuivBRzxp{{B)Wh0YMYLBUZi_0m8^4=uti%X0At2|$_o9y*kjN+2>bw`0hkz_rRenpSk<@KA?AKaor`j^3*1bAE~XZOMWHq!^P50UX+$Up># zmDMgXxN9wm4ZXa&#-)?{gB#pKeVA-btnK;HHXQ>r;vn52>+Lb~oXD6~10=D|3u&*G zQ05n<;`I;I}5~$Ano$P>1v|1RYy-oXz(!du9 z{F0!vVd9BhF4Nqq{$3iOwNX#nq%;zw5XYr8f#(l)4p0eK>;mFF%^nBX&w3p_V!3jS z*r3v1*Vv|0^y98-FZvKinzeXdlpnC3l@^5(FslWw?z9|5$aws`?W$lcYihM#TBHlEot zM%yKzpDOzeWxWS$Yf`Zx(ewG)nOvX#yVUZ{mPyppU`4bgXf?}J%GpXbF$b`r(vvv{ z8?_}{k!JvY2Z&%}$(iOYSCir+aVRrXT#{@6fM)@QWn(k{(VV zy7WfBqWPr_T3Wl2fc+yn-hY@3S521L_+ z`-4ro@$k!Bfn;>}goAuBpt1Uiz*ol!1V>d8w9w)zC0qqu_yL*ELR864m|J806hW3V2Opt8_5rz&N}RbaJJo)P?V(RP7CRHsq2FJVv&`4D?QVU@p;o z2(uhiz+-|wnqB0!5@=}x;FYTsvK@KFwp9}Z;0z?K%3yDto*pMV_(}sW&9)h95=&q{ zLAwfp0vZl15PQm6I?4X^8_ihdJ#TrQc=m88y~$&gdy8EVwJMVQ&Q&gTj+-~%raSNc zCcXI^Yjh)la2q5+IoM0s@%W1F3FbSZtdHc~kmu=tC-QosoE2(47OQm>{ZFMzuB`{vtrKfa)p zJygrgk7~1>OVqhcXUJX=wC-C;a<#umB_R#_HcacgpVlT6AC3({?_>VnHlK;*43Cyj zs9wlb>}BWVkf=VjVk&&<}{ESUeg z&A#-?(#j@Ix!%shw!2Z=5_lgQ^OURRni(QQM+o(f*>0Lm5vx6xy%2jX=JOO)4te9f zsMu&18>5QEDqp=nzgFLKH|Eteav9#!?lS#n*Sw*>Kt3OwU4UXPAua18!t6Qbl zwmUZpuB3W-nQbWcsl^IpgfD;A#StlbKBdka>d}^S$mHC}RfV&2Ws~v0vfsAW-MQ6% zXI+5kq)(uNX;OZxR0YodKjuOzCmZ|Q(OI_F?QymT%#1XFTPY4#u}NMqKX&(%4kpkf z((5rzkKdK4$Pdw9H1RTf&0SAaRSnL=j8R*r5mjL<9ogj{BW^{-1*l-#(`d5t8&-T^ zzs6jxxl4Qeowd!^q8V&{af1@P%q(VRXQM|KG4o_7i%_N#%k}naXAO-hb5@fLA;#=j z?Oxthiy}0rVy3*1RD*|;0E-*M)Q$GT4O2m8f1lXBZKwu5<>&Hd*(k@@ZYFsxs6<$lss?P4ZYy5`)C(Ojj=Qp>`Q01Xm}4Iq4XOm&d;sq52GJw| z%kSK$8rQd8k;DnZ+fkL{zMA)km-}>de3}lu3)H2tBGf1={YJBo$6U_)O2MNdJGxB{ zJXN}pk~ctt`+jYx>Q9c2iXmLf_7WvoBc-~XIz&f1`fPTZsM9;k8SQb-hj;@9vwRPe zX;;~rpgf1HCrvKraZ;r-^opr#1rQ3L0{~{ZM@t3Vl~+$45$KDEadI!{8F8Frf6B9! zhqD5ZfpDMZ4(b!5`9e z>ipt9L zhb_vFC+~1p&uZSr%Aj=8wgBjkPVM<7E3=F*a)TVVV?E%I1W=1I*wHzFdzyJ7I&j5I#i^5V-O_;8rRH;sB1~8zhcnra56n)eLu}fr+Z^bW1vewduq11=Q{=R113Uz{J( z88X~Y_c_a*??-CMIQd*_ZK67O$*#!m5VBw&v6+n~g!fpNYn2D=b^6Sgze-@6maf zp^rXzLIb(3HP(#eSkkHLO-;|5 zPqekTc9VL^=?(cQ)mM^(H95xj(wGv#X&K^6XY++D%UUlqpkKztKCp+aZEYp`+@RUP zO%5mk&!Qjn(f+FhXzwR*Jx5D~H-yaiwcw9qJh zGQA}kf#4Vp=1KhBN03hffso-Sa`BvL?koX0XhRW)$SfQtFzW>!r{DYizAUFF=|>lED}UdP)Nrv{Ibbx*(UYk5OCh zG+Dnf4EUs+P=fClr^p!vNTXeQ_ zOh5YmPw2@ne#%t~*uF=_le7*1;vugOw?7fPl{1e=VxuYN%`FZ%%M$wqzJ|?obs?qn z^$<*Sjl8f;cwe}z=cytYzE~< z!*te3^gUR=MRz~*&4hoR)6-x4G21Qd8(^C^aCIkCs+eC`5_{T$4As^|Whn%%pK-QaFjD9Wo9>w;^j_x3((b=Mi)@DfUZrE2in}eTP z(WMg5r8iZ(Ow(O82%k?4te3d5SR*CvBL}n2aO;gGeKwy!OxWcJ#>5~{`HKTDwQ3TM zB>-@T$qqx+5`f{bL3u3P$6YGkA=7x4D+-9J<*aiaN26zQX{*ym@M2%ipbhwUEVAno zw&O^G4Xn~i%fNNZHX*9=%qG3LdFvr9-A=ad8}HEFn~4W;K31{9b}($IWG`%P&e7_O z^=wC8Fwx_aNY6joj43qA*-&wFe8nZ7%p zWHj2!Ajrz9mCPZ?Fv)DJ%f;Clx0}iHr%CT2b+l1;{8gQG(Haqf<%zy$P=N`R*HFnVpE0PmU-CIU zX1Sg}&-PWZQKym$tuvFBg4xN4T zwAcau{cJ*g-w;DiDzo*q@%uT33EH7aw=g*tbLX3h1jZ@*D)iZ5uj-zGLbpO~sHHJQ zfBLj>lk=5}JnB}@urYc0R>tWzPe+t>Wk-$_9?*5nerMGSDB(`iUY^nQA(h}Fzh~1F zP#H-j1oEJo%IR4Vo|~u~QuP^*C~Amlx`Z?b5RW@*&t{9#FhR`D=JKpOgHY~X0N|!_ z+S~no6ik-M+TSwTd?|mRmW-CiBri;(4ZI_WiZYS=hibaEGhRt&!C5I4D%TqWSJ&c? zE4Rw~CIF2&{g82LPvJu)XB>?4^Gc7TqTqOju?U#5xFPp`wahcTcfMM+M}UZ%XRD#%^*kZ@?LmBgF84?zW9h@FLYI}@iUFn9OP zdeDSG_xw~bd9_!a3CCg}mHUYzM~SDHn>ly^81vkUBJ)82UH*z>{XD5Nzp|E{Om}kQ z=FjbdNYjnoiJMX}Yzk5PXfdqpcznsx+i*&wVoMC{nTarl@C!b|y z<2!R^nruf>E;oSyvV_60tOKU&Nte;v9_E+Gk48(em*IG)rO8oJ1yiXt3Yr-wj(j3- z;1%#Oba;J=!IWN?Tmp2+d~Wn+1{BNdp2|(;Gm%T&TbP|~dT?z^3AU+h(OvI6lcHg) zq+YB_@|w;GPRmc>pDrEpSCyt)Js9Te%Z0g$g#zYzAFMYzb=;BD_*K_GXRF8P*1q#y zq9TJsb%U~3+NVxradI>y=Nhs%C7Z?>KMDe~J|*IVHx9Gh(>NWKkF!2wIqkd{v0Bhds=c(o#j!o zX-R)JeKEJR%1#+L?u;(&nnp`vn%oSwg|6H@oIC7vROeCKw)HyEl>Mn}6Sp@-nNwFk z*4j2Wxm<2i1+rzH>j1m?Mo9pm_!`B~u;OOV*8* z9hY*6vez;b>n$nes~au*+~nC>X1VF&+$XweN(sztGmM2M7z7?W+pfv0We;b!2>&mD zyew5qW(V2d%#*l7zc0XAavqtJfkEn#IAt(kLQb|u zCqxG9!?6hG!fXNz5TIh!7i11W%Fm;Bcj6^vr*pPC9E`1IsmF27RA=Yl>^wW1pseC> z$N-;|@{T#n0aLKDuvT?P#iSgVawP&;W44w0^HSC_IWq8BJCd^W*7KF0uUS~gT-&() zHfMXYbN^^3fv_LY{)Qbq|Ko{s&p%2QydZY3QbP6Dldw4?E zkhWt5FQCSQ5-B_bs3sGUd)`V>7M! z)?IcQw+ap;3k(1Q_6{_JssL~pa+ZztVAVNh=ViL*0{Ti1wrJzd1G;rTf%3O*(!%D0 zeHKAF3rt5>XcduUh5#TJ;zR~raZg}kUPOfgc0+UZmjSo@m`$KQ^rw{p zhP*gGL14)qT_t`vKHTBHzoZU9+@n=z`FJ>%3@-$_wcakFB4;ROXF}J3!T~`^Mx#oC zmAUS@)(4!)h|SPt)1=nBIKvH|cA?^DVk@|1(LpoYF6U{4xFFPyR3g=FcVY zEA9Ex+D!)MFA^P`?my>p_N2Dh-FLo3U;FLfq}y-3O+Wree?TAnh-9{u z1}a3Q<7_v?!g!EFC>XG~w81TNg5xOr`{>{q>&@}F*z7nlA;93yJKvD9>pLH&^+{`+ zz+nKO(z;}(s;bC(NNqMLcfKUDGazvBPI`Al7fBBdN2NlL+0>HltQDsqPx_4n&h{je zR4Nq7d5cYY2AWBH5+s$EYOqe$Qk>Rp4!D=!H9;k<6IwA0IVfY8?K+7?mor;Xz`fDx z3JBa7vM&%%g1pDGdwdpS-vENRIjet$f#0!~{kMJOd2(radH?c4`n6ltsiqMr+ixQC zD4q|%6d*5TzxWRu1`#1U5M*wO3*R|8mH>&2LdD(Z``Mww-eYt zllYSa%ts0OnEXh$AAX*0KiH&|#XzgNqF9mrv|gV)y`+_m7SwhsEMleM61IcptN7LWFJXerqm z(gx;Kdy30BXntXt%DK}SE_#gZ26|Z)pG<$je8;L!tSv=!KBHLflcjE>KgX=xSf+FP z0LZC3Z_}MOZzelzBZ;WD>E?r3y1SC-C(-Wmj9A@IpSKA>{~0|yJfdIx-~&24e8%<* z(}ZR$!(M`|!?w8wSuHKEFl}%^(%A`v>=V-8?3O7yx2)8p{+RHm5oKKy9iMw^U@9&^ zG~o}z&j=ucJbM28V+pX$Nq-^tf~M;J&U*}7a(tEaE~-bY6gx+^{OnX(ll0SBqKw4r zUU|vU88)W2bW**~fjX@Vpa|1+E9HZd6w;9Ih@YO=rsVVT{383Vz}NYF6}wv4%l9zx zO!ah-_eW3co7t?o-wY^6%08Mu-Tz-L5t-kx_~<&{pXM)~G%wtnd_b;rnw=-8YoqG; z_%M_Cr>0dbec%DbKlVmi}3RF$3#-z;O6#`vXah#wo}kqcq%wn6cANlLw1JS zrja|+hO+2HPH^UZa{@%KGWS`%2Ts`N0Ble5+*HBTS>#UT#BqD9B{l^W!v3pgF&Ae;(c8rz@ zuwi3|dnQ2$SxL)wtmV@5FobdRN-0-Nk+Tc*P$>uZlJS}|4Rt>3d^6{o-$s=!xy_1a zCJIgt)XbRoO|LOvNr2=|mN`)_4Ot!<@>irKfHzcYCYQ&nVaC0rqB^W?n1$}@@!|W4 z4l}*@`Gw9R6uJ$%NLG0+i>DYW!I8(NbBj5PG*tW0IyF>}(D=~SD9C|Kl>kjKo;abduRg3`x>s`1(?7L(*ULtQ?x(uz6TLO%;c*+|dpN1<|(*_y)fR!VVECDF+} zTLa%~yWV<4<$0Lz^8!SP8pyo^rDCS{#t08{0ttLEl7 zBh&{^f6GwG<;dA7;!r!!w=svUpBD}(a2O!EAAutP-Z|^K3D%zBCy8-2_V=>GD z0Dy;ZNJ9p0n*$M|lxH7HKR)h-$7QJ#U>oJY+taexC}+pn%vvTqgp$ES%Ht?uwzRxS zN4rlMEMmE50Cusc$Q$Gg8mm5)o?Wy2EROa^k7O&UO)=}e$%Bgi3jV7ctg0+@j7I-V zzCq-2zLV4Op)#Tip$lEaN?q4;D|EmTmrL6(F%S+10zh;DKOGJGm$ReT!J7`T(id=6 zoKkuaEQUJ9FwW)M@__&jDeM&-jA)~xfVq7qa;2B6Y&$XE^rh!+PfJ3#t(IcszTwv5 zft=$d=)Ogf`%&yUNz}H?<(5h?j_9DCmf2)yLr()C7@WDvAS8A4la13hl{gj@2v4B;>>xRM7LYbAc210(ae_?itFvPUi2R^8z5Ybj;sD>yOXc>FCub$r*E6=%FX&EG5HOvZKT% zlfIsqla;SFO~n<1LXXT*$28iX=M15l#YF~BgUX1r!M9VPZrZUS$GWkC0bZn8PH($R(daR|5KBJ0M9mV-R07#$im@dHV*b1 zYmkhzO@fREaEMHDlz&F%@o55L=I2*Acna+Y1{-&1^Y%L3ymyD@*WaSGySHeee?f-{ z+&$htr{^C&rR`7N=YFinRzE}La%+8Li>?shG^lg9s9ID7K$&sKmz9kTdi#w#w7$AU z55M{i`n5ZAlrUNP=-C17J^O%;lg;(V-}#sx{q#@R0q#W>zqoJhC^?Z&m?mcvABZd_ zHT5DNWPAOdUKg@>mY%zm&sWCZxd(edfI;HRc_~A`ytb*qT0K6~obDyN=VF)386!i^ z+n^XE}6Ie~GwKhKHn znPCF=54itpnlv3BZ0BkU7KC+ieo+D;4QNqdh+DRVrqD*{*ehy?AlMRMeL&gfxmg9% zMP30=0}q1^P|lj4!TM28@OnehBjwz{Ji=f}kAad#1FCzoeX&0|%W}wa7W`uYMOFoY zhupULo@S$Fiq3kqIO#5Y33q4EI+quDsT|46>SA}-I;RWxRxV0@4}dEGH`s7z2^c_G z_xy~G{r_pN%7ICg&snz27DOhFHPIOeLI%x3Z!`=t$~d!QOHM8MerCTy#$mh&Dru?b z=%Rb#sSKdJA~?gaOiA(#rJu)K)_o`y2SyT%G*(-I@>+MiSJ|X1>*{;A+xq%*hy4t? z!kVvb-ex|%OyJbjxs=ogKnW0k%z>FjHdwnKtBL`@6crP|F2l=VKGU(C0NV&b>{`tQ z;L_Z}Jl_jFlEIs2r{~;;2lNV=wXh%+YS1$p;4-qIq2I60C7|k^&wYjdoB!-zr#rW| zlFcDt=KkR+{oX(P5j}d50PX$)?*z)SKmO$()9PZOFJL`n4d$9w0u}tUgw_=pFc|PACe`cEUw?Acfa@!ee#9th)r!q5?>dX|T`sSx>7s1#SH#3&GS*YFv={G4kkx z+U7QPYv08|rvjw&xtI_L7`bZMXej;eIe>}FJ7_DkC;?5}SDOPEM!a?a>JgwoS{5Dh zyw5=;i+qNIY}I&S{u%q)XE`rHD+q1@pp3obVAI4qY0A{sGRBa<|B>I)mN5X=_jaFi%ca||y-RC1mXc0OAT@%+bguJD16sWGCf$4E zExLcFPq!M=4n*ha@8h#TyRQy72!#Wi`#s+KnD*{f+NVb!B;9_vmmb%Xq@?srkjTso zsu3V)2MHh-TwUoh&E+b|00f!_O7bbm0MdX6ZU=L6ob1YE*QD`XasaRN7B6l;ZL#HK zr1{LfWHi&Nr#jQ<(d#&AOHu6R9Jr?ZRF2tVQ*-+xRMAOx*T${4=*EMUbjEmt)?a%_ zuic-c#k8Pv>6)AA!joYF(jV{B&gmX~|EG`W*)M;U?Dv;+dMvGsa9d=#BLHwV(Fy=| z<_~SX09)zw^ps*JGtrN~%-Ly*Df-|1UBN0mI{iyl+=*$2H+3k~{Lw1ILpBcef)(+JM+FT9Tm4CjeP_zX%S6U!KMJkF1y+vV&ys_haM zq*S-Zh)$y`;WR39*oOl>HrSMa^2<}P$Mp7M8~C%g-ZD@Q*bE&fZT6izpGh8geyKl| zDErRM7V#P0{;H}Re{i3~FfpdQM(UHWD$RL~Y;IE$w|y>XAn#wM%5P|acExHkKfOxn zrkUb@qU+Z(5ZeJ#ttnN(^+;A=zX z@4TN`&$#jF%}frL1)bctN&YVK;L~sc3k-HwRd}rpa1#BlX}y-)h5vb0>zfbsxAJ8? z6pAzVU(NF{;&THHvMCH|xk1}wD_GG-DCDgupJyU=dq=?*!7IK{Z%!!B%%l@#ab?Ce zmz#_!@=+8B`8BIHL&q9oCWHc%D{)lbgUPvx0Ut6EH=149eYs&x4kHWM;GSil$h{`y zbr7XFZQtZxj^F&pJu|*%_q4YHsqLhI& znh_-jcXfhsDW6e3WE602+TioDOuRh6VM4S-yp_vb4icFHFonj7Il8CTTTuJ z{5EY(>H(C!6S^?|CzTNbT$;Uw!#ECmD3MA*%8cDJ ztvVs$=w4i0qp^!@h$=+P2)B*$>d>B0xJ2I16)U=>*xfpqTnmopgL4q#{c(;McCs;4 z+$dLzrYKKJ-#b2dCfOr!N|@3L8uO_HEb=qdLNo-8IPH-MZ7=( zx@d}ACKn)K-ww8?)8__=O7;^G23BMy&G8FWGRsp+5Kc;B%XzpUqs z8I5=wjxhma=XeYpeV5B>t3#0j_jtrQaqrz$f!;;{bS`P@RzxzG@w3tlgV#hWoA>Da zXrIAvlY<#VYYQM}a=CJpGT^+(hcZ+9aCjCYSV2Vv8GW?jG<|CPU)pHMDqCNiyq8^B z*`>)COEnkeVXC;Cob0M~4jg1y^ML-q00;p7sUDu7E9&YT0r^ng9*(1tW zWmN%eZQ7V+mu1YbQ%keSd!dwfmjE7VQvjzLXFNrdx_ZwT3&!c>VmE+vVl|cj#V}}c zMwuO+r5An7jLi2=YX!$nkF#***%^)gqHyrQNr;kqaPR?0N0$0k`h)B(ZnMC*@5!De zKn+=_ms;jLbjFtFX8Uaw0klNF9FWJtTRb+|KV%GZRyv%JX|0CmM;d%3x`Q)ZlT#Zd zWp6zAEN$F*oA3Mlqwmqqqn{>V`;c;!vpUxp0A)bEm$R}tdk|SZ+`srL1L{VXnYQq= zW)Go9Dtez|LI}LLIy+2G_zNjLY*`Ijo}JXuX<0JC9nOP-008CZmjP%BXo^0u$aFj2 zdq!soR5;mx&LuOmo26rSS(OSq=d^0)*cX_Gl5-dGPMj~+UPyQ>Xq6=dsxT;%_Htpa z;Xt8&0$VRmPh5aR;PT+;>Aka1@|3Xk;xi0`q8u3hDs*Ci~UTr`Bh#kL6OUqpP z`3gY9m1NGqvFG<)l9F0HvVNb8#BesnaVrym^BlVALRM(4Y9c_d(R z+eR(D9%{!#9IO2EI^tC1_xdebyLFEq++O3pyf@x_K)?01cWF6&YiIX_%b=d6aenW^ z=k%Sw`@3{@W&Rvxk4IxW;@ECLuN`>eV3G(RCV6e);IRN)Z0RZI+uK{Gtd9o#jCwqz6PMNPQhywZo{CdT`N5`g; zIyQSzeeA3ZwT){RaZg;xX>QNe(^9X=vAVb{JkFI6E;w^+Y%;%KI_+( zg4qhK(TOdN=`>@Mm=!&_H{F^Q%aH-)M5oB?ZqqfVM@I}K2mgJ&pV=n)oM#)P-<>$q zsvh(;b*u%@Xm~=qyU&uWS>!-t|0?!>^gi@FZUooOC7^35$y}VVx-XksHkbT;^!}JP z>|B723rmZ9f0R8QX}@RghpVOfMGKYllwVJ;*^7DRd`LQYzdhio`K6__=SdGGp1nLf zrc1O`NT4p$A%eTkPF-I{rEdx8_`m!+ zG)VSze{qxFhE5otyrjbyA9CQ@#@##g@C#q3uYK#iB$rO{a|Zb@j(4RhVA4;E zS{D9r{~4X`Jm+ysWtOW9!uICoCHP4FO#nVG5iB|ymUBobwxYL}S-$95WHgo%+Uz^h z;G}VGiQ{NctMRO^Z?MdT974+s08Vz!SlK{jn2`A>7+-^i8S!nQY5;^ld%w}f?fdE6y+=p8+msV*$N`l^*&b6Kc8hH87O78HQG4z zds1dSLy=-yv7H$efS1G>sZ4+@emshG1IfAa4As^E%!eKW@2yOb=QY1DpJdD$1MqFs z^7c5Nz{X~|HOq6xIUWE%2QqRMpUdR$9rIZq=fIJ+UqTBNJ|m0F8i_ zjT<+346RnMqC*xrF{v#?BCw{Fw&%^S4#`j?VCxl0dk_Sqw_k-m%Cbvt_!#Pt27`@a3} z{Q-@WeTr&Is1kzbf^KK$peyFMygqc(;?jWS@zK#ivawDxKYG7e_B9$$WZ6&#YCKO= z{KRp}y}bU8?i^U;O(dUOgFq)fA4Rmv*rpS-*g=W&5NKLrrr8#;y0292Ld&ALWWRd5 zOnjE8XmFJ5@=>k?R3^4OPdCSz3-pCEX3X}o z^V+msd&fIxxY@zD8>m;~o_$`_8-jHg(~M z@;$OYmBH-RSw&snd9kG_CnAJ;-f{Y~AZ7WBK3!atzl94veCtCYx$~?=&3dZ1R#S))wPifM(W|!n!st*1%|FU0F#{&i z9%V_9KK0V%a}KyD7f947Gb%J_w z9z_V4Q{9Mt^5#LyUHB3m*UT-iJ&~v63AsAW1ESGWK^=c^+Ax7}i6kk{YduWMdSCa7 zk}ac3$Fj#8Hu9x(sg)-6GC&-Tea$ovdcYc%j52agu}VVOzIl+dGe@fFEnn&7dR~rD zves>1yqCZ!ii!QTkMp9J)fXY$P&XoyoIn>xk&BeB#!lrv`kVK|WW&JoW@jDhG1rt^ zXWLK*G%6}Dt5Q}}1@Mn1Im?W)Ae`ioX?$Ne+N)Q)t?~RM7(C^bH$rFzK-|XqS{mEWg?xCfhY_>V?oghiTvHUH7=2$o zs`k|8Gld*u+3%ia1-Bhp5jz~NG($jXz1joxDNN2Dl)}P++B*WP*&?Do(LEe^p@*`X3k+&k zbfG#W1C4qE0Jd>}%0c z9ewByV?|~5BMD9s-h8cFAa{pq0Sn~@E_F!MJp8(Rw zT=M;l0Rzmf(SQX6&0KLw_)C^=ZKo7kCF6qUt3Z~*Ab|*0?iAqMB98;Qko&K5;LF(Q zv&hef%vrzn2Hkx9i!{49pu?9R)2qinrlaH#XJ9;+qYp*%!?DOt*#fFZEpa{`3#d-6 z-G`84U~r$5)&QpW6EAaB3(YnfF{n8vE8&{$W2T2-m_9EDXDp6~T3#^lI51~qM9i;l z%D;m(p8Ht>PEYnR^Mg0u#m3n_vUH?KzY)#3q5bLEO7Q>%wT)b z*%mYzlx}eLK(&IE&6_lvXkvD8jkCm1ns}T*6@cl`XB-4E8dA}=g)X|b8mWw7aIKl; z;F*mZw-Z>uMl(xNY8`-eyhsk=y;r=x9Nee20+(fN1x)9X<;krKCq1&~rF5_KLq0w{ zlybXzRuXm>TASgFMd1;Ek8uB7UY*f02b63i2lfj0OD5=sIcY<2ah`08^F8WCDJ_kj z(4-~jF~+eg!JZuowh7KyHtpVZGY7RbSOfQ@Ou3XdUSwVY(2X;ql<$t2=DLn$+s~ZM zW9m<{H4y+XGb8=k!4ClDAyYXZ0ANfz&exeLWDp$^TV*SLJ3HCoAl%WoPbEMn<~d|4 zFk3vv97qs5HfV9&hP+oXE4N~+i$jU*L$Yrm_U~;g%KY8ukZ}m$oSj=q^jmvq+-3QlPqX?F?69!7z`dnG z=U3cEdCYnhrKYo!lLB?Y@v@>5x6SlvZ*;#8AOIlxVv^Ov1hN6l1x?~RXj1?X>ViuP zkMo@vIG{FH@qm2{+UBy=!(py`Ktws{$82KO)6JMcN7z#qNP_u+juA{JV98=SzaB9V zhS&e{fAO!-%^RB&t9Nj4O#k}-{{KubUu{z}KcE}0eLnHT67y4=^yvA)(bK}y|HZ#TH&&MDS5IHjcYpVf>BYxCrOT638YLNwK%14VdpwwNmbj+b_rTC;#9-q?06*(87X)0uwFF%rDc*jr*)yQC*7E)@$2RVTkSa*#!v} z)eLfgf}@MmvUPE~EiU$-1lM7oxUJa??ASTAEhSOIQ!2nKf*pd28uAX?8@&W%0MOdp zyp4Az2*>0+3{tv>_eN7fwzj=>A(BlN6kE4^F z+22w4Jo8+pnru+5<9U3qvcj-O~;qRt$akcuzwG-N$rV7tAeyR zvv5~-lNJHZw;34c_3K#+B0!}joLyScsm;yyzqV=di5YREwzmethcTZmrHfI^K=^n( z&Xrw2r|3Amy}1dSwFa;1TC3v0J&>#g_bop)cO*EUfaUiS^- zz=|{rJl5G61Pqf_BoN^J*)Y=fi#F+}$Z`YgFgF{ywC2TGq{ICYS2sW)%H>It=Uk0V zvj0(a2Z02rK+}#dIf&r=ShCxp8>619xmwF;MCPxJHOuM0#ReDM8x@gGSH-1c8TGUj&rEmWDlZlEC*NSEcj5jPi5V5RsgJCRCiCIUpOH zL>}y&uGNaoWBR{8EA36NFK4F*Z0{ma%1Q|P1&*%Wlq$OX6>f=_7I;0$-{H7$v+1(Y z)oG%GWVf;MqI|Bcs&sm@yvK4)bYjbu8*uKwJUi56l!ofM zJ!Ks7Ji~hIu2WvI+9bEuT#AbPslG^D`jnljN8wI3*{py3`!;;2bcP1);wVMsK;0PM6X-_ zB8_W(=IH?re1BK3QM*4kGtOeBUI=Q10s-aSo zexWBf-@vq5s9BF9qTqxmkr4#BiX7#h>?@3(4W>-pk2w<%WuYYZY1EjXWn&QUN)OX3 zs-ku?Q+na(9}>wTQ#k^SBVVNtQ{+BFmVKngQwZ8q)5@@lvlC@RTg`s^bbz5NCW9Jk zlXM!?5Gi$VVrB&DF!}VmUrY7Mefn&oqTI~!;i?YQ0>9)4=H4XNKEKSed|KGTouoS7 zy``lpIv|BSvf&cOv$H)enHqzXIrO%j7h9?= zJL{-(aR!9+jt#|m;^rHumPgTlsxpZwstF2CMe;f&Kaaekiq(5NuRcu9stuYdyQYxS zB%Ml6bav7J{9y-a(2Q0OWI3I44V@J^`f1N|pH*t2P^hQ9U>TD=DOnn=zoNARsOB+4 z*8jXaYgvns9q{5{ECzHmP%jkzpHj^!Ps&$rnfe8l75E?Jj$y2$_gU>Mtoed7Ka&%D zc6NyYW$B|fD%qO0?pk)4!O)(Rkwb}Rls={@vY=W5fWW`mA zEgJ1;w!Hq%VEUYtPv&yLT;g$*ZHtM0>*yu#WU0R3?4T^2g6i;W+lWKW+7*aC)5<+O z7gu#dD_>x&C}WDuYh(-KckW$}jLgwF^HNU(1mV1fBU;Lky9z!O-Fi&QWywUc-rYq9 zNRT6(iAyYpt}dkidX^V4W+{VpUA^@>-G1ZOX#MtEwEz4=+E32oqg^=Fk9eJ@DGHN| z97uu6MqKW{uRJ-@UWOydzDeW57@}5*fDA>Z$~=J7ByRxnUvi(ri`;WOI=R4s8a;8! zaV4W*y=TWdpK%EWX_4u>NQ)acXpo$l%Nut&$m8-D{nPiP$LZ-l2Q-Yely-EWcBAEE z8Kj?TFH@E=>{#X?q9NUX_-+C*x41_kKp24N0LE9hZg7AAvd`PLt>ro?c+Pw$`_1ba zqO_!;b2>RaQ~fQx+y{uAK%B*;B?c$JATu0Vy}k2rl~!*o zB$=K7yWs-uJ^h%Dw?C$Q2`LldL>kREZ?qANT?9i}%?%kXP2*-XQ zYjti0fc_ls;czGcI@VKK)?r-9?^@HjebApF^N^(m@DV_)1l6<*)+6Xdf_g?y-^gad zjy^*PcL3<48JcKurE{wt@Mc$0=PWSo98m{eWcz|BpM|m&0NXFgzZH~|Pxjf_nUv>c zo2QK#L^Ij$cffSIA5UJV?tAI?6I3KX&<6lWk~J40S^zq?b9uhSjuF~jTv|?JUMSzT zpg(W#x;dLYly#1C+QOE=9pzB*9W|6}%L=sq&v&9JON5X;#5T@#f(OZORR z5GVBgLRz<8Gsmqx*zP5jW$7OC+@fT_AkldO?EcmN`Tv-1OaSPCj*gG%fA@dJmIdhFT$b2{C5ocQUIme+35>+k&ref^tnQEzUYe)7E^(~rLW zZQ6bLn1)=TrJ=>u8{FG`batBL&32N9$C5LY#((?mFVmm<%ip5qH{PJ{{+<7TUOw5S zQ}p*nl^uZKX@1L__xOx}K((`@eF-`axC2|$nY%Id}~ZovW&9cQWF_A)!N{rO+%*v8ds1O(0? zIzK;V-$-=+hgj(=ABdzuHF>;Vj!-rJJh~9Hs+-s*jWB}B-7<%U+ipm3u9Q-jpg68( zl{4L??F}g($#nwcBZz~vl_X!t73ll2k8LBzeFdM!Q2=MDj&-5>FX_4{fVzP2(oP2z z=?{}m1MMvgmf6M(%`DUVMUpK`$yPz@ml?Ln`%=|}&l+P1(q&yM!Jq)3;YwH>Aj$(1QTi(RP9ZRZp4s zP$B6u*@y6V$x&v^vUW5QkeZyox&-?valr<+YE68Gm$NmW>E)s#hlz4!C!7xu@UU{@ z4Z8F0=je@hHfViql^$%YQkpJ@wSW?S@M26q{6~LCd)v?H(W7T{a`1xp6+pV!O_2u6 z%lz}{iO6maHjLfMh+a`srJHSTtXFDtk?OOuT^OyaP^I$`XaW&FO1k^>C1vLa8Z@CRy)Dr7yL8L#{WubiI$w84K0V_OuS> zk?F)Rvkp#X`xI)MuD-v0x6SPlK6M++Si9ENzHUa-<`#)uLf=&Xf4vNOEowccU(Iyj z??#2LY>oKeDK~a^wsqiyND_H59S8FCT%Pz(_NrIS(}~CQFd&j2_Qab@DJ5*i|lG9*Q6sS{qT(@xrBQ;0+la!f3}}w3v7WL z_~uJK)5L}Ks3=y;ke4lr{UZ^}lLBYDqnPqx(Hnc@kt^rmEW=WvnD@~((1ke~n~ zI<4rpIaJdPQ|8+hCsPSjg?**SLLt0NPTny-g%Rxj#aUm-(F;e(i0ZRJXqkpw{&X}_ zK}Utr;}p=&4j)Z%BIZ)Ce9c%hC`MZ8Q?lDh%S-hXG#|GTJt`#v{oG}q8BDGAy~D`- zs|ma7)Jc~;g_8Ypewt#c9X{PLbOnoCDb(aX(T8P0IfVygU*iPt$Qb?iuQ!OgW9q63 ze?5L{UDRGDK1%2(c(thWAlo0CTA-p~;^dO(v!(16!;`748I1CJvvjbTH$hx91v3lhB zztD1-o~I!Dn_E3ZnOE(Y^K{tZ$GpB8IgV0kaa>*NM;5C)>2K*Ix%=udJHRXY$#R*d z>>EwKLMbZ;{^o-{4!%({4ipH@H+O4Mw$IU5RQ=*stBPXHig1#@siPBmIB;t(94Wnw z58A0ZN5G{S$&@62;EI%i(J3@ucE!sN;gJ%Y*pW5U6ux_2baz6q6P!%wrCdJ0M(Qz3 zNuN-TSO#qXtkMj9T!Z!;D47cS)1mr=78lmEuTweX3Vlhn5P;!Le^!GLNSyxo zxi1mVC>O_L;!H%zR*+K8K8vx|j`#_g(s0yWoE>o4cd|nW1KA3as3Rc*uXqNo))J)L zA8>9dIq!~jeTkhMt+oEhLf`FBD03Act|3o5Ji^u-#cf5O`5yJI5=~TGplkN{n$2@n zU$E~{g9&Dr)>vxfKQvpWPpg!nd~b&UX)jCoqZNO%YmFJSnLuTC)N&*VgUM( zKV0S#85jU$v`4phl2prX^Ul0gM~zP$P{^pMj78`$klD)xP*?s}8um_;(8sz;s|0o; z&oA@8$PPtd68E=6whuD0FHgAt=2>!5UnM$cFw+H!l>YBUe`OtFpjuBV8*rb*bPb$` zaC(4W!K=tj!5;}Ca#Ah*znp-@o9}#;TQ0yUbh7)D0riuEmwe5{S~`*!ldz|)07_c` zWc>n|gDe5Ra=GF-R>zzKyJ38@8r*~GGRPK3mfKicRLE`xnP*eLYpJYcnfPMkliI7T z$|ElOo&dJR!6q%OZYA(^i`S9Ilj!E`c!wST!;2$nhrp$uT{df%uRC;t_6Yz$HgDeH zzPbol0w@Mx6FsZ(@AlJ2$?xW`>1aO@sT#Cg2qyi320f~dV@Az-=wV@^VFm@3A9A#hY3V}^)a0v zozRPqvF9Hror03P3Ft^PiE1Y(8!qdrfoZX}M)5a*siox=25T2q?$9^?%;)J&8q;h7 zkM7>RNvrdLKHP2TAN}tChjyNSLYHBQ9=-oKIdu0~D)w|e(CgLqRDeFpfV#Jn8m$nK zWs2$m&_|o-9ZqJHqX$5Qvg(%rncA*R=IEV5)r(Pp z3MoN~GV%be7FIWz_n4m2Jr8!C(U`Nsq%s6L$Dr?r$Dh6}&^Bly0YvBMFM^ogV zEy&08ReehGJXvHnXaPY3$Q0zDKY*Kwzp(~GJ-3c^ea}z#I9Opg43)_jvxBJ64^egU zAn#7>+W)Z@rxniX} z<%WUVUIux(*W?v&qK^T~L?d%)&rk*(fy&+F3^&n^{a%l!`!o0jeTOmsUXZ@oT-qG{ zaS>>uRd4v7W@|^vtth;E&O3{FJ7WRgbG5}t9L%w@zQLe5$^?VA5Ih6g18u^80Wb}# zGt1R>g3_i2=tcxTNc9=W{gL@uNMx?<54Up&L%K+y{AvQU!AIzwi~uQdv`?K_guYQ#te&!DCJUyl#e(z7{lb`;SP7zdgc0|q0BCXzd$j>=W z@(F>w?O4h|_mj-{%3t^k^yRO7jh?^Qr62#%x9NC$hqEmas0CRG8Hzs$0z6GXdaGH& z2rM%yfQ`z5geb+G))Txa0eTmid5XQ*RuqCW3325aTeGD5QJDxlekCBe_vu;R*{G$y z5oq7^2c!kli!(hNFXG1#_Lt|b-gqqm>2J{GG0NkALg%O+M4ta^T9*5YJhrwQ0G!rt z-sP4i&?~vB50P`;*LU=CgLR<-F_k>b<1DW@ai_9^29VX(M;S-=%~07I<$1OAEz*#v zmeJ*mCFeGA!iSuZ%fXgueE_=Wgd1%?MZsDYNt>5^W@~1o*L=DUDpnx(eJ;tNnSLXC z9ZAm^ViUrm%GHJv&GZ?xN4tdm#AkzS#xVek3MnnIPRKT85Zg3zKldb`76$r$%W`0p z%5@rOnQ>cytFa_rLDXl`(WHeY*#?!U24TM2_r zmK@t47%R8zNuRH7Ez|l!pv91t4A*WtPWRq9m!Hvx9=6HwDk34Bj!r3kcFcX_M~UCB zE~H}1=mI71uQ+(_GRcbLqjc^#J7vDn5=<-uuV5FCia*!%xI{k6Aj}>O6kH`WC9Yi3 zn}s$9U7|Y8(!I~p>+ifpufMiLch~OFt=lVU-f3sk*A6Zsedou|=+%>-(uW^DqwVKU zxIGr^YiUi;QGce$J}X@VX}KEstk~lK$VE=9K-&UqShKMQ#7zHf8OW3Q|A zO>RxC-%HK+4*nOfU;FO+Ui%d)`6u5u(z%rp68X7(>Z{{-uuCV)cu^&|@*LdtUY_}Y zBE|(mx8_6Vz7y}6kS(-OGd)d=+XoHByq2ZZ`=_si-Nf5Gg;&|mzs5f+PoXJK5xK&% z$QkHv{ACilh)rF3+71}x*Q2_Ddk)p&I?o5hZ?eOLM!u|`roY&jLB^oY>2lM;Fl1_> zDG#=dDVnm(hq?Qh8Rn=_lYSF#Vee5z-a&KSE9EC!kjC@xQxa(kl;hD&cqDd8@3B@7?{N}GG6keih} z9&6W7EmCDn(Sgv_%Y=Ux5=6D2@C=LnZ```N5p)>e99`<}Ap=zHi=ue!BDa21hA=T; zzc!lnGfi@%La%hn9c%4r{2%oDQ~3WHp;X;dugJ?D zy5F&TF zsu#D4!E6PTSy@eo?qPd1;4JP@rl9^udOgATT-)qhI!!_K)GW00s?9xaz8~YXM=4;pL ztkO9XYv`yE^q@gIQRgA0uVUsWyC+R4?t%k0s_4`uFUE2xdzV<3Z$T>`H`7#xnVWlMvNsTxI zLHVtw$RODt%hb{_cJx36OxN3_-}U=m^Oa?E!_fnpoJ)Wkm(Nd*f}B}X&BKi0a(@QV zwC_1bz5|53y2w20Z&F&EsQmC4vdM(J?ACWt|0N4R$csso``~FXoh+b6trvM?_5mFB zWoeYgn@Rm|QM;T?LeXUivztxkp;`1j1&r}R1~X?-425npC{L66t&F4CT|{18M)%7U z{%<;<50Eh$MNp8%p@Pl?#EiE)mu z&TG@&sMY@it!-@4AORZyBhIESw(V_2_I z;6;9hV-TPOGFbr3qvzqw>j{YP7s8{zXai zm7A~8=IsP*Zz1z(i)Iq2+)vKe!Szn|k(Zd^Ge4AdI@6-1275(VDKjF;B?KI|}rJr}7J+TLn z_1O+uvfMJ`$C}ZVGeSeiWk&NJ#o`Vs{pjUy`)**JGNWw;mbt(C{IbYk*q(<8s2X1! zB~W>v&W?{f$rm~gH1&Nu#{tk@NWfT_9njk5Z4Ojp&^Yn*+3`NLSI1oHw=sYuh^#Fnz=e=qx@+y9Q`*|E)It(3@sH}rbN^8xCjibc#bEo1bV z?4`O**^lVtvOTfi8`19WcG~wj8FdIMH`V{5fDUzZBjxjOtM=AK0-ClG?aa}2=MGN; zWdv@0+`4%?3i4}yVUYu95X6ig<;Y0C;!^1XM48MBdEYd!AO=fTb!Jzdg`+tKw4&<6 z>IN+$qcN=kcpN|sJ_VT1C8M=s50q%2!PZXs;-PAb2BKggtGo$`qG!_ul%Lorkh*qEbFnBueNvT|M~Cz9s2qE zAJS!7leMIC&`TZF78vkOlU!WCM+*sv0^kf=y-Bw5?(+{4$aj{&xlMZWi=U_We(kHY zzCK4k_@f`t&wu;@9qm4$o$cq47U|lXtQ(P?etP(l!4gs%`@t8!MPK`~U!s|$FMshz zKcgof{7Tx=B)bImCS=S)0@1OK#|cEgJU!6hYO7i$m9BbP(jDM3w&4<0I?lx2ZJd26 zAd^~&jmU7_=`yD^`Q zh)M-Ed3IL@$BD7kyl3CeHn_c0ox3LGS9z}ku=^*NyfppmZ0JsSKXrX7^0nZ*UuY1u z*m(#T0S%pBobdMtNe)@NB?G;4dEE3qT6>_K%tDf>OM_KD$HJ}w-7F+P9DU7Eg?v8I zBI_CG3G`kM;s*g}i53s2r~v&a-LDkn2k6aU)rjZYYi6`s8+@av{3$KuMhF_cf{iC< zRPZKzRvcg&LQX(HRTk3rL@b9j5$X6~KTT#xgY{&atlp)qdmD6TImxXi${K6%@yy&h z-ME|R^=_Zmq5s_8B`liuF(N4*hsW@r;RW4jNsi@g#8l>TF17 zhx>H2zs;4KU~?eT|L9$!6MTU?2JdRd=Kc&l#Pa z9CL4&^=vKHjziQFbm8Dkkv zCIV9!{9%0`Zy#p496NWbRX`qN)pjq&$&ZOTc3esJq=~A)KFDfvO}Ys?U4Xfk(%lxP z8txHd_9ILKUdx?gxuw!>eg2Qs#RZDF>*kifVm`ZW)^N>7`TTEFaeg7kDKxR`N@L|* z;^(bASYd-UX4P4p{jKCjaJFuwDM{Ve!Sn8OM`XdR$pr1%9y=kWg?i{yedklMv7=*| z%ul+WT?DAyC*-x9&RdhdwelU~1=1GNjl*{)?^W}blUaG4!i0a%zFKIlb1(W+LM0$8 zxd(b?G?}#Zoh;cr)gF}ZSTu_9jQwCToV1jQ8aZA-Mplx6Gym*u0qF{})XStqZJ9v(HXkWFXih9GV-!n2%{u5m!AB32AGtF zD!k{NE`cl}ya>aZzeQ%jcpoNb^&J|Gg*uN9pQpcP#PO<%xkNlgmR%H!va`8m@e`!= zKsuJw>e{VzuxcuDCAW%s?nds+RDt{f-sC9uN=m+3I|H4g-m{iZ(aC4|q|rXl<8ddt zS9!9@>q?pT7Umjy`QkBW8D)!lLXmc917nT(Yc@;%yphQ9I8qQtYOE=cPMoZ6YQrMWa+F* z#x8^CBee;Nu~-?XfwC^dU(n~^bv&7Se8$p`vetifP@ig*939Sb*``5uh!7g)>@^bS zNMp_`rte0aBzmC80TN_De4yN3!7`~Wo0X#4EkxFmL1bp5*tpJLuNN6;*zVj2~^#>_il2)Z?OJ)_2|d6_v}|(O#)?iTXP6?4tLl$ zWSe2#0Tvp~1O;)qtR{)wAsHJ{fOKT+afVr60RNs;KDpv~pK6e%;{he^pw83WuTcXq z%HA|}(2n+?MhWPdG|zaoPmFKu+9CgS^mMMEGm(Ope+c4?dFs z@FYhL_vrlcnD(|W=%WO<9PfNWqw@qbog65T6j}eY&XH%O>X{}YvC|RdQW-Q!|33Ka zoAk!!CWAU}f9|vN=FR_@vHuFTElJbEus_#!$NO__-Ky#`ZK~SNbkFn{a0WpTGr&wp zgdm9#43WVHDTD`+dXT^eg(8IDtDY2kkOBb(L!?Lrq``;~I6+{%X^iWc?wR)0UDaLo znse{*{_MS1GQZzs{<-$P4est+XPdQFX8!rR{B1ITCV0O0&UAQu#}0N*stSJM};};B(8%%gJbbP1lJB^qQ74$u6&MxRntc&!B5$ltZ>$ zUElE9mXhpj`U|-iE<2iseGb6J84!Fl{fAq`Tp|Fcw?Jz<_f)r-GG~Ot>?+|XwU^Qk z0lm8?LT4qbtLQ~to!Q2Wf(<0ZR|4$T z1%31-WBBysh#lyog%x&O+#vI~l^(kxn!ctyT4hgkx?rKCa-A&6&KX4&wJMhdPgGZ} zB{`W~LeK+e(vL=r2k60T{cFt_?$_No-caz+=`@Op>2dVz$wwS8VY*4?i+yRGGu89I z^#hbuPMwB8T#aC588osca8QJwHJ+6{$SZX7uXe5`Ua8`daD6d3AHgTD5lDq#im7Cy zkEbp;upGYJ{_8#&EZl*tkf!Vd=8SAeRD1xBxlZ^jIC0I+Fw6x!8i6Bx27^4(Rx}d4 zDmu|(;v0B2T4%uNZ^1p*asq*|H;IoT2y`*Y8#uoajC#do`==5tq*-erKu?nc{jKl6lbn9n{Jh(DU*>&+Gktk=ovxE}_cA%67f@+s>mDtv?Q)Oc z7TL9zhje}NgzEfikA*!A%{Whn$v=Uc7gfG;psO=dRntb>k6RBC%wA1S^aFbK!4J}Yoo5W|p0OyJT}2QNx!*I*UnJoOY_^E{bj$p%)*(N}1&wNqBxL?6z4nW)N? zjGc7G^6buh^cl5-yafBqd&Q!vR_q{;8H@3}onCOz*oa#ct&r)|cv%Y<(M8)t7iY{v zR+CN*D+#KqoFzIzAj`!CDqMix){>09WPDnN-pwtmqol-)``(Lm=fM^|xchOs_xelp%5IO=(tS8Z{NSyJbaZh* zU;EbE^uhPOk0{$D+ZH%52WJfgL7|*F_&4`yZ$s9jYWj8*QsJf23>ExslmNNcIR!my zjp>A2Mn>5q>e4dJ`3~<~X=uY$J;S5g)9&pDq%pN_HWD0uezq@xYaFbuOeYge(E_sG zpOs%Du0rn?_{z6i|8pf*=mXLwYr^LoR0jjjUMG5q?Ud%yFKH}%R(do^VaDfS_7}>$ zz4!%$ww~jObc$4*oj`cLKZm@HIT*X(BJdO_&R>r`Pj`W+4nU~JtL%nE>YUKEQBeY; zX(q)sRAWf7G#1BgR$^$zYGtQF^9jq;LuIYOgN1|UC&(BUR)~=)Yq7{0bwZUIYuH{XE zcNw+2Hg=$UUtSLrp$`i}0 z;^$eGvr_^yx^xbA9X3tslOuCbN_or?zX#)Pxfi))1(Xs`*cWjuSw*#kXWuMRtUQaVS2bQJj*s%WgQEtcXyZv1X$bWL zd5ysh*J0kBfhz`EltgvhF;3R~I0`*khIgS~o3{zcf+r@torI2^>DZe2i&*Hxn7myb zLV>Zt*_K0QBr3QgpIXiU;|!gCGS*M8=;-7r4e;Ks({Wk!L`VO|yR1J6)vxjRA{lU& zqDyil$$^gSf*6Jw z7P2RXRH5QO~nspD90GrUbY;=<|6}2iK3l+=A2p)xZF%7sq;lr0^ zPD*rkn|tYae#2RZ&iU^jUl>AUzJ|HB(^A6H_)u^M_OASjdcQfC@>-c*q*6y;`@7k} zW!ehA=xHV(`uA1%rdz?;8Og}arG;~;W}SYAPZ~U?YE0wr8mSBdhgxg&tM^GZ*C{&! zrqjR%f~p^n)S%;W8>I^zZ2QB7Op^^e>?b@XJBlJ{)OFxqhDH(mx3ON>y^KVhd6L!$ zCs-~At!tAhC>9$ZXiA_2@2{3Q?xT+?^|U{4!@*sUO_c@4oVLIuHQbT)J&!R%HfRJl zg_?I|s>+)ra-h*?np0c$LMua%X2EA;cR@lUGYNF5WeyCooOw5qd15_-g%!qg^ry|e z<*Er9VQQcPDcx#GXE?-w3zjWxI#-ulg?xbN$|$+Q2N}(iTcOInmVM`vhYZi28kp<; z;XHTEx|p_7_7wXGLz5lTqz~UTm-1zN*GdaqA~F4yN(WQ^%QQHhu(P$N`VlgXA@0vRkJ0iDZQOgAc3=1uXUgq;@LhWH&Nt}ld_U8WXS2{B zk%11Q5bviMaDn3-h}D;NK-zXm+5!x7B_x5H;3d}EXpkrOOHYn$4m9!yVGa6|Y-HhQ z{EN0734v;v6GGvE5k2dNT7tgM*%rg}Zy`Ao5J0fN+3H&i)04xG=sY0Ef0+svM4vUcj)+VpDxcY@|;34ObwIlfx~8;@DYx?K9_u7NRE)J^vw5pe-;+ayw&cI~7lHm}CL%UVyQh|17;U?oLW*sK?6Gc`OGHe#sxMb<-`iM4? z;eY#;&(Xb4-l5gRb5D~q;{5WO-v8cHdi28|(&TKPvlUN|53>vw_9VJN+j<%ky5Z8t zOrs;(zO_Tki*TB*($D>m{|OF!N^=0gCw&) z88zYffz!*X6v)tJOw&V~+)uHTqBk8r2O#Pl$Y2JI!O1;ZSxpX*2g#ee$hdKS@Qfx` z2gxb*n2wWktM0?@-xcG5L7W4>P*NQwi2KskVe8f%YDOFB{c3X1BsxwGukqrMS0pY6c2urI{=$(Wt#Q!T4ahI90su|(i;kpD&ES?lZD zX)jl_QpSjJAGCw4=ZoY76}c++n{7cvSDW>~sLyODx{$O&Z(+`N-B)z5F#SJh<%Pwi zgl|d5IypV&YD49j^UfY+4DVFWn3w)Mee!N{aITke>|A3NWK_SAsy=PG+nwR0?E6h} z*4(F=O?2~!9sN0U)*JlVJq&X8ZQ2**M=14=N&;Mx|N4d<=q+b!w)qV2Gq8;Jb;pz6 z)D{w{3P6YaS=-o1ymyr@QSLZ7O5udT^MQAG-Eg^Z(XsG&33QPsL$~gsnnmJAkaxgM z4rFV^R@Nl?h0_lea)zTd)}0qn2?BZ=%HrPKWOVKKM0Z+TUP|*>O3%7t=PQ?vo}9Bh zTux5vmGw>5Z!VJ)9_8q9H>!j{$G`RBt3->ph}+(fIAF%-dvtlcN2^=6>7~~{NpF7f z=jitO6@BGT-=RPKz2D;CAoPDmOO?^`COgwns{QQnk(`xK*)9F{(kDMoKlAr~h5G5* zfBjqEp~pY^Hq+kqwX|1){sp}Sdj83?4-&7uBnfDhb0H^XK+d501uA5r#Y~c+7bklh zY-a$DKyklxXXgPy4AUWd;wZO$2H%1+9#zF~_R%Uwjp`NHe{Mk$rnIrK!>tF}NvZC{ z$snYCJ{508Z41hSdbF{7pSJG5&Vf!(-~Ddly=PS0F$J?`RSb2y;cvp_&Ga0U(LQ|g z5yjYM8tC`{s5qbPkRbTm=ou}aFGG>=O8%6e8EuHb$(WxrgN--h}8%b)6NLYDJS z?C6C4(jQCz%CF|lJ*bY|COQBtmsjuTkA>gZdisgLZ*ESRMo^`2JdLb>gAXplX2e<1 zsCuzR!@-me_MavmaF0r<`Cf98?y<~SUfp$ky3zB9{DtfoqLK=#4xk-d(iwu%Fl!d5 z>Xyb~cM{|+4VYi|`Rv3F&-9O4 z;fH|51h(3-^mD&S4nc@cN4O6OA9H=bR_U`qjmR&JV|Q{OpVlp1emlr~B!`E9N~{XGh8tg>ofG zL-Z~?^GC}_h6N)?)wdBdxJy`VN$wmjpa-HzM#o!o5xoFZ>*tk9Jo29p>&Ad3PZSMAxuF=jy3_WzLQ zZFr(EP+Ae6LQA#&KI_5p*`Iu%R+w>CQ)g}Exh8m|DpgzI zWB2xY-@G46pVPRC1ytz5)>iusqEt|vBTHu>r|2;QN!?Jf)rub4>b}H`TQrN4L|tmC z@We*1f-yW#RDXvJCGGzCx5;{S5)B$`6YzVTpNUD!Xl5XbDfNvwb%~}G= zwzwyIeS*C<1i?Al+Dz%=vH3B6xzS6u`Vo6^!a7I;QBDZJ`^BtO=CMfk(|e zv?0hNryrXNL$jaq)C0`{0>6c^2~oSu#5ofCN{#i(?o}{>z&Rt^J}U$f>5DQ$+)oOJ z85}~U<6H)m4O1G;%Le_aWCKZ7qZnd2(#kOmQ+f)63v-CF;GkuD8Ion3=tNKnDk@eK zdYQo!*{aNG{PxNGsKW^Jdx2RF5Xm=*0Y4iS{km*o87Im3hTE<}8$^`h;Ez_G28yJp zaWWsE$Z&aH-(3f9a*Ux`x9clm6LmP5uMZ`_BSY92S?~_)vPM#ef8nojW^HCrEe@rS zg^n*FZS+kYSQcf+1hi9h*)Sj(bW2NeNIi$KT1yYH8qisr!69d<2CZH|vwV)3_w<@J zH+N{#_9=KCGRyD;Ux>UbYDN%oCKYJQ%8wci%rLc5XqttrfcpK%l<%m&Js$=0Ly4iU>a8yQJgWuO&BA+Cf#P?>G))-@6EV5GI zEJw-BrKM#)%-)QnGhW&pL>7%k4VPoPy1q_0AU&K*#AZ-q%aZm+ZEM^QjpMVS9CDH~ zJF_G!cZNO7OCbYwU_>X)?qz2hmn0K9WJRPW&*ltBKH&FsE>kgZ39zNi zS7@YsqAwZl@Yx(gEa&$?^${Whs>Arp&^!lAbHO7 zjy_Z~D^Fut2Md|ZL=1@2o7i9^&TYmSbyPAAbGH3CXWv?8f;hr0$YZKyug4M`!UkCF z!=9Xs2qb}CBX~5)RdhHawl7)C(3@KB=cj$Ob5C*EBVGgt<+N(xZ7LnF@SD~JK!h4^ zLgCTm^&Gn@Gb52XnP*X;T$Y@bR>`vEY)Dp9B4?=%kUg6C%}sLfAXor2Fk0E*j4w8F zjHEO#=;G?^Fgb1y#nF6ynX^_54^5W{T6Q1CJOpjPX$s`$j99J|aYJ6Az&w#5zkd4_ zdg0?gMQdC4=>6~iIX!&)t8~fP7}Jb990Zc+44Gk+OKl1MVQ(dqY^qeDv~Kvry6Au% z1;jnlB^ZLUrALc=Kb#TB3cI;D!|pv83cNivoK zkM=Jj{q~=Im%jPC|AL)aVt8$Mo}>;I=IfKGw#z9_z)W8{m&VnvYcn6nXhf#12i1Y$ zq=C+`n)Jc7ofjx9Y$TX$CTIE+x=D_yv;Bt>M4 z`5GBt;pBqD0GY66*cH8$vQc<5IpnEXWIYdA^KdW&CNO{_NCQDPlQiba#$8(4xXr(l zw)MI^PkiG#Iq;L??da)8$pLr8H06(kHm(^-V+RNA8vA5ohxsJt%8rXBmpsP>SIOzk z4sb2|?hQAg;?v22p6GQoIUn10Xb)z`I?C;@u5M^mw@Gr)oYCdkIrq4hpbe!hWr-5t zqP%V9eC7<=L^W=8j}f893Bx_m2>1!wNg?wU+0E0ooKGte6w9;y`O&GibaeP(+SA1x z;ONh%K^cU#gMrS`YBi&x&dT)&V!Cq=rDlu15S`(u#`2n$Vh14k+~M!3)}j?N78Yn_ zWtDjos%%JB_*epGGQHI}Gz-xRB;|w3Zt#+&l@;39xy6+rKnv_BO3rQYSUB>pFD}Ru zCw!$1TOoK6w+(2}ra{WTlU@%VbDSJ<8|&-o{g7dSU?RvE1W=+}^i->u^c2@oIRSWy zXP~VA(ZM5HUP?IMEU?^O-B{-}fX-JFo}iM->G1)VlW&r<<<9G0NV03418bmHO|OpW z;Dhfn&$)H~HG1=Je2ISQjhE@&i!1u)|M=JF$$Q`DKs<)|@+z(GevGr2j?q*7`igZh z=%vG9kAC6r|EKiDFYVAD{qbA$?XUc{1okAoAt*mx+kSxqZBVfW?NFfmvYt-jpg56Y}2SjEewd$g3&$$S(T1$UU4pr?kAX z#tu%lUi3tpla?nzvOF)2XkjP;bb^SYCvEK9p{*A`li+$vdq4WC#FNjBom6wJO|yc) z2&hB({t29wiNBv7?b8|brRmg>mYppGmn@T7g0qx9xm{yl`d3?UWCxEu{Ts;^J7ovw zLplC<^H9+R>RUVyGukp6QLM7{%Ef_-Uf~!C)vwy|gls7?LWGty$?Q0 z`r&&N$7$Sg(iIYKy*N9T^Bo5#^`xSa>AyI;z~+%)v$nBHFTD6Vz4-Yr)0aNGOScW7c!Qg=hPd-R`%T3<5g<+tl={xB3ORKjs&19M|8>ntI z_&HkVpbS5PoKV$g(2umgzsErj+;Xd9f3o{UB(_D!JG(+utoO<}5`cDY-A%f4O(B56 zb<(S0U*al3&gT)y5&;V(*;y-uu0My$1RSAw3qYd@GB}r8yQ?cyYS5~GISAY;XtwfQ z)<X&oliypG9oV&c0mx z1*Yokv}cl6POJ6V=iCa=&83`uivDlDs#3MY!^~`@dZi|{c)rZPM%^(sjz;nObo?mP zSz7^9t8A+&{5#**;rwo`U71j!RHlLA7cf4l3L1I8pV>9dCgJT-wl92EWK^4DlL|%W z&h%>6MyJ$Kt#B7LwkVmIue<9iJ5Q}#yN@xmf3s~A5O#2~12B&#g>Gio=4EVV9OU$W zqD;ev-E13(v)TXA$z(sC<65(P!_9qe@Jpl$&+@v3MU+|#p>gmlysPYq+Sc-6uO5#R zNU0vb%(3|GsJmzS?C#oly)kcg283pyD^O!WV2gyJ3Tz?cSC|2BnN*3^5eCDq1&<%W zKh7Pdd~}ojZU{&Elp^UnWQHk-@qbfT4%7nOr)g|xaPUE4h5 z^p4lIb?{J@Z3t$i?X9Qkj8QgHhBu5DD0PMRF#d``k{p7~u3ECrgG4%VX-CNljXd`0Qmhl@-uSw=iR!ccF2GJ zD@a*RWY@yjJxB%vi_-RMvo+5v!!u9Wu}fQ$aNEsv=$%YMm&w#Tf*gt$?O863%L3SNpzH-c^_vMtRU^}BM!4h!c!yxkOFEz?)8IIx z4y6q7KhAJ+Fu?vJt2PA9z?ja^fX&oOMau4%1xu#Blo@ZeorHgW6=|F4zcO1;aM)Y| zP&_{qCmb6wI%TQM0KwH(w6qZp6u|41wG}S;c6DQ!ZlU7+j?IxbWExKQ=$f7-W4QDM zlhULx=*XdZk=Kjt%6S`LMizE8rGpflW!9>~pvqC$J#kF7IeS@t#ePi2=VEN?4Jt*l z*9@}bj(gp=5&*$Qhek4DAtMlp%zPyX)go(@OZRIAb`?zJLQ{I2ZMVYrK?cFdMOwN% zMvoQBmnj2LWSTm;I6IfK(2{XPoo7LNE3;88Z$LTJ6`iah>-%X36?Xc8KD{%K)Y0QL zR6ZA|?%=6K#X(_pDsRY2@X322bJYY`{%SxPuGb&~adHaGus@@fb>0uj3XYD&s=iPV zO=y5+PN7i*EpR3}0w>In8(d{7!>cN2q^2R`%OTXbj%QWuy`rtMedTa2_XMlNz)tc3 zS0+GdXXYo|W9^ci>ByWA{ix5GXn}j=_8Hcb>9y!6T=IL8Wj2f~l7-OctYU=MM};wQ ztC}Ith-m``8?8X$ql#m$up?3QZEM-n`kTqq%yXK|E2`&s`5)%U1_w9$KInZVTfe8y zb=if%;tFSvvZE+D$YJo6^6yf;0$F2At6S7xT;|@>2wvdKv#T@CB)drtAr4^CK!TRb zCz``g_G*-j^9xIxTzvwiPf-FB#uKjO5cA@APAfZi>7_US2Hkq_1|2?mmp=H;pU~;S zhg^~tj-Q*0)7;*{*4$$Qcu(lx=~2EsXz)T$^E9Zw_bQ9IT7#B>edTf694k_ zkZG++yz}DleKtY@&TzmXJ5HSWk)4nhK(x8Non-VLkB^el(hpjCby|t?OscB;aX(lM z0)aCT_&(86@I-U;rRY==cOE37T5gf2XF>I=0Yg@Ny`^8Vu?#rL1 zPkwHb)>fD3I$d{k80g{K@6pkt4{4H|saMG%a+Mq+Hwi9iMF3|7=8Y^N4v6AR7ukym zO0y=1>*DeTJE2zBl0zstI$!BHJ)%_ z+87=^3R&l6KCZ1^#31XXp}cx(^sXe9qt7wi zz4ti-N_fpgT5QEgbsx$?N~Rl_IL7tVo}P8U+1GF!K-a>V@;W&cF3!)> zxVuTdt_VFUp0G15(MWG7y{RRLGa1D99&&rE-Psi-ibxZr8N7+q?;%3xm`66Ky=PqI*#mzS6~z~KqUDxB$3b)+p7XwvKA zbdQ~llXh6`r;P;~9H!@u(pu5tffzLGUtY=`9i3zT#aZ)y$$~lkeWS&${8&1zLw(CH%eNNg^v8jucdTut4B82Z+g2 zENdM)J#dkOh?FP6k#&~#;4<+F&?UDENzU5E-sX0(I5ZD@6qwoM;!FojwM@vlz92l+IDgn@6qZ0heD4N3l^1EpR0W=umfP2 zbeM>&`qO=OhDWOPCE!WJj?h*rxy9mISl zuXa6u&M=!|4w$FH_k{S%K4p52PXE_&y;fGPDKfCj#O77@#A`5!bbRoH7FO?2ePSuH z0y@{l`2p|K(#i%cEUuCSFi+S44?Z~7q}s)W9zA~a0j+J`C98&da`c#XZ|$VBe!nv{ zKThb3?RAApk)>jX@9dA~f6;BJ>S~xzKgnJMci{KC_g-ds3|*KLqPSH2FyZPzs#Oi7 z{RPhXXr04B#JvUfrNegAaLbkv^NKcTdonE@&vQ=C8=}4E66_U$`=z4`(-`M~L|fN5 zn?qG3w)FJl`?^oaEuky-(1aKmS?!^1XE$rS-3_jyP7~Ywu6# zYk&S{bbk1l&aWrjO5$Me5#z)0!DF^_udlDui!XnI9=vdu_79He$=78;tDv@8U#TWnLuOA4!_tv z$L5t3ysv#nv2&%<6=u}~stpW!K`3)*{dvY;O0&GL;xpB2_RgHxAqM%(J52}4>vd=R z8M`Da;!VA%_?#Iye(VnfnR7T^>XYfr-edMBqK=2d^Z6J%HgUDOhQh*$9L$_uSU}O4 zdw0L`Ts>Y0EeZHzZja=BV{;$k#*k!CB453B{_tgf#pYBfk3aLCkZUIpOaNv$$LOB! z1r&*ljJefqs75x}8%~sTgw`S}s0$UY_3_Con^L^znQ{3p6@Fa% zN4m%qtq`g7K&MO`IU^yq8qFh*pXb0VN={QF?5rLzA8`J%Kx!E2qFR`_-YW|Qg87GP z!=ow`%0bFA@?~9Qqr6d~=LvGh=fI#AcBah~=4N9R_;=yuq8yx2)R<5qZNHuFy_P3IYW0f{N?o-v6VHQ(n1H&Zu(9AH-dtgGO8{I_D zqp}Wc4Wf}sA6bE=%%ODp2-!=ctwp`QjkApb>NERfZcS z(o$|HR)>C@tKVP4>oTS>>OzOJP79fXheqB53e}9NXDdB;tOCB}elT6_YKD$OMN|Ho zoK@>dw5kk{FZZ|3l%<)ojXH#W?`g?V@LH)Xn! z5BtbGSV{+ba(LtMTE6i{ngZ{#v*Zj^@~!pBbC1hw@+{CwFPXE3dqQeo-{`QSGQjaI zS9F{Vx#)YD=SV&>O<`$*NcW;O+B7&sUyVWMr@h^*9COPNWLgG~r0g>HcLvR=liF{; zTw_5*f#+d8Y8kbxG;{Q8%bJ&bYKz0LQp72cKfrh(M`sLxF#_LnR=Lg2$&_?jWd6C3 zj303JA^UPNk(o4UKQ6gsa-nH5Xug~D2yJeeJ&fmESVX|>h2G71UU|h z)DwAvYmk9~2z4VJ&L)jwybskXJqL(#;2bTf%xT%NBoV=lIxWOd6@9fDqDmnb<9fsM zL)1Qcz>A|bYBp`l*%=&RYX&1Ke3{&VhcVwWu`E*^*S1lCWe)Db`)lHid5y+@v+|ww z6vI`+&Y%G_qzCVUpN;mDm-Q$FVK`03JY=WC`B_S9EB%T>L*%Aba7}5D`}y^mk4aUC zDb;k*MN{Pw!48I|4|H4PbPeT^br%T$n3ezCm(f4-4d^S}7h7lm!66NoX`hPz!qsvn zWSPd6c`EQ!qa*jlRU^7O`6QE89MO&9FjrJS3j;mmz>&)aUHr=x1BiSd+-sfyZzbXWSMlHeX;Z$^i4%P(sgM%sX8u~8xj9=a4 z3Qfp}hSMMA>^Tr)Y}E!-_5|rQPpVh*1M#_?x*)Ak?L{E!p0lNFCxVO;|AmnWL3=2t zi{7zYFMKjNf0yXu?2zF#7&PqsJU=<4g`xCn#d|z#2^p1XP7go$A!nH)fXdnyL`~_z zS->2x%pW*wXu{3!Nel&oGzcndlOT{qmDbe#i8c3*j!e)6-g({^$gjW%x6YY*0V{@-}_A-(nI zf0^ccO7HJa=-CI~m(szF>gyIYq(Lz;@3ASdK@wZkfIwMCYqNe4vrZQ}I7*z^xVW}M z{pGFXoZVqZF#;)&k$Hhq?Bk2%fIZDwhbH5)T5e-d{es?w4AlPe8ZEEiO$Pqk>@e)n zlunW{_!184@s(Dci4t_7&M5?0!cmI34HJ!y5Qv>{=;ZhrJ0Bq5dI9C8rL;R}0QlPU zSF>*F^$&Y58Tk^}bThu@fG7O8xU|B(pclAWMqm1^_ZPWt2P$ZQW>7IIqPk6*|6wv} zk8jS|Fx@6vVdHp=9k$>Mz7CH~{#1HCi8c$p4gnb4_Z&`wv@Qg1FifUc|6|VL9Z#iI zM5c$BMPMcBdzvwbOj2%b)<{L9$;~*!dorEoU>DY7Vyx_M<@~5i>29=*o7YsvH#~zA z760%h%65w*lE|`4Gvu5YqEK_SUYO9)QE~!Iqif}3IB5H9tr$d}$ex(PQbrozoYBtC zeVVk5n`_}enP+yESF2I({NyI-OkWf_G!gW7WNu4lFL;FP$JOP9>_gH4+X9VzkL`q< zhl>oZp02zPb6Z_oPq@6o_;Yb~BE5Z45oR!u>KxM&jAj4)ETN|(;AFzOSHcmcOOzXL z1KKJy61)P3JoIN|o2Ku~LCqy}6P*oF;ymrccmm#a!|eys(o z=CngMM?w_V-3!@ABfTA!RBvu;;{mxJgVNrs~o2J{us8G>)F(=*r^-jV+-8@RXn zxY8RW;bf@6!bs)R06{ADr-|w?T*;^*Z2{3^x?Wn6>KsBVjh;C&(@DC{N|JM*NI#C~ z@ZtCAD#5DNgcPqI*G_8r9@*pAPdGK#c5Wv<;FM1GpGeh#SkRA$%dHHQF75muV|KJh ztAIepCuKCxyK4FG=*`$>o_A3gjAnXP@kZ$cb27=TyJH^Tcdwp0Piyh^Loi!dTW^$yTC8t;NOr< ze|q{fImS_WV%51`ot2W$x5W6;sNMrQAD}A6!lIm!1IpT8a?t2-w9bxq1l)~VV)`2l zmJ+Qmao~J^VTmi}4VMsbvdk?iWDQcbez1_v;R{0z>KNoXPsWK)rGHz=vHoDYp>-*A zHB(g)CyND||AMrB|02@Bu7gQP>>y0=X`%L5+o559XshabL`bjovj>w9n0-Ur{I#pKxkU;QutBYN}AH**>E zy{FIU&y)W6>%ac%-0~1S8-d16m~!P0jvLW7d5yLctY2Oa3FPg66<=@?iQFCvo=b1_ z&CR={3HWL60zG^BA={K1P86``bVOIB;FEJccTVGxYBO*U*MLA)iqcsa2~dg@KJlZjSS;6pt$9jlT>IGVU=3GbdJN7fZ?~W&gVla(4+m&o4k!!?0dktvhCH$jOvMvz|#$ zn-2Dos;A6H{o=PNHVgG5RW>oTnnf3gLS9OU{vSHzll6&e?3mX|uB{u@E68grc;{W@ z!O>nUV>KmXoV;D2EVxDmr%U9sPqxAOd6;I8AAB;Xqr>XCjtAJHD!%Ict$A)8q;b!U znPUS#1d!Vm66Ret_lop^Ze5=WzIsAGN-c9 z$llbRh8-*{`%-!mb7q&0myO8Cu0zyu5aAe=nC0N1hnF}duj*BdfC{n2YVB<&5TTjf zcXA*!M(K?3-k{*0T|L8_EG8s>Ly@f&>70A3W zSLzQmr>9MEyc{GJ-&yWMPzFFQQqa`c+z?z4tqkVCmHIF(_%ADh1i28;%x$;F#O2Fsk&wrh!&WgM$9Z~CerBdDLp-^jS*Zo^G#S?f4|^PpAXz^#j|}*t|18Qw z!-<~plxn`tWZddOH>1Dk8*H5HkJu;xrLq$c-|OB4<5ZYCH%U z-EVTmj7Ij~pcgld7-+C|-$EeIIFdLTTMhbCTIMU7CLi{N-%u`%Z}(f-e2l?a1lljV zl!>26&`+F}Ag3(zsLbE8)%kE6v*V;jteT4#UZ6n8F%{AIaVS%ea4AIj#{o@J+pcy`WOV4>2tr5U;1E+lYXE@kP z_riIPU=Gk6XJ2Vnx&=0j5}xkd`#9bH*e40>3mGd1kKRef^dF|@9`jnbj4ZcX@Zohu z=d9&&4aWjKr++B_KyOx*y&f&Bu>l>h8gu60IR^(!#}Ygu{ZFH2_YK%#0cVALU$VhU z<2;AwBt}WVeUcoauw#!F*739GI2XiPGh8h#&(JbK}0(SC>UM zR63LQRCtV0eMiqIm{#!4AC%9}_L)u=7S=LZi+l;1QPAZ5hdzv~oyC<+T1?KC%{$xl z^6U4hS=^MqInnL%o!986KYN!}l5u!-_cp!$>H}I%qU-G^)8xeY6FNITr}y@c=||uE zUUJ%;kPmz{IyRW(K$)zW1nm=U_!%9m7hTTl(*{e>-10gqI3$Ph!YVDVZE%nS_VMEM zn6tm9X}y={XHxA;?~$rRb#N2wiOJ!4dU}*_B5SIakX-7dou9 zPcH|e;%jo~rafaGkmzt}d5zaGN)9~eGh97{%d%olBhC~Bt-`4%<(4D!tc#Ol$@ZFD zN_&L!vx1AUAgZspL|K0&hu;OGxnk2mWC+%e*GXFEGT_jcfR!7r$T4*iscb-Y^6Goo zASBRh$eGH_dxitfN(0ZmVcvO@s~Y8Lt2{QnyR)QBm*g<8$kXy&!=>hz*nx{VvvGe~ z#wy~tti;oGV0}B`)bTz$(M^8~?#k*+Z~BlLswDtr!ZKhf&10~z*14~Y8x?=Z!LNdG z7OjygV`fn)IzXbVBiL9A3#dl2$j(XdBEbLZ@=~44(<(^W?`^%$fqXR-(-}dR2nbn0 zwSvi*+XP7UmPu|SgX>x?KP~jO#k1pmJ$2lIziH`||vh zrvn~xk@gz+23a93ZiG*9mNbH0(>UM>cor%R06&r0j)`1fT=GbeM_b7O99a%eka(JS z(mp%Vr#Bb$@|$0#FMshBTEG1Qed{}K(VzV8@6q0SKT2av*+~W``a;fM5ReC_{Q2P%)(@;ggj81P zaW=X*!55fMfNx!%>`P#u(?=y3a;WE=unqDw_%-_ROfUR5Db^esW3Y4*g2=WwXX?^Q{o_F3MeG8d#mhhTeaHQv>9f>3q$(aDv z7m$@6HF+S$izIU{5)JLJ4s~+!lvY-@Snu^2izfHFbK^6FR-14x%j$SYPOU9GZr(0X zg>{Lv>G-722X-fxtmx-4=O?>N` z0w-vs)hFG2uyvb;X`i8seCmFmv)~U-#`OJn_Y&XvkXF+8KmAjm_r#Vrlas;inLDR+U3T8KmPw&XJgRNyVk5ZWz>eNvS(YA?u6*#6D+cLJ zWVSe;U0jhH&(GWJ$o*b)C*v!?gPsQB;#?-d*+JT4b*eKKCgrQT+LN9?9>2@@>h%D% zHBgQ9x`cdvp!qN}_(!V8DtlDV-P2}!}OCC={haZsJQzCCqs3cJ+vadX^o^Om{_Iv7#rPt=l#eOJqwsTjSzCc*u z)mRcU=A`Wc3oQNo)Lzz|bacC$(LBzfHdE?_I_#KllD8)FSk21g|G5?=Xj+OgjV>>~Utj_1)f06x?3OCg;+sF;>@C?>$rV z@QpDG!3-gVggO%GhW3 zjo-t)~FSY{##4#(taCZOfo4%4$a3C9!S4V``KGETSV&IXe|*c3SVwZYja!l;BJ z1lKYnl2;OoFmj1d&H_Qo+B}|EDH0K| z@^^;5Gre_~dZs{+6*c=UIH7QKg2`J~X2o}ndw#rb$)u=rECwX%+$WK7Faj)cg#QLf zuz4tOckgw($UT-ke=G{Md^RU~anjH%?;=uq2-$ec5Ow`fqoWR67{0l>IH2ov5a@FT zdX1Bk;W<(M5nUyesKEdQ&lwK_6~X3U+-R9WDaYASw(V-|tH^txj;R==pPMP-t!Dnt zRT8yrM|5xu9?&*UR+NOh$KY_%U>~UjHSpgi_q?<$d8D*7P2|HhmkSJqcQj3#j9N$O z5PHMe7`Er&-Q3SP8I~Tr^lCbk#!3bVTq*ZP_Ph@{*l<)J!(@ow!7)mPc9vyS!KBe( zD|Vm}89NP8 zax9dx;GEH>)eG9(LZEA^^jybyZFIabWWHb-z_J}C|J$4;%JS98Au21%FgAP>baeC` z%cY#nAEIW%hHUtNu>#IXI04Z=p6NvpRmRU5m9fw;m3~vQZ+#A6;B2|%SQOD$=5(_@jRRvn<}iJl`tf+T(XdQ$ejQJs(jbJPi3 z;2`*JQR?z#%shs4Mm=qH!&wwuRYPdi4AWAfXIu=idI-<+w+L9%NuxMpNFC~xQ{Ciz zC|IZyr5ugzs^C;`cl^Yj7uZ0*$QfcVa3Oo`8l|Ms8nGM{%(9`)$x#v3fs2^WSMn)5IDRMZukYR2aSomLWC?%dzwsrIFYqY#^hd-ml z`?C+eBPC#`(~92ewH2(28OB6D3&KEX=NvD+fhTZ850X=LsF`eRIJ`>hK;K22c{m8g z`kvm9wR~Yos{BIA=+@K2^?eSy7$%48J}s|qu?)by$o^YhTce}Hg9Mjr^7`juGSv2A zsBH$4sf<3$!xeTGphV)y{)Y+Kl7l$G^78D2*NES+&K_seE@aqnxm)Is0}gb8p%0~W z(XV;Tj=NTIj;c9i@T&Zi(sNbD@EMJU>=15aH1Uw1**I&D1s*|`w;K3{ za?67xS5~*T==KXcw6v9++}p3w_D*t?A3sS3?rVDb{t-R-;rA#^F4BHnBw2XI8QeEX zJ}jg?L;!*Ws|3#0LrG-dBC^;SjnW=3B`4Qwuf0s$X%9xLcj${>PGclT)RU77`skf^ z8He9KjP#AK{0^NQ94Jn;MRw+OJDPPoBy**pYgU+XfMu&3Ugdjm0Ay!>a-<{pa&z}q zn(G2rbb)d5I?4Q-^zZcO(D5YMj~-_OC8yoxv6Nv&CU+ZDrnPFt+QufY4vu}yL67&yQ>5nlyL7SBQ*yWH4+R8xr_4Xz%8p%P|%{t zwc02gxJN2@0_cRtM~ejn@*(Ig@d8v>AjKd{SBO~_5zWu+2u^SH6?J5h$Q~aqCH|do z3G^a;?lTG(c}&J9W2S$B12XZSatVI!i7U}Ce%PQ$dn;O&r+Xla7L4h|qA$}Km>2)vt$9?}{uD@-Kdb0Gbz(_C<`a1IH$wLP9j z$$f*awz#+;<#gke@evQZzPwC4@sisutt6VCj3-$y1%0C}Mvw1ZV*0)~KjlCII1ahb zdJCF5Nql2H@!)$jTH9rv2YPr&^S(YqrsorG&+*1jCTIBPK2A4@m;B}*{fNHthrh-S zNjR+`S68?1B>Y>Wi-X5>o*d#h_p}M-+b_IKKlKa0OfP-vHTw2n{Uv?>FTaz{p+}O9 zp6-W!fRgZ_HDsfM-$<3kNj~E@8a#=$KtF+wg8(R0+u_V{qia2TMr$+R5R3y-QQkUA zz{g}Fm8q1jKa$oC zo@|2Y{BqvTfrhMa4Vm^fZ{4G_lVdu5_E-WlOdeC95(uY=RFp;8b`2JtOj|PgM%9g- zolUNi@bJ+SF6HmfJHDr^*QK(putRHf0UQ+Q~iRS1)1IR zUQeGsqyNo+{J*E#j!~ZloS>t65B=VnJ=zdL_A9ip@-2!SDEPotfYRKSSGT$M`}y%6 zp*Ry)n#u~PjYSm}WyhT+uh{crM*s^yYO*iIst3Ss0{)EPR8$(|Ln3J$X|G# z;3np7>)L~eEQyfI>08B4ultnjhb-I0r$I9~nOA}bG|h}%FVC&w>A|ffI=DJ!R*gk@ zJa4xw0Ti)@X}-5ukmjHDXK~W6&7fzp$DjXe7#H4OlJ}gjar;*6kyQ3emE@WmbmdUJ zwkBAm)sXGW7MPK3yfo`SC1-oB>7qM+`Ci_{QawD|j;N9+wuPX|;3 zdxEWm$UE60Q8rim0z)BhR?T`cLU=1pg<+XJ6h_;&<@&s~s6h#~2C8w>UHju+h4BeP zBs2U4s`ky#DQ{Dt$^jtvhBDQ%IsOYO99RCDQL$+KjRvm8=b(TX<_(S^%%QoNwar(I zqTxwC1(G$!sh`CS%>z5;s3U+g@A6OA=h@o0taUOt@!T+*>Ez@n@r4D)E6dtim-Q!LNl;BjvCviG^e_5c z%hjGY1wHskW?_kjwo; zC~YI`Wx+;VinPVE$H~Zn@@1=zw~5ga*>V@jkYyPlIs1+cKogD-N1x&{I#n{V!aeuw zIK4@RvSjc=U_*ih$`-=Fg2PO=M?Gg>^arlbU!lv22jX%VlFV2HJaco#byBMAEE!&; zZ!&&^@oudB!f?34L3o&80T~z4p>&cQHYj}@)v1V#w#eCmlN!G6poy{i><9{Z&yeL> zcA*?M7*}|LQoSITU58_Gs?JFwejbcyaN@zK!r8~_Smj6;&ID-00czPMMxWOAI}>SF z=9Dcmy@sgpX?7On{?vl+(rdLXvdPgKxo!7)P$f?hjDXV6lL?jMXB7HE$vx~(D`l#) zGMk;lw*PH$+}e6cS#r~7hXtI36RiLsJdO#Ja=*neUw#*UH%s3bgiFEMth;Qu5@&AB zS?{W8vb=)+KS&@>5C?9n)c~0Puue4K5`!Fgp^k0~926RC>q8hnS~-RqIz@E!I54pZ zrA(%cZ@Mo#2)TdrO$pEl!WTnk9|ZKKIZb zN^e9;TJO0ckirlfW_+lPtnfZ zwPd_LOK`oW{SVLS{kPtsvxE1z=kC*oKVq)|1tBH5u4{;)|c7mp20?Up+m0_&z(>-g$gRfB3t9LI;oE=KHy2N;Hw#WHdrX znHeta9G2G}D3<^w1!2^)Zl%XWxeiqyU`QS+2a>%StLa<1){2%Kh#Ul!qSiO|z&y_(V20 zS}hGFbqC0HgQ!l%{Bas%(njVzi_2>qFcy+d!ljitgEy@O4)yb+M4#t$cJz#UlDF2+ zki1DTV{zUWzh{@pQMkIko*Yjj4Mve5O3p6laaz|ag7@su zYO?&`^4py0E@kA=Py6cPQnF10Wka07)Pe)D-<)c7F?80){j(PqdH+yOoU0mmJ(_0e zRRChF^^#6cj+tJvu{J|aClWmXO$LMCOf*A#le`_FvS9^}HT7D4j4GUmHF`7pvx{c- zRd2-Hc>faokvZPetncfzf7nL}^eSgS{~Uh|&Bw`5jFWgST5hauY%!ei&w8PwiV6B^ z<4P{ot{Leb_Ux!Y07-JZP7s``{j+hA^tu+Cmf=9JX|zI)RV0kk>wS97ZI{+Ib^vTZ zlfO8F7Ebl6tLsEJJ;_QY(eJsHLi!!f!;7;sKI5Q&J6apSv3`?e$x7lAZ~{jJP^2?Y zA~X)_nO-E?O1${??c4M>|EIr9cb2#5n?L#<{fqzSuP1)8m-W=;joZnQewW+8oFD9Q zyN~h3X>yEh)5pK?Y5JM}(f^Fjk`wn&|L|*x&%Pt=VlK~^2QIE|aW*Of>Q46`Nh=-9 zK})*B;fxGd@G$TM$Z}MzLVxw?_$KR%5=<<8drjZXMsW?OW%9Hpg(&}xtAeRFd& zoppMwH~B;uuYtwbp(90Jl*nIC@&$0bK6;d7)w>+j5IVFQ995C-H9HZLBOMoP?!J(C z*#({Kf5iA|`)#<_(FQAuX;hzsjQ{*+-=LrQ@|Wn&on6+|j*~9(&2N2&e(SgYh$>Qv zHj(Ix1kTETPm_M#vTUDWKzNHaP|taPDT(7*;VP4XF44||-r5je1l3>R{+b>jcnIbSc%djqeJDAKE zJDu`E^?1tsi00aR#Wq*$^ptHhr4gV!gY75TW=(2ip&S_0rH5*a##f3hPF0(t`E#Tb zLZD)sj~xI8x32l)WxHjiOQ_sb8P4OjH)bu#*0|3zv#2IAB&$TOHpulU>0cxg8wFZ z<15%;XD}o;=Q(~qt)dxhM)~nw{roxfO`hI@yDT#gBEN6l{g0G=?D<}`WqX@{exCv1 zcmi*C$o3qAZmB|@{%&nQh?Tp=&81Av1}lK_K&g1cb3l=2se}#VMdZFhJt>PBY#cct zqUYOtL{rW{!imo1@vkgLz*;Le+Zj*pk)BS-3Ic3kxP-8S7~v>eXpDeOD-I0Fq?Gly zvD)~ujw+I*13vpsnM#~pZOvqfs4gmC#8DWApk^2MY!GGM!K;hrSZ(Y1kil}+rI;0Y zx8!QBZr_U2jpoyUH^h2o;G<+J8VJ=q;;z`|yk1zg9HQRu&jeGw*|eWT7) zW9NN$8Ey1|`ernY=|J#Av#84hEU>B^YGbu;IG(lnK~!W9QKbzDBW5 zCzPG~s_e)`>Ok+SlPftWaG=elE{#lMiPkH$S3%i9ByS;qwtLH}JWk3g!I#@m_QQ;! zJy#A8ncXN^HcAHWrG>zJ6-KCwWQ-E0Zl7`w>s-x4BD!Jtx^?>=U0%0r0PoQ_8Ohhu zVWg?pNtm<8*6WRX_;LTXJ?*_UWH^c8M-08(1ATH;=r58+qK2CINDQrzJ8fI{9tNZ? zlYs$;icxZu;V>Fh_Td1FtUcf*m(oqnIZ!VQO>jc-Q0$l=^PE^#uo0`~Cx!l7)(c>$ zhLgv#dB_|N*3aJPQGt|s2ph^8BE_AkS=w-Dah4HaL4t2hZ&=EEK@Uf~K_)t~ ze_8}vq`hgKLTgz7`4GxD8gpq;5fD<9!7^Ie(W%)h5|rds00l%x=2%dG$ov{u@*8Ek z$cNkDbuB7%S?Wu=Wh#T5qlnx6yq}E*;;3WXTG7B@%Fd9U@EOrPbw51+Q=CJv4C6RY zywTPND3?9Z_7j1fst7oMaTj!9xCtXK2lMfx;7kT?OKp>{F&=7+;`gB6ABF$~K0u2MfNE;3q+T?I~v&p31ussDla= zFybH^cwu!T8ID&IPg@k8qUD2;#fB`=EH9t#PJ4N>0Lwj_hijTY8CB zdRjU*XQn|GpvUX=rN9(U1MX3dQu$}JzJ5n}V8hNh42R6b8_fi@S#YV}w2ra1(cp~S z&uaA=)xH_i&NAIyS5BSenk7Egt zm2A5N<9@@LZG&V8n`+wvWWYA++=EjT^TU}#N={Fi2Bhyg6#yE#Mr4|vru!oI#g0zT z^7@9S(m;hTlENn{&552Te;J<0rcXG!wy{QA_g|y+7d}g`e&zvfZbUjy^WJ|nrnkQO zZF>6dHt0e`y3aCzvtknwo}V8kI^UqJ-8&rAK?w91U()5t0XtjA zR%)1vu9@XPHVn0CU#4`J92s!#F0J0ta{nR2jDwlr90NUAZ*Q_7kcpI&#aVeEW#^aH zHYp5IvVOz?2zXt?p?;klz=Gj0f zxv;dvw1#;>2fRV>P}_F7Oo4}^ghmv6z8~f6;q2zJ)Tr!{oEdPM!I_Tz9S%cs>P)k~ zY=I}$%ju3@I$#eM0h6>21Qkpi56Z|ILZ#LS?*e_F(COJZ2O1gP2B%Y2GRK~Ub5Y`t zi;1ofSlLFCWktS_$+ysPA~-%1>W}rFImQy*9=hdpUd0KAJp?~oN-$YmS>&eBJa z&COVy)Zuxmo?4nZKSt@JyP}{bo70Pdxp9u69~@8BhDO$j=1~6 zC+Webem3#e$Mn$;zDd#9&8lY*6`h!f@c?oQ^V`_HoA3$MXdY=`p~?{*G}{egEI~3l z7Ym^KKmH&7xAfq_3lij__g-FJ(Lebo{{{WkH@`>u6>HsS9t{LHrpPa%(7CW852ft_ zx0oN$)e&rj{C)kPYAf)99pllX_v!B4my+Ce6KoT_j*n?|<2JXeOQ+N1WbLQ#p3zFu z&xU>IS*IK@f*U3p+`?u0xk}E2b(_WHY)95J@Z;>{32h`j6*hp=^qkf8+pP1?@ZLF$ z-_8Ysj8p+MJ_pvbP$8%1mZ0YIq^n|WqlHzi8lu;G-GoGiwxrr*8RFo9{$Q15DS`&t z$z_tqTj`pf@R(3?PGVP)b8DQT2P%9yx&<{jM~u(4n%-LHd9zZ|zRwt;c;+jC82s#f z+Gx8{QX35ON46^kF73~)_w)>jfFbmMU)#PzG}xw}`;{-z=XO_eR(f~-&o~49fA^eu z()?FtxGNXQH?<#PR-UTN<@d6F@W8>Kq4lKm934I*^kknuW*H?T!CcHLmw5ZKB^z)B zzw{R^DZqOXB;A_LptJ6-?R*waA@d$DsJ)HV^cpS1OnDU^M;I~Hwx(+f^VXK}1n?+j z#v>6`_J5aH<#~FD#jc#!NPge+YO}4`1%B%=}Z#vD`XbSJ?_{Jj5@p;T4_%LVfGcUIfwzdi;pX%i8L3 z=lcC@ZF#JE+!^~n8GeRpNrf-V17n749V8%u7w*>hynQ3JtwrB>^ErH`yEbFo`kXMk zw&$~}+A3c7zQajny16d>S=Po_`=tC}b zoJ#_cm}aHC_&oPomvPJ!LY=uP1sbDvUsY=kUORA4_%=Y>8e<7%Zm2)-JzbWG6X-6-9$%;@FU6$`@KmsEKOW9%qS1$yPi&UiCW z>ImHqY-5~F}DO>MAkHt}**`wo4wZYE5tk)i$a@p4d zuo+Xb;VD+^j^=UATuvs&89W({8hV@#p8fukejnU&{a(jPP8GNbU3q%x#!T8CHMzuc zkZb_V2gVItsg*IfEOM(x{~(7RDZgixH-dAd+gh}Wi7PYj5P)Lr&b>ofiiaL`x@*J# zdm0H1hYE~TFdVI|t=pM8~#YNKS> z?hn_TQt2>LH*Z0EwZX{MPEP448NWD_luJz~Bi&$$VOKKH3vLy-x&4Wf`3OfhXG%|} zR3BOe20@(;Qr1lZ3M|tXnefeU$d|$(hjOjKoZ4{0_OztDF3MPeuMmJNRv7ir&k)9G zKCHnZk^y1-z*!$0o!EC=X{8Zd>-8i{=jvQDKY3A&_Vk)a*-3LTa^OLa_pzmE$yCl+ zTajum@O;x~9obJUoYHiG8qut zT$VqOlNE}erVkY^B#yqoDiNdtT!9mAe0k1}^r`aZ8oLE&8*8-@n{2EFj^IKw zsBpCo?NJYd3o^+@OKY6%=6`1gkLmRAAzd8qB?ImW_b0>)!eSGk5uqcps9GKa>(N_Dr(@20w*Kj zadmz~HnqQ-( z!E+WioGgQZItiybA1wAFIWNX(UK_e~k&WV;J1BX6FY(HaQ?nNJUzy1uo;)e$&I zGC3Vi5B3sVPNeDTNBDoA10^A6>TP(nM?;{frrv3R_L+SzOn3B>`V4H z%O9eQQ{1Wry3xV{w@Vl-u2U~L`k6PQXK0%5)j6E$r!>7fNx1QtoymaJRCP>)^X1td zJDjKO(8;)Ro)-gEt$M(b&toGHgEO126V1Zz(XtL>4kObi^RZJUy=_v%K@$VcW=4iE z@D@Qjj~;)(y%N7&fJl{pW!&P@$F7J-4bZ*a*&rKcEt9lImSSE#f{f0KScbSJ?Cx`IG`6ZXM z$Lhh~fhVY3admYiV^HV(A4P}lCp?&FAeChj25q?_Ed&GtJq~2+F;4*vLROuf?9p&( zofd|xTm~6B9x_ZJ2jDbXTv=x4J_bfb2fR*>4%59?%>NhDnFP3efvN~;o|`*&XmR^x zmU)~79!7L_{Dcno-la*B%eP*BmHxed@bA-|bT;|T-~0;w$?yFUT^>CZx=LfL?Y>Cs zI}fqi+c95JrlQs1;z>9jtNQq z2r$%;r-HFgjqvz1i_0LB>%^0vvfj0}xJe3Ld`_-x|U59!0Vzoh}Xu^_smJtsni z=co07hBj~Cr}N~LKYIG8v{zCBVA)8Nvx0Sb8F#<%`OnZl_+S4AWuk7N-~0Wq(Esbd z`t|y!Smd&wkLmy2wO23-v$Dtk7-~?;FR}AnC9!->Avx++;l%}~M;{S_f>+jWaj-N- zSy>s;N6Fs2v;9Kid54KtHd5*1@>KREIUo-Y_f=mV%642?s|zr2TUIB6~CjI-SrkAa`WVXSF}8wo~J#y z;S%iG97uB{gJ;y_XwEpX&BcBXT{%(PAcH%2W+yEN)Q6-CplZl5pJV>B|Lh;pn{T{9 z^9Yhlxc?{raAxg9hMYE+pkg^v$a-F(E$dlbTbe_DR&*^4Z2uegOz^*j1=vcaT&=1L z4AJ+B{i+5c%>rD%i#m5cpY+wnlXxsDg@NZF0BW9&QO;W(!E82@O3BbQR&o#5SaKpc zS=;3xg@@Q@u^YG+p7Uo%U3+!~kPbX*dUOs{)z|$>>P%sVe0~_F(=<+>>To~9hYqS2 z{nD*7RGT+D*UVY;Uekx3ODO&chM$I{Mr_p%&9ndK+v`ULH`h$$GmDymUG1MKzPQnFc({ z*(jb3dHQos{n>?y9z<08#tLMNpBKMh?entv_%(+D{%8pf^C0KsU#RW%ev0|d8F}jL zhBHV=b9J=p!J)|ERqEx$|Pt`uS#kK+| z&rnnzYgQ^nMJ#=IUbkd@^h9~@NsryBI=d-!nQY+iq^!FfMma)~jcjdpnDa8Gtz@CY zq3(>VS-4e+?A`g|0d37#?ClJI=dtwQrOqr@H43M$!1!^W40MGOf^2C1?1|YEOeV-s z8}?>j1rGBtY#ugdCCJvIYqPn8AE&&yXIRM?&+Egyi>vQy&Kcdl%|dbBbNm%^B%spp z>^?mo9&>n?EwWS2u&l$F7I|LMEfY_9v;Peoyl_oQlh z`d?%*EGI)9XW|wXlR=yBbOyv~ISxOw;optNyi4bmooUgL6giGjeIK-psP;vUC1n)7 zl=dFKn?9qD>e6%Rn`YoRA2%7}D?})faV9ZPZj&9fFo5>VArrHc+zU_+ENaB?G1aVt zJigoDs0xBO9BXB_Tb-b+uB_yF?+7u5(RPPU*974%kLlAwmBspe@Y(${jLV=e~>c#UcQ>0|BhOdK%}xxxoy?4f zr=mgu%3q>%J^BFGk)k%|NEAwthV8Lziy73MemZr+F(gR4Le(`)sU~38$fr| zb1R9G5d}RAJ@w}4Mv5mc)j&4 zNOm0Xagdyoa8RzGwCnBz?G=8^hVGm5vt&5m=js(acA6)8QSQF@DcVWK=gZT5I)3sV z9X$RKU7+t@qGvNsMS8xD zAmbIZUMf#erXM)=z!!&o4bUYieS3a>O2fgT;E$Gp=V|(~@OgV;(b1y=y<_9O(B#i; zYkHZr1uJ?KF513zj|S@x=;cp;fgZeuo|(&Z)2t^aZlwJmeIq%94(RC79zA{hgfnLX zNtU{0Z*qmNw(waz9hssFz}4hLMOoOkH==**SAT{+v9^+MVo2*7>$JMmqo-*KzwV1YK<4X9Q|6M8w^M5?8M&K zy-&^3Rx(8IfD=)h9K#pK`*fQAaZoiXBxtZtEF#x~PXa2)Xqsqgb)A+rc9QdXGtucC z#+4RhpC8c4;nRdi4>?P9lz7Gsf^oE;J=TXTag=56FRpM98p=MyDaSp-6W(##07s{$ zcK3T@I@o{8jv{0%bDI)fc!3Wo?MSd+X`>52Y}3Q@hJpNkQyWgaAk?J3hLmzgJ%A6BuXxRXV! zD-Y-DBdcjXEmx1=>@quI<+ata7khkp4ZU~CwOFdpRHonCTA(v*Zfz&5lpq|VY119Z zbmC6);Qsg!H->7CYo*wX)ORz7muyYxD^q5;0-7wFNx$Tb4 z(QXd2$e{WMaCUiZgO*oTlN0)so$_ey1p5rrS^6G9lvkJ6oM~=*@7LC2C;E`jOI-Fn z3d8L6lpb7PZ`_X_!yM3;@ZmT)s8MmG87y-EVbhlkbv#GP%J*cwT-iZNhGTC}50BD( zCHMsu5zsFk_;iz;=xAfHegBh*jMkZ^7naw#y3_IA59#9MfUCFs(%=16`pHkG%HI|B~MR{#!J;x@3G^TDwJC_dm`&7}@J+A90oJfq>16Z~j~KD}VnN=wi4*U;nM& zqN9ToI^#+h*IW%|b@Mg{#ayD5MbZUu4nwdI2Utg~R?!#x81xDRM1s#xt}di?M=QxC zC?TEO_E0$jfzBk+VZsg%1Tv$tSL=~7%xbQtQsn0ap}Om}KU~3b={A#rbM|>kgeIxE&|QuT=4=@wgxaWq%ZC@8^I1 zOY|T92mc<;d;Qs0zefM~AODv{&!ahXNmTer8KN4`|6sNUpBPoCvvdCXac6$7A6yYI zaNzLZ!$fNvTy7mY5B70weS`KMJ)-T~FDCpw7TqTOLm&y{^K#O8k%5ngaNlrkabN=i zXP}#|t?zQMDFR}T_CMgjCRBldV;%Z{hmp~L^l%KdEcZOfFQ>}`Lzo3Yl@aY821^0# z63{g-5e$od?hV>X?3Q!b9Ql8BahULPg>EJTox>!_J~&Awo825e1s{b6&E=`OaX#=n zzw#m?x4CPlm$bBmY!_iI7x>Mo3B&bOcag%iR zi?c&Izqk}xoA~Gd_5bpJrrq5g>c0Nq557YGxBvV9gSr&whw`6_WF)8iC~+#BtO92@ znW*A6nzbt~6FFCo$Cu3S*ml>s!#?L{R&+zu-8Ik5tmUHFf%<4Og9-(Z3uf;z(bpZ8 z{NuwMf}Wje-n5zDp9j_YbLCKM3v3JC2d6{S`!4_J68* zS9c6=tC%ys>2Na5kgKYe*_e;b-j`~gG-IRctSEo%1QzhEYLO69pUb=Q#rBI=#^$VL z-oBBu4;A*%rGXBkoAdl1_bPl?eVo?P$*o`3tgwt_UVdu?oE?j}(ZI~0vIkx#C=c;3 zS(_zTR%58&B+LlOkP}h8g}xdq#tL?s2YDV_t$_(=2G%wFXW>dzuU&i;F$<_#uc_&~ zzIPV0y5D+PIdk0{Icl&FUrc-s+RU!41MS&6Hn(3?j4jN~HX>HDR7X>;IS}WLIWtg3 zDv$6nM~wFR(vOmfQ~U)~8?(w?O}^U*{KqjHPY>R4>KKY5P+>|mAF!EO5qU?bN6WJI z_#8s_2&36fT0W0UfU0u@ha)a)9H-=?XH1Amxj~I8)xI7jvQ7wIoE?)~E|dJ)i7MlA znc4G%Q$26ewfTs!=p35i$H1<9=NQfNn90muL^AH}OW+$Ll$sumab2qK)JQ4o*;<~M zhk9Oia=AayJb~d2#crlm363ti_Xdn&*sja7%wkRr5RYqJC$l+)#WCxdYQck`r8lyJ z($Pewxr#~6vblM$88>Twp3(DM0;BpMHtVW2xKZp1uNmmp*HghS6PVAX|GDd_g@(ry zpP6hY8N(PDEEgA0LV2C6SG;FE`N{UVvxGdN-DB4q83gI=Gj)|D47@*1u<&(U613s0 zHa|9=eR=VWOK-xc*6R%_A!vABqNMF8(5>X)AF9{Jt{{q;|Dl%>mnP;u!IK&1kDL+| z0!=98xnopEUOT%t4kiUSG(*Grvy*>rVC8PJID&&IO0c6;G0JB_iJ44WHnIq-k?Uc6 zgF`zcV-5F>>Mv-JfDIg7@K2=f3?<8TEG2i5Av#**l57ROGD~E!!0+-(XmWk@n`|lvqy^i<*%l>F38H~^CLknl) zN%mS@p~dLC>nJR^O>wH3qwReD7yO~Vz?|Z|NgHo6*`%4_RK~To6n0P09`jS{vE6wd zS0Y$gVR*yw7oD+{YSBW~hIpPGq%S@A0t}h0W$PQC?XqFJFSZrW^lK|TFji}?=93Qr zMK6p_{;Oywn%7Qe-rDpB4x9*$_GxYM{GztViB3jHwVx&jTA02j#ttfDk?D0!{!Vng zV2qpuXWIHO5yb({<;i1_)%Xd{C(`Hn!bDFK;|O?!>o;lz_!axDZ^Fp(yBRF&`9859?(C6YI1MVG#?n?my&UE zVP%_X6l>*j;jLuBWB!-}J0p@~cx~q%JGaq$`S9@%Y5&8wx#w!udu@JMFp|T~8Fc92 zoY0$;xsU7^Hk!cy`dk@gfqAmbbIQim$@QfgUIE(+T3y>=CoX!PFRpGff5aNDFQx3^ zI5`m~iH^8x0tdUwKC%;gFi3{p8^ssHhxA*xp_7v{?oDa(crcO-VDwZq{?ZH5-h*2X zG<|lWqfhk0$|kLC?$GrZ4t`?(jgr2TKljXT(yh9I>eQq-kH8Re&4TZfJJqzDt>~4*p zmTU1BIJCZVmlij+Xy^V0-G1>U8f?Bqi%DirF81jR&gH`k`tS!oqRYd_+&dLLfI|os zU2*`yL^A|~1h$Q!+byoL9C_unm+4~Ju~M&|#hST-Gs`mT0uRksMda5tyFOZCfD2lT1cC zhBm>kO*FunwAyNgd0JXC@Nh91$OlP(K|o1JPCsPgvOG#ot;<9Yq{c^?%#^DcK#zv; z9_5>v5Bj+U4LlE};)rAnssq_{WDDX5l=;0pLmY)1=$Ck0Gg#!((!)e2aIQ@fPQo{N za(ux3zlj6>t~t2p3V~?T+0xz)Sqm@GkK(A*^3l=sCozH}6M2XV4{<6mMF9QO>mUUm z@h6cv4WPqE3G^Cp#RPfQa5P}u0Hwi&zev_^4vh$u4fHneX&abchoe60W#jQpMSop> zd5|2Qt!1HCXMxUz%7c-~xVpNYV7!u-6C6ETP)$_b(FdCp5ENslZ{d_Nb0__&&{zNPtMt{sc#9tW@av3cO~SdAjax~UzewQbM^E0P zGv>t?$-%x$U;L%NNw2^8vvly}5q(gFkkLJ$yF0MIs9F=~4fw~3MEtW?jz^P4bDGHsPxVHF&Ung0D(o^bGI zl!kry;d@+-4s<;l_L4rZ&10@@-=noVuW}H~!AEaPWgAj-RXJ7!LLjqaz=6(Z!nCH% z-FtL?j&?Xt7%wSw$i_W_^m(6n{bTf>{=@%xF1r5q@B9J%zyIk!w@d4_`GA!2i(DHz z8E5(@xJguVag(gcyoO&z(}AjLDKXXptKW-Bw(Zkpl0mm`-{S`Wf8iiS3yEh>pC-pT z0zNJne-Q+P7wo0bBL<@-s?Yj(FMJ+&h5I%(ZzsO6BzSlJly$r|4(P`nIRbgqC|CGn zkNutDSyW(ON=Q4N*WDLC51q(xFimTJlJvfNg&*YyPdG?;g2Hg={Y7%3kCt}xT#$8t zadyD1&X$voj!J3sj#%C=5$dUAD9j6QGN;<}9ah==T z+4x=D3LWvAXBvy%#b=tdpLiii2p5V29RV*ltOH1&^+2Eh>}Ti;U;Ih>#K&Kwmmb`u zzxa!<)4T7zPyg(n{d4NRy0(dYmW%c8&wZ)P%r~gK_I`{ChKdB{%x<(rMR``CO;Mvw z;6;a+^{(W-3&q|Bc?10owxsKeV>vs9+T$^^>(8;Pm9^>n=Ut+(FulOr)(R{&1Gef{ z-d&O~j$(JH_hDWpd6|cNJ9ppau5UgMsP4%NaBh62Z@asG&2za~cDQ4gc@N}$U4paV zrL%c;@WkKk^{t}Q7U(_i)x~#ve)cIoXKl0l;`k)hzteLl$gU1~(1Ks(oIqu*Do^Lx zG4gxA7Wce5GnqQGQ-4k%x2KV6ruIB6v0cg^UDZoRzf|Uw146ow^l~(MnxnaROAej8 zH01q%y#7$|X*SWZJg;72AZs(?=jZ)DGmi*C15+IR;eP26OEUp7R4xgA9#pT*`;lk; zf8|whq_e2>r?D6)zi=Sd1sv`R0o@C2SV;mS7kMkB2sSj z(`12D#9JvrSVr*%IO(IvMo>h@=5oGb1m|+1oW-=j%D>9}Y$!0^&CYf>&DGJs8INtr z(1_F_99u)sjK)|q)ZnMj$X>?d-9jhiB>dC7UAFm zTc;PIo(rpZG;|BG%tOHuw192X9m{@ighym0HLtJG8~)qOgJDPEsm7W!9y5CBHKu>}m)JJF^V6gH(g0(s=q5>EvMWDMcSrRQaFFcmmZ zhXJXQ7D=5z(J2Qp8F)s?fqumAIYPg~mq}^MhH0DvS9oiv(YFg*tf${_M6_j`^N(8Q zxbS87YMh}WXQqoWDX&+p?h>3^n3&OR&VtNyrHrF>I|(;w&9HQ%! z&Ywm3Q5m3tc=+5n9ZA`p^mtFkPc{(r^swzPpb&AvN!9=SMB9mEsIf7UBi|>wulA1| zAJ=DFMI2;4agc&Kt#y7@Dk<~$jFV0d=^-IFJmH^0q3_H`EYOY|@A3}lP?o41L-$gv z#c(#bWN2rxr5WH+%Med>-JtE#a@Yt<=$tc~+6k46TiF}nnCz9z$x62~U*Xd35)hHs z&Qp`J+oZ-`t9a9Bxk(O0?P+kOZhAi8ai&6#>5#J+dvcFGzcTKG0(~wge{-c3Ci-ju zMg}E6-YO7eeAQu{@ZrZ=ww`9vGu+`Q0`8!UcvB27DCdf@i7QHZ&>8S7TxUTKrWc6rJmqrGF!o~NJ>@-smGD-PdOa?=PHa>MKBAHU`pu(c z{`t{Ex;{HjhOjffe>pk$ku|@v{X+WpfXmj8lCuZJ(5^2og@`~&Z1-WZy4 zhKMo$1?`{1xXn(zRW@YSxFIwLUE%utlru9gPo8pCC+3QBu5hR?qvFH%ect26g;Cm@ zE5@A=EwJ0sucHk(5a39=NY6yo2jCJMWXR56UQbT2TQ74-dGsDen}V1t??~Vg`aEBp zp|tEd!w>6R<-n5lq|dBz5QqejPg#3M1}O*vv=&$NOn3?_0?HsdTUrz8`ay1N?W&fhl~z;c6SO5g?F> zpTVWy<@qZ9lfy$~4QC|72|E?qlAgB>I}QhlXQQNbA9@q7eaem!Vc#MDv%nq5XgFG9 zK>zHqjHz>mvmR>{HE~Ke<4LYm;f@zs4iue7zGvs*Xjx@tR;whFTF){~mIhQk*Xwve zd3culZj3yM&~-BCACvzkkDYFxf2VQ{a0EdJ)3LNz0$xJ~nf@YtCU$hZGH^bw>+f(> zqxun?pJ*-6s8YiLxEeSC=QRQ%rqgMaRUWiNyah9XKT7;!$c}sqC^2~@m6Reo!9Y)a zZs{~&or|jy5~(w`r_~Bu?frhk!7bpssB$4Kj;8!94tPrcAPdmy;&A^logF>nAfw^Z zvfB01S#ouUad_|j_vr2K|B%j3ujr?L>1XH@ue?sM)>?Q@@?rX8m9>8bF!1V^+b0-i6eNk9+U&hS~hC;D}q zNR=PcaaexxxwFwgrnV%c@WBx`$=>GnDwe6w_`67yaoaIUB8LMV21+Gi$ZUx?!(1kQ zgCI9##UpTVl-57KI$@p^9WDz`ZZgjDw~80|gjP1Is1kx;!s|=2;3cA(CjEz#({uXC zpZIKYR<8JCK$0&P^#A>}e?dpbrD>XCj@w zw)~WBXNCTwltpGo?+IOAU$Gv-Fixxk*2Q~`+M}sM%WhYJ z18b|R9F#6+fh!I&iLoJn<{~GLySyNDnVZ4E!5~!ptP3!e7-|!;hh;ulZNAOB<#q>4 zNoM&TyTG>#F2haiAcw3*z!)<3?SAlw>x5TVkcR=8?GiL>HUxP6Ce8ledpWX<{*>5_{*=?C9Vww zYD+L#QpeLpwVj8WEN3=4U#`D41;kB#ZO)E`o@L$Ijduj!!ol0n3b~apscfKr&2|z5 z=OgnREpyV@W_o?0c9TF2`6Px|&oe)?smBRaSdkmHYm2sL8Z1M!z(`qutVc^xJ0477 zmVRvIRzV@yccJDqLhd@}SmRN5-?C#p#>%b`$nj0TuWqQqU(5+#1fcK zW+y9ldHZiQpI9bTc(PhsLI*ziJgk;Z%>G*~sK(svC&(alcKI2;ZNFEZBkJ0Z z?K@jallP5^Jjy`r;DqxYQoh6*Nj3+qBs-F7&gv^^R!PfMht0_{pAKSk1 zILJT`RGh4y`T2;0?C`?_S}LA|81uCf0c(gID_})K^5_QPklI+DqX-{a;YeYX;cH%Ch6|gEFD**hN4`n&J3CoCo$k_yrO<;oRw5UcpH3 zF}Ub@d^AYG6F9lsyq}p7IzibbSw`hho=uJyIy)y7^y#uSTbqAoiHtD;Uu#vxXi>r+)_1e4pc_ZP$r#yg-gNHQ6UXe5~@eU`D1zZQle@6By|iQloo>9 z&o)Q5h7JetpR4CNJjqNe)0WA|mGk8^x4CVSbXMx>?tHHq(!Zyx2ZOal1-x2h$ zi2OMtn9vEcTbw~4&%r!kfQ0gInYz}m1jcog*W22>MH7vvwP#eNN~6!LP|VHyGUq16 z7c;cBuB5Xgi85VBM|oRF`fdVtr59n~gXhyH@A7vr(6bRU<4M5?q5|_$$)X_FyeLAO z7-t0NAtoCFw3l<7-ejXu#%qnduAi$THrfLkJI02GHq$-UCOv#7xkPgh21(7p#93^OK0GzG76&s{t%}XX+9`~AdZ@rKV9XQQ|^tt1S z91!O%3{-GX7zv_B;Yu>_a*0;*WE44~8W}?fNRy2Dg^U9h!5^qNLCU_F@lFFKf|QE4 zp7pkum=pIwM_)JufvK|*@P*S2@Igk&WPFn+##xhSZ=mIwTb1XfES1oZ7?A@T%ebU_ z!bxO~v*X>?;Q2CjUcnr*v62Jq3_?Z-9|k9RPC+wo@v=4o#F@cU@-in>T9x3wIbV(c zwo&mr)11+u_SVV!N)+l~VJ8Qo@@2~Bx~^=pEKkmsZ3Rcn0n400Gn6HuVZe0F(f*eg z&e#^+T0(}G8O4nLZL%iT+YmGlaZcg4cOYl60o3S~dJ%zM-x=B}lL-KQ0qENFrEUju`z=Ntzw=)N$f zz+jhftk2GJG2pTBdUCC>R9du39C=#3>`0W%b88_m%~|nGqZ)L=u$;Czc*6Rmauyr! z-Bg`iG6YYL)OZWyV3tFq_$9c*eNWT);&eKz_sDQ4#!8;r7U2+%XK)n+SBKxKS#Ut9 zW;Zwb84fu%;Ag!z8Ojo07$y2;M{jbzt#00>%{%vLe{op$Z z&(DQtX%E|azdNrim&I8;&1LpyFVTtf9x*>j{BI!{@`VmXKX0N03#}xhD@ujJksQsz zr!qiVaER{EPmT;^hvS~JWXMES5jb5Y>TnO7t#d`^XQ#B59HE#@pPd^mXUrO|AoH*{ z97vT9EfXB)EVEG_4ksJnk4)U!W`h|r=C95VD0yS)^yqQg_v_pj9eBYG z7x3{hf;xkr5}x5=<2(fS?3tLYKk4}Wk%kKg$Q#mfUa zKia3W^Haz7N&Co?YeOQCMXzGu?aIbF-MzC*o9kP&_TaPh%Rl!bjnaMlCl_gNPnh=p z;?WI#^LKxfOI)*4G&z#c28LS6_GD)YO2?vX`sEQVB?nc1u)+?_!b^)RXKt?N#iB7a zs;BhWF$>^t7}H^#qm>`obS`=!4tYdxmO~pGTU_z43Ug~UL^zkD6My4W5%mGqS6Qqp~7r!OTM*-UzJV7R~$c5?8H z161L}?lluSOwT}uI2-q~9--Msd7d&^YiD3sCyukgM&>@ZNE6svmbV#4IEW#^34DUH z!r>r1d`25vyPWj~-C$t}l^mA1s*u0ZQF&$R_-9Z$cifI-=jA$o@A-+}CW>W<(JpykvC90xciFgoo8I{8zfGV1{O4(J?}Wbc8~>DX76Cli zgJHtg#noHPM~@!=h~<$5m05rBJ_i~OH9)ebfs0b{jO}oI4w>f7vdVFy&jpsdYY7ga zkpRAF+o}FmpWcEsn+c5+D@n`o`I!u%O+Vb*TH%&i&D_uff#_mt-I z-tw1&ko!{BAGo-=dne)1d4lyrcZQ~1y~XBb^!DZ(pP*m-g`cH6cW*IX9~~ak@Bh)C z(pUfdYaKm_obpgsIp4PGU|`daUSCq(yvqaqquqLq_J|6vtc)83J@kZiD``z9!3Gi> zb(3wV(Bs%atL*@dKytshMBfNrY*Puk&KN*l3-DFafws4|5*@7w%_rH0-rZb!yaJPZ zaEEtQxH7w~6(GE>>CY@tc~_RxT{~elkHB!E_B_$|g!@;6=FiR!80X=LM*BC|5AcwK zgAZvl=|f~^aqwfbe@k?7p6GEc>Dr9jZb%8h4>Nli-1|uNV*E7iC#ZaJa>0QQkXhH) z*J8GW6CYJ-IB-cyj$sWO8(ZnV9vvS(;eb(;*SFv>8;50KBf*`h_5@tHytv>XH|7VX zH{wilbI#9)F3+t{m4BnnEP`~7_TDcQxQHtIe_oU$in8ay+5DoDr}E!y$DmLLSais+ zey&d<@G_^!H?yY5M|X}7@(dfVI2_6Gm%!}^TMYu279H0TxXi!Dtapl&ts!#NDrary zGH{K@CgXNSl51m z8U$?f&U`%{NhN#cv(jn`l+n4KUkA?$T-=?p zhC!EBoj}jUo+xaxcYSv3GS4za<7u_sO>r#D_65&8OcS5y(!|Utj!T8& zGtD^ZF7^H`BJV4qxx6yl|7q5zIYYa7Y9S|c64iV;qf?|ATdkCEcM{w?rhJyH0Z@>< z%?lNUrCehhY>)J;FmJ35&b^94jrhj!k&TVR>nIsI&Xb_0MtX<^D%hTl_`z~Qsg}~g z<~?ugjB)shdXRSAlE&aEm*C3>H!2VI^3i&kaJHgG|3dgqthYJEBJ`4i!2L4&eKi72 zb$WpBK$Y&X_Wl(^XuY;bv#h-{IsVyByek;U7REWSc@>y)x z-S)T_4MT~%APoxp;7^Z!K6%~t{KkC_8R-pHvejk09Mu)g?cE_Da?W)t74M(l2JV{^ z9Zq_GNF{vc;G~C>uX4~`p^RW1oMllK4b@Nyf|zj}#Imo3lOZ$jGQN}qw*!{(1MzdT z4(=6ARI{8_!U~4ODx4tS9Q=ny@KYyldQ_%YN24CcJe3OiC~bJ0j8uYnGN)}go88b( z#`0^cIe=GCTA#5T%XsAG0hC91OO!=iT)yRWi?Xn+1bJ9Ept|@2IY=mY?Rty$Yh%~J z?f9(&wI7>frW?s__7_cVj_By%fQ_wCpu4XE6XQap8MQ5Wyyz*p$o$oyhr=y9^QI+p z-e^X9YMX=B%N)rfuvHZ-w;6HPu-=QzK$QK3({ni)s8&~2X*_K*&&Dnd`jO5~kJBOY zly-05;jy1Qc|^miucK{_P+#UzA;&n%=#6C9w$nP>0e8!ME=aQE1_IB})EvwZCPSB~ zR&^=kqallT65@B1HM@KNRXzwyP=Zr#0{S5)$3}9_e!D&Wr*B}$wanx$%lvsGG&E2wVC)|%T z8Fv?#c?>ujGQ4IKDuW)LqkP%MG>E}yI9%diZmuuNRz$_szEp;>KmgDgXC3G4Z#gs; zK418)D1?n3z%?UIo#`eE*x?gBO;N>XY+c1cRLdNxh+#5Eo*@~h65wDnGKYSy*a62R zs@fnB0c8xY&Yi4rsMrKOaH)=`c$Bq-AkHq1NasMn>(Vzqi}YFs6m)O$fuAdDXq2aX zDSLw|3*z@Tcu&dmmI_{(Pu2#idfea+kY;d@Ocds!VU8RK>O>Dx1p*Z(rtMhg)K>e| zP^k7zfIy5#y`DtzH`+&?Ghw*zX3LeBa1ECOA89#o;CC{52d5WtY0?`Q(lt0j9rYBf zI#a6-y_T=#dGy4Y&Kc*ufvUL-RG#?ed@pj# zUR;_Odu8k9{nSHymj4B*u_i9(j!aKDL(~6ORyXMO3$IddVU?!I$b0zYL(XPwt!#Y) z7MxXp6Z%2palN6G48FcZ7L4$ah4dMjeh4BuJv&cETNoIRlk;U;%J8P=;C^K;L~2;a z^CpvNMGckik-ww7|3Z%Dazb%UgGuUT;qK65c#zCme2vT!#|^P9Hc9nYPlst844DvbmG?x5q&! z=;MwazgJ1e8FTO2DfgR2mRMfDM=yuZLJpzEvKTdBQu;$fXOiC5QS6qPCWelB0&smk(uN?SX35?#(n z=W6db6J5`47FbyViUnwysaQ5O)|0UL;-`h=L|@<9;onf50oj$P)PWc5MGK1y>;RN8Q&6+EL8}ED0-@IpocNo0;*QzHZ&Tfgo`;CHGKzJgnO`-@y$5H4A(EFbJWJp zZI+8D6%L++z~ueCkGQ?Ua&o?*EsIpFnb2yY`OUkpr&*@?j9XgSxtD0-Aw7NfyR@{v zLqGLz{|)-ZpM8V&FRtkS|Nr@Y`tBe9ORYpi$q~LqJ1@M!?PH$4|7|*b_KD~vN!Hw)%$n#}Xh)B47@c4(^qu0(f3=_zEt?CFkK$mE_ z71u<95N@t>r5kVi40<-j3(nfR_g-Qgwu(f?`^8Q|jt4pVo}MQ@a>`l0<8&U}g7dt; z#Lhm0GaUT4Uioz5Co6RF(YF(Q?N=M(;H>|ih_d|ms=o2hE~R&;0Kh)swHl3}O`8NbMmI{!RWwY4zB9;8; zNHYO8Mjxt}$#3fFvU6_KYJ^nVv1hWXt0xlGT%~KtvGBO; z2XOnw=YKs5)C}9(XjEQ@!sGIl{!5#G$8KUYpY0pUV9iEjwsWQ(<7J`v1u`5%?W`u% z6|$|tC8nDFPj-kpT&;KD;395Jc%i7`!Iw#5zL8njYwFw@P$znQK1Cb(xZzTg?N5B4l*m2M3Qf z3#AH~4W7?b9X(VqS=|xRD_k!EXc!?F(6~8u>%7U15j#Phf{TcKw*QG2|G$qgACbb zMp+I+wih0E3M{=d*^Dj%Q*o%(`x)F?J7v6WF%IO$BZQBJ8R(Yz$c>=gUN0s?)U5)a zSWTI71eRNW*_SAcnksgwlaY0Zp(K)zI;@{T6=HgxVWm&4gcZI+w$H4V-` zoQ}~tK}#KKP}(9b$*7r;Fs5*+P>L!LgOsogA=5*n(f%m!JMA8TBh9=l8y5!Nu7=m$^jg`U-AkG@7A#-D)vnHCpP?8LgGaG7KtS zWBiV04h)4y6#6$zl{wWEgKOZ(+P$3)d9g1&FXe}f&zx1oy$&zZI*%mQRu7QkKr39c zyEb3NfuF@rba8a?Jt%RQo;%=*F^%>pm;1Pcd@?L!{Wr;oE)G29*;-{qs>w8bAhupN zWwKl|KtJsC!ZB1u7YLACBZ9Mly^{93A7BF(azUlo4F+{~Q3R$V~nQ0U!c zNk>-m@RCu@MqCYG0e*4Y3U%@|2sq*Fhk-cFC(74?R4>8@30Sz%tf`6U3|zv$mou4p zCR3@PU>WEf=EPMT7TF*r<>g5$B}g__u2^Jq2fTuVsp?Ors}7T~3MDKNw1f&9)3Ich zvg0PyEka=6MM>fD^%<9YC35H)rScMIgH0znd*90z3v5AlEBc9Jt|(PK=86lJ12(+>|i0?yGBb^k0C=RQ>yF>UA4d|BmOLFtpLne zCU%X$8Iv2gU!*WxWyff*8PVm*leC1yN6rqCqw^V^og8w|8gK+zmFD>A9*^^U^b4yR zGjFdh4-?-*8fYw_g4tz4o~Ww0)~jH*u5!_#L`BJEgr3-(~p(2aQyK37L-CoSiN! zG8wh7w3rOh+q8E3HTrx1^Pi>LD2v})pwZ%x1_|_U9kuk^|LoW3@%ulZtS$IzCAvLKL#X#3^V+(7k4EcvXmRU4<18}B zuhRY=C&T&pN&lU%;@DfLz4!3)u z$$Fm{{*+$eR31ox5lUBEKV&<39Hn{QyZ-{6U&ailW*{wXP(?)8Vlpx(haAdsqp}VS z*V9@zIH(7|-y{QmOmY?_;-8|AGfLP;scciu{hd9TPq1V`T}^`9BKl^dhkGQhRxwWW zc7s4Fb)**ONloAQma9~xXRK{(GG7L_zPdc;Jz@Pp?GPJV+kA#YMF7sS)*#Didy(k< zM6>v)JebVsWlInmXp-);zIB@>6R%Q4y?)+uB^w`uPgU+zDoytWw@4pUIrEC0`$Lh` z?h^89SH8abQJkwx%c~pgT!XEu)gU?WUcU!HZ>zG%RJL#I>~eJp@K5lJOYMQq!D z*`Gdu2H(Tkznu8i$7PEGOC+ zB5e!;T^N6 zU`<_EmG>Sl^2RwJJMgabAgY&BKjS(3rq3AmCiLjZM@d&pwvt4zqtP0-h64{;+j?O} zKWwLGoV~rgvRmz29?Oqki7+=P&CZ1?xagbdIXyc#kQRu|Aj`b$z_fEn+7AxYWLwgN zE7>e8NL3vq6)X(V^5KxKQNjB8$g8Z#^!%+muhH?-_qgT6tZlh|XJ`{c zEmP)hSk|McIOJobS^Kg)G}~yRb3~ig<%N_XiON=2V5a;|RQZE~*-kXs1sCBg23r9F z<*$?dri~La`;*Pf+qz_c#z9B_23LBViv3@Ls5|BNI&-Ozy?Y*|8TVpdV9fuu;1vV3 z-dZU{j##P+0d+u(J<-;YVO#y$-M2{3dx?JDbZD(yAG`WVr6`qW;MZdR_s_5Qz3X2g zonywXZ0pxRmN?5d<$I<7w)CF2->j;ko&R|WCKswl&0*@%`m=q9=#Ewww&z*5KXKB){}DtjL@?{Ksq${cK-Ao- z`Eq>;csBYsebM`AgidGue`4qIS^XKW-P$q@n4Vq1q29}^kCW0?Sxn(Sj;B}j7Mf~& zk0wJ&-ue(UV@N-{qTt{LzrElf|4-pyRk? zWDjmqo+v9mm5IaV!JEV-7bV+=OFL5FNK*r1fGJ@x%+aBl0aAfR(A0dIrG;wEvMRqe z$841NGcTKAxKs$7#1P13ikqOlFvsFJ;)I%p9p=3-&@4bzR;R*p4fnYQ(@@Gga|v z+iIOzFq(ErdHU7b99PIZ!LK*Wj7!zCJghSr*xC#^{Ww{0`YdN#yDE2?FU=|{W_UH_ z!TK9ZZ>DP+4g1N+vXf_BqeY|{MUFf_4%I=VK2*s)>|$zqY>cbO$+3ZoM3qMv4j61L z@Bl`H)8i*xqOzasv5)1dlEZ*g=#Uw zPRS9E#ii%7BTMi@dfG>+{-Q+0*(gCO4itXw%W1bALL-MKJ;|cffJ0vrJeRk%(^!Tz zNp!RFWh+k@oRIL9HX7~qDwS%=_*Q{K9xHMH&WBNQ%)sbAon93YiE(4=vTG!=yzMX- zgFHKBlW`V$4zhTBws?)nA(ySTszshJTN$#vL5@dQkPRH0LJHOhO5~|UzsI&1n1!F% zvnb0`Uq-U4fM=OWAs;BnU!jE2Xw?b9x2S!4iA<+pn5Ds6jS{bUdgOH=TeR1R9%wi* z<8>oSH%J7wJ_+HKs<`r<&hl%#5m3@~$ke+7cG+8$Bvte-JY_&wy z19x~YS}l=1<d4hQyp@4I=;%m1r&>3J4{Zy-IqQ^uYC4rlQV9OP7g2G zu#U{j@g+(bpYpvZ^^OcPlp+T|Ly3A0Drn7#+Gg0a`4e*a(*W6$C>5uZz8||4p>Q?QEZCR8i5aaj22NN$F2L!P=bq{K>1E8;DP(Nexsp5Ukizi;o}=IrHWv`#B&t2| z$pd_O{G$)(JQ<)Pf|w@K|2=Ex8XQJWmBGhha)7RFZqeooAE(cK;Z1sVS1Pk?>~7Qg zs88Sj=!E|G5B{7EAHPkPX+cL%517xQY_arXmcE`?Jpu(F7g6Hg`g}_j6ARiBCp%{b z#DWXa$v1X}C78gOj$YrRXM z6{z@fJx1nTagP2Usd6-xr<(L4N4M@AmUR>2$|1_q+At z`OB+`hpw%&%s~(Xml;;Q5@(VD%ZD4`DFz2}XJoQ$bW+^qlL40tNA(159pz-JwfVvI zeRZ1iTr|5LxDP%e?UD>4fwNYpEbCiwS|>cP^edcHW7Jc#G`BFNwP3Wz!ev=-*{~ibPOp=oi=Z(eWNXNP1;_xx|2}fY5 zbQ%(UNUF>vSRly-mDmz&AuCX22zmi@=nxzoLay|rl}x{n>M_gOH@nF#Lu!Yx>V^n3 zIX+D^wZPXvPJj+jrN!&G%q#VLb?22&)AGh0I!jKw{U`5fa9_bYZ#uL0;EO2dj=fvk zzReX4P7b9FhF1WplFd}}Mr)r^f~2xGoUiqA!V!xjUZTRA=I9qh^XXq{(20DqLA%am z?8_+v_hOItpmq$+PKnQ0RA}AK&9nBb?4lI?x=J!3w$qNs=ZqV>w_l-Q!h@ShoKa+I z-NZ6MRiky+`bq+R%^p6+b^PAj_5R3f5A%ASPZlWPMAm(xr=$ZT5CrTA?P0hwlWxfB z`rYyng~?=+9Oy|#uWsCxZd)opWsK4v+0VN;b94@dx4~^TmGhXa=Z2m^=R6&oR=PZ|L@w3gg%FSWzt9UPq}chJYNLHIARY z-`N~{6~PhB_L&zQGp?0a+31SK^!#6fLkm9UvuFq<>BOED>MVM73J_H`N?j9`HA^x8 zQL*0z)%)c)NcS z*dr*<(ZMKa^&kDdjMpl>x=!C>`^_vhnw}G=wNl}VbF#$3+p3qN83A)3so)ZF-f39{ z6+1G8JWIRJX9(Bq-|*cAZ>S^?xiElgkL9<}88822Z`q$S-@Z&8T+W~TRFs8D7cp-m zclQ`h3L~Q`K*Oyq%Q*a}5!sV*M4xTdub*fC%cCm%$=lYPJS}6y8b2!Ds1*$&J;&$K zx_$GsI)?`k(M(W8=gP8u9R_RcnaaAwFF=+2%OiFb4zl}|cX@h?9UryvSSq+&7+8mg zq*pH~wExIYmKjG*scs6pDl(!Lc2ri;Wiul5JnN8a3+WJb6(85tL(BE`IJ?8j0Z7J; zmKh0@`#H^In{^i3{XJCoC>sl*f_paLG5$8x6%U@BTWP4?V3>O^@u8xfXbJZL_n(FF zU$Wb9=TxGrwa*(n3C3c84t^G~I6WyJmOLzN2dyN2sP;3@(t#utSydrhmxju^f$$w8L^lJL8yKUGi&bPc__+w zrUg}^+|K2Lb}79$fBfLy6Zv^|_q8x3V}QYF*SSApcYiyjF#HD*a!uX}GfLVPc^;e( zT@*U=w;vh@H<@SSgo}U4^SZmH4&L&~vFV}&%ze##AM27!pVN{sE-_9ALq>THsYFlv7iPiVfj7;{un^^F~?&#Rh$6$*8bN1G- zNd~xaHnNoaDbF$Ewj0YbciE8_#j(Urp_zGAj8<bR*LG83onCQLz(G?#UW=vMXg1M16STN<3E~dE0allxs~uYe;*93K_k8G0IKMgWsU8)LEh^zWjEaJ;P+lXE6Fo@5fy_NXFqd<`GOeP zk*U)beTSW}nn53JjwWZQK77ULB$wNleJb*42DjaRt9`51=FJY#Hc>N!BI`@CM$IC$ za^LD$HiNzdj_GbFKZyB}VMhLWxkH%-Lam$dRNCyUM?eMRNfTUI#V+IVJV*8FD7_ik z>8sh_+ylDT*B+e{vi|AT51hFS>xvUKs_KDF*9^XE!KQg{qLy}T1&5KX#8TTiCNK_X zVslW626kw#P^pq6Ssta0lEM^Vo7#_A|J)sm49E5EtA(bfeG2PC2L77U#D2PZq^Q`<@a2k_?X`HT z2X8&3%d;!my%lNah5NMm@|*O+C%%vz-)nUHH|K z-XESM$I?g1S#lzQYe5{jaDc;@ytK3=8La&t!yXxzaIgR;WPLqlZGpTa8FM{PPVKYg zd^%5iJ5C06&QM+1q0L(_($ad`-_@;zw^CXa&foFPS$h70(<{4s5;=44{P-E2>!u#DP3O8-lFkP};k*bgxv5z?iFvJ^^EJVXS937&6Xt=C4N! zW%#xB94n(?qnQreVr?w@WLdqKBeMTdN|pTCQSlW9EomPxl?>MO55J)T1X|CaeEk)w z8(r?x<P=b~GlZ35Fg`$K*py|ug6YhtNa_^!ahzwdt z^lUN~L0DMFG)C1KRnMfNmu6=|Anj*AP3u}DZy55<=q~*W9gA_89qCQuIYEI#2y^Ua zv(F1rZbnf*E3n0^<*N-j$S?c^rd|Uo`;g*qagjaB3!IVW1+F0ZX;x~m2v0ClHD7h@1g`4#s0?!rAzxH4~9P|6itc4-&0HAHf*~<>=XP z?(i?unW@KA90my5TUp;yxphgk6C!lRqwLQ#BYoD%O;3oHJfO6b@h%kIxEPHxO@$1V zP_eI~O2?Z1-FoWlYx$2)XJl(T@Y(`Qa~lG*kt>lb3%j_RLL~zYb|$C%Q!}s5c%sfPj~CPxfE~X` z#^YG=8h?vqpZA%^N~^9__G6&3mV0WUvJBKvoKZy8n3c*Br~|R`rt-(c3ee@HdVpK8 z(tlIkPkDa%Hs=G@(_5&||9-nd=beXR*Pd?GE}}l9_G!g>85JEDp4I^c%}h+kDZJi( zYg`piNB@<+>j^F9DvSBqv7SS&{^;r3)=N5mlQmyaI(x;ajwa83^N>{p22+IM98#}@twqeQm>Je zCcTd)nWMPn<~MJ@yHIXAaGQI% zqm^7P-u1Js;b;FbPF&_3sOU)^j`e*WmmF^kj<49yDB=F&k)pT&VqR{{f~W#ihY)F= za>YdGqI3Lx(F<6=suB@1omxN9X*RgA;>%H?3q>LBGHxQWgHFLDzp^m1hJ3w)j0dl&*s7MRyIx8j%W~NTf=Mh$;kGoV%G(=s~ZJBy#ibe&zO|Fhg<&W-kzIy`>+U z%_LMrHHYp{V=j@hTYH+vhWiHdYM4RF$l3MZaT}drpTjM2gB_ zBr1|<)>$y4K)MYmdsWspFIvjRugI99!-H7CwY!($$MKB<2L0=Zq_MZ2S9QkM`-4+% zY(4_&+Nf5|H%p#wv}9M5#5~PfQc0iaelOBuGCJl=t_+9H``BG;&2{afjEf=6+~2r} zvhHlV2egXJ^P~OCdRvpa$Mt-Cf}Fm z$p&ynDd>$$@K%Qiadb)KoL8_71F72XLgks$xc4$%w=^4I1?LbBz`nO0N1St3RUM2_ z*u9L?;^2xh>#@&9|3YL!6J0|)UUG`r#PG|Sr(Bv z!~c8A{;S!#n#X?n6%;xFO`AAua{mLXoLq{3RHlXsl0pkdov+<5dl1zTF9w zc2e#R!j^tZ*tmQ0em4_%L3N znLl_LI!ZYp!{csr{5~vP#$s`xvIm^ZiIBmXWf=Ex&a$Neckl`MfS3EYMX=1U08kKM zo&i|%C=mx;eISsbym3J>%D1AUA=OP5%73@sV0}tCGrIxSHE|3^Bi0|O+J#gv-~(F7 zV>sEz#!sF#@^s1|ZQHz`gcfCVw1I)xc5nyQ#th2z(nDvnPRjE2KOajA~*Q0Q6s z%Vd0(;Fz3@OKU(!uqK}md(vhh#%O!T0VQ%x%b18V6-$&aB?ste>o(lFznUD(_h7Jo zld_hk=lhgpeEjqXKK|wVFg|^joY5y-qB%-1pk|Mxf3Vl@Y!rO0ukevGO!BLvWuYU0%IhA^%^EBiD<7yQc%tDn@ z0vmFu2f75vFb-%t3C_I6Qmtr|ZliJ!=CSBdLx)t8oM%|d8J)mv^q#`wG>>5bD&LHb za-|!uaCn_V^&@;HWon}%ed`8QXlQvt5w39Hz>s7) z2d^XTV?SWUQ*Qtvr;hf0dHX9YBxO_ z2miwW2h13SwATrcFk0Dy{%Aye9%VQ6=1p)teu~++=V?8c$&i0WrL{909oa&LuUD_N z>J4QFFD)5E3BawJu>Aj&oSxBWJ?lz*IpPrVDy+1D{1r3OF?0Uulh4G-*h!>evf)@s>a3wN!u5*xrJJaa7E@USnI;ar7_!oIJ;xOGi=YUZvSuELZ z81SG~Gi=YK^$q@xI^AWWoz=ucNE_-ktn0>DtWIS_Bh?h5WWFPh=r0WtJx^FZ#|fNc z3#gU@{V+Row7x}nbd{XpQ>s|Nj%o_hNwO9l=bYW1_I~pQtR@;C3`Q^*trI@Q1P^Tg zvbMVmFTMUMy!6VAMDJtx*-!rle)wnqHaY9}=~)3{Ml!;Df6e=yhNiCwz4jvGHiqwjtWhY{P$UT;wksR9A zf*Li*(en#E8}u>Qe6T`}zD9b^<2d8-1@S;+V?A-Q>#eN2jgtfRCNk;8gbW-Mv~%ah z$Bl?EWo?=B5xdMxJRWw&Dv*UA6m!_N}TxxIn6gz4F&baYkvdY+(LM^n+h zPE75Tl0=o@cy)CQ_wKz2<7uzdKcJduD6QzGCWZW+tr5EL%6kJ)_M=$54>dlRth6a1 zET?dK^cXg__R^A;7w}5xJX_a>L2_4EK>_&*RdC=ddc8K`*-3J;uTXUeJM;Oq0d#PW z^x8xVSII%G_M@xumEc^G@5>|R?I8z5XXg^1DL{1n{-A;Nq>~^SKTC26E3jbTYrj7d z_~_VtFv^*ed2%K@gm4Q?qWK8iGtuyw19kBW8 zb@bN|(aXGY`i|6O38f##Z1S;oYI(+3?uz$A*z}+tTNyNT$AZfK7t8Oj^AFf_y^;gh zW#E^%l&${&wGBmeh2Tfh#8UZA+s>64*vfqJJjx&oT^pD@sQHvA8K8Pz@Bqz&3smy8 zi+HY8`6v!&p=1)UfG2hYhpfl#alT9E3|%>+vIU^9Z5I31L6-c5@$3Mw(5B;rb;jdh z{NM9xcN5X2nf#*IJMym!#`4bvj}$V7R?lk6x%ubG{?z_iI{OwC$xGg@Yx8zpxwWir z4dBq9dDsFf?5wYp`Ttn-lX!#%fVN%=7T;s9z@Z^geJ7rY<0rar$~VM}16GP# zs#ruQnZMtX0=;NkWlx=uES%=_Qkcn%Wf_!xzC28a05;MG$IGMVEdbynhrJNYXrW4@ z-Z6BoU#I-lxZEF3E+6A@Dr!FlEKL442FYzs}t;wpQzmRFQ&O1JjR*%T6PPp#I~Os zW*1>8dF<_u*=LlwI0wlxpI^%t@cCC4$8dRhF2*Es^9X;DeRuti@(u%KC?O4C$uBEU zj>c5s%Z;=&!Tlr$y7X=4UgvCxYtcBz?0|w0a16|f$1(cJ!Hds8hX>I&_8U%y^7(vB zC7*4hAzZVz>=@xck^P}Pj-^J2AFhE)QO;+!GQ|(7hLHZF9_@6+!f5SNu7$_jNbzQsM$8!7qAWw+Zlb|jo%v6nei;u|xEtZZwWGf8w!ZfyFD249Re z$FjWRD=9nPm8aAr5vvrCqgtHo9B-fgn=?Ey3mSSvqiFCe_s2oZ%h?5^=_ZuMrzlP= zcQ9~PfkF-lT^jEZ#$Z`&LE)bJEO9?@30^S%8=cH?`=%nvm~=3P+PDmU_I$P+z~T;M zS>|NjFhdZ!ijDu%5P!nl~_64|X zuSRB5FelDtKDT*lB?7C&K(v!v76cKL8nnTNdo(JF0X`Yo`pF1}&cw^(gT!NwAX-of z<1}VxaS!vU7{n9?T|MRN4v+OWiBBb6nl z$#H=hcH6tRK&zvuGp*GCjx-T;Oi^ZknmlHFj*_Dp63;_ki5a)!F$WfCpv`jP>zJ*G zS?5__4phRGGiE1t@D5UWgfbU#ueGWGmcU;c5H2Asu{4}@h zN`AGoGjckh-lO;RC?g-sjUzl)6U?`h19k_(Fu{LqC&}?-)J;x;$>Bq|JbMaf$H$;q zk3}6)BRY_l4_ZbJoZc&V>iCXcUz{!GR|$qEl-(Et2THVrKfK7+9m0u1nx@FG(H?&o zM24@1+Mhsj25(W>(Cr&(jXO7B?amkB)))3*6)uRk9voi62S5J=4w6G;cK#IhpFAWM zhVl&icCIY1rE!);21+(`pZoS=2KnB-yKrxB8~VxN`s$az2w!>qE`|I(ez*@;$+>kl zjqn#g_&L1yw?8Cfv~pc`;;<|yXOUJ-k;)y&TQJj_+Pa9rI+BC+k}~(lf*%CC7)i$9 zo+d(~z`c;@Vr%z)lBFZk9cLH&$zk;f&Q6Y@IG;q}scL)yRb>M^?3P!Ex2m-LxkM@&pa{=rmW*Mw! zB`*hgZ)MM!Ey8J{?Y$c}U@{dM9r)aX^fp(AsH1`MD3@hdaqJ60bSc(P5%yZ00eik; zn+*&qSYBC!c`w1ES)$)j|HYt!c!ezpj+0|;pI}iFY>++b>i?|!lZ9+|2}{_OUdL|KdQ8`AiAFE4keiKHDHQE*1_|6$6uTG6^d~>e3JMNpT|)5 zT^X&AGYIkX^5Rkg%cdfi^UZ2kK?f$v1*8GoBP^Rgo?KB-i}GFCw{+G(-c9iK$QOi1 z!z4MprqmZ$gJG!ZM9aZH!Qms=S%!ly@H(ujfKKM+G#AA6{p6U!U<>NsE!Sg~=Sp&1 zVdWDHE}JBoH>NE+BNzcb%wlv<_&h50eTcmd`C%K9aZfdEL?%TWf96a~p z%kbQr8*uUIXYd#Q_Sf+KkN*`_*uaeP^}Tzrxp$X>-i{uBL^2z9dF$3K_}X{>8GQM- zUxAs#rqpxwIlekMwiYuU4>9L!zJYWSZpXjNqo#dSb}9q~@BdM88|fF^9TJ#$yn@ zHQQ9MlELPU+pu=yC4%dt4}L~877D)A+LS(t28(lWn*nHuexQ}M8_*dE4F7kscz2+?FAei9Z`@*cL6$CmEoS3 zSoQ_W#<0Ntq#uPR$cavLia@&Fa-!+gwOi#DM0c|ZHidWT9P`Ym)?tW#q0FZ#oon#< z49(x?_&>Hcy1FurgXp z`*8>>q$7`@i<`>l)R`^z-gc6naVR=+FrLmjX5Y>;9JrWU(b%5T+j*juh606J(p#?J z=y0ES6VjobA;tcrdjim*o{T5y{rdJDmbppyFpQOP%}3&PQ-dPSzAR^NJ!82E8%~xE zEdD;@I)FPA+DmE2JHF@+Z(FnX-Uh2l6ztF7bFJuReYU%xF0(vZC)i_440EW;+UC-7 z(B>XW$DmCc7M=C4x7C*%LEu;Uyb7DJduFk33NNzv!oslv)IJLzKohbpTb`B2%X5wH zjNI{!$+VcBfb_5!ogYFSq_B8zvpC55j#fXh^@zXN`jHE4)NWYfRG0S_j!K0AxPZVy zCgrU3Sa7f3yl);SAq1mcwg2-YBqOOhb9r`JZ353gJJ_M}-1cJ9uJy z7)#7i^b*))WfT_T2{?JcV9u1GI&Y9?w~*U%>c3f@c5UbM%#Iuoz9#she5tHfq5J6c z=E!FQ#@X_BeKM7hrv#9uSew7ju>kj~@x*-%UB3XhCwuy?E9uz2#d4S+_T^~%oAoM{ z#dNm{a9Y*u6 zmlxaqGcaS57nyI3h739c_ABc50+&ytGE_s(Vyl@Q#BzJ-17|~OQl#yvV_v!$v_3SL zQJJ^_9S$%9gq|{R2j9T=p@DKPWi4CF&=I95XowXUOjvAIN@H=D%&^bk%WKnl+IuDTn`Q8cxnKOtUeph^ZqFN8Kl2@Yil!w9}mf~!Y+qmt!%s=P=zD& zyn|yTdNc3?O!Wxasc*bG#u6jsng*&q${iZewRuV1;|=44E|fZg5O>6$@?lL#}rwPu9{s}$%*gMOyVnAf6;EFU@;uC0_~hP_iUWvrXu;(koyP$B+UD(fNXgNaCB~ROPjS85X0%e?2HTrV0f? z!y+D|3>`qT6=KY5GjtVM4w6l(QkLc~pS8{#R#RZn7&$mn_Q@OAySfQcgYi3YTS;Hs z9?zOuCFB+lQ0v77uEv5-MsXPF_*(sldT}l-)8Plp3{oHn8ry+;i&KB|K39Oyve|fD zfV{V)+cxY7C*GqyxaO?{vb2)b(?~{RkFuwN$WE=i6z2>F%92ZTk2p1?78~M}OFv(o z?~`E~>7D1s0W_q8MzDhq;X4L_1m0I4Fr@rZH4|Ei$`+*oq(2Of8IBTOuaKi2vnkNw z9i{(!6ng9RS72j1InrPJGTeFj8_9Wn3LpIJ-@*PTZ%MgUo)hxKesU&YIeIk4uTaJd zm(3?*opcNspB=;T(@&^;ZJQi;Jqo(z^2t8avp*cr3MS);plIN7+v!ZPwR?jy^e`j+ z=-?@pn#YXBmC-7ko}6%ymcWck#wUk3mXF2~<%PbOw>iHJT4AEG(#Ytr!4mN35XAoM zxIdgVnQ>lqeM8aow;viKu{oX%;v^Z~j$pWUGxHCph!C&D4Co#^@CRw!z1uHBlbmWB zH@-l7h0fB8gHK_4_5_|h{6xx=JFbwGVZ(rKW?OWK;l;K)WuY-RIV87tZl>Q{wVeRq z9eZZ9Rb5PqHQ2TCT~By6-iH~0xE930(b@`Z-g+6fpL-qdzxEv5+KtqL;BY*H_kVN* z@BaATz{%4OVRm^A+R7oy+(}=F&Ug^G3IPU-udJ-V?v0&fINpN0U;78}55Khuqjb&L z#TA$HPW1R^fAJCg;9vhgjmHFCoA8#Xu!>>=q-qmf{(pI8NQQCh-%F(4k`W%AN$9x6 z|Alo3|8v5`68Tz2o= zho!aKFxcifX$|D#6c6NFI)8we!P7bQIG@rHYgonT_F|Lw9 z_#!#8P5628A%@Lx7T3#jV0=@5}!DS)s34pca%9;d1F9)uus?H zci0OXafazFlEY+~+FC6MeSs(J{2`R^DXw#}x7Q04qec$V5XwhE$rE@Ez~^1n8wB=- zf&f)eF4G#scV3jF9|7Jn0iXEyHMagDOpo6I`d08D)02s#lcDr+c>c zZqVOTY+o?PZ0#%CH=F~upg_9Bj7vT9ad0#ScW@c=roT+j#=hb)$V`>~+tzH}0FCIP zyk?XMt(0`f>#263;-qINg6hHnqK5x8aR%z6rOs8~D*rehz>2|NWPVcApVXSl!rz z-RIw+v7UVRQ@A*KMpa-iSnn%;`1j%4|L{M7{SOY{2Y>$8aGK=E$r4y)4)lS7}Y3H3>Tom`!9^$v8ZC!EK*tARO4d!uR6nF9ru_UUYb zu(ERwK&8(ipE`#dx9%i7Xgca&K0h!{;Ml9{8?gQSS73T^439tfc~QZ@dYTK8D+=`* z4s=2Ow1H0agl|XWM2{J{qmz}!_`r^;dZtk)dM1wQzL>9d3?7OW#ERcgI((Ej0RVU> zv)%9DV(W_-EIx&2&z_L}TfX?l{H$2$<`m2$!OeyJsi67%DAl_&KLOGk+u3E>!{-ve z_2&YedxT;$YG$vn4;`=?U$*v4?s|Q;-ou|o4~pU-6&!-$(X=4ZcE;ym<+~8j z&cK1=J!%=%v-5?vnTnZZ=UL&DsruENf^jfwyy?y0+0#cbTv{vaV~)6l{Z|evwaZ05 z%Wm9!KIt!yDfrggVpVR{vckE>=-2he1>5Zrgs z!AMT+LeyqUbht<7Ftit7CO=jWOR{;E_I9R$SvorLGj-&;B?!*=Oj(--0fH4|)%F^Z zr-*^A!{rj&cx@)XV_sW6d+QAXBUQN^o>VGWrg>-oH{Mk*g@J|IE(LC53&Pe1W;=!lseYk-oplYIkOn2LcgD(Z3Ohz<4PW)wdUrB^Rv;_i zsK*oeq_B0i^9&C|ASgD^HY-1_u(x^pG86<@EHy%`=o`Onin&DLG2T%Pke$jFG!3DU z0R=!~wKi~c5|uf^qmn6I;eRaLisUj zKo))%4P$NdT1&=%4SmOGeVe_ZqQ*&O#^rjHo}vlAMZ7B?uY5_}V9H>qZZR4V<5`Ja zHGs68!x(PdybI%5lgYQ5MX|Q%pW8uD`)dXq$UKAI5hz%>ZCwVmy-eDKEGO*wkuw_u zJJBOX2A>`CdK)h7M}~I|6l!OZ(FesdJzpZ>6CEB3?G*=QotMC^4))|!To6tWh7wz2hA+4&_Igs*U3$u0B%>;pB|~^o8<74|!81ZP3|9DZrf(meiC>_> zi|n##x3y#%NXO2=txtCG=7hc7&I!!Sb!Tk3!^zk zDo;3@UQkpy_3)#LFS2HvJAk$;L42U>RxA;T<&0$@4z^e(nTc`|=V4LJz?qTwYSkem zya6*rNfswuL?a+(ptn|9vQJK0E}J|rlp)0d3RrW2c(%#_PM-3*$;w)>Fg_GD+o-GrQopd|9l{zN=tyJ!pr<-liIX6(Z*w16aR8x15d#y@0XrX0IJ(x# z(??Jatdb4?;jtc6JhFFo1~MNs(u-LiwX)?}dRH8UT7`g& z%6vT=0U{JSvzLi9{~kMANw1aa0Bx&kMV@;Edq&n3WP)yqc_FO*pe~A8ZfGP%nxBdz zeJ(mF?hlsJ?)4iAJZ-0Q4tA09s?m=xS*hAegZ>7QDKdAfGNDd-?TrgkT2UgPk)I+z zz_~83ZYM+g4mq61Sm9(grk<%75JkLJ=)`ce&HK(qTnQq<`L@wm7K0%cn_KJu$eWf& z8#Es@cw@GkmS)w`g$O6)1H1RW2rqs0yQKF&c<(20@Yye6e0r1&kQW345`0@Wksd6P~JuU~gW^ zO65M!S`8+~ETaem8*Z4;>&=tH{}GHfZp;2bDT^1dA3a_sEP~bT9av9}mF0B*=8fmc zfpGZfy~K}B;q2KbaC&sWxWv z{_Fv*lk_5LXA>n03yk;rB_aKzv*Zik{s#Qv*I$Ee%3NQDwb203?eKHpt8kC^HSvvt1levKS@UH5s5IQrA@@$ z-L!|p%|!Rx$&r=zF44l1Pd_AMyR~8yD{5x(+1cdx4e4Pg>C?l_TM0kzki&MIoMH2e zeK>ghDLt=8ddp>Ut~`R(G*_%HfZ5d>39m+2dUn7)+b_>g;OzL&=*FB~032W`yLfW+ zfE?%-mpNNlvokGtx#5a)2p?PvX2iEr@kfIc3RSH_96kG%x-?&m>j{!2PC7utj#Vt7 zk30yLHj^_w{g<4Rc-`5v&!88RgZA_g4iBCrx)~GSq*DEMCUEmm+2eG0d{GwkaG0De z>$K0~t1(sbKnEQ1ev~g~$$5_kcMeioC7wFHx?rBvACfa2`Bo&^F{3~!)Y*o^9`!HA zzVfYSu8`9kZAa9oi}kVAKP^!3TvAqVtHS>ORyI=~FoM1zPY$UD}y@6g()%0l9UTf6rXZ%Fcaat`ae zcVKmA8@~2C$=Q6=gTMT<{~q4?(O+P#3F^VVb^8@q+qeN|iAIl}d<5qw`w)|Zd-wU* z;UD~G|2b^jz5ze_i@$~k?|%yChmR5tpV3@5l3c;v-GA_Iaul7D9LMZ_rpJb|>5*?z z326)nNY5qRK&tm(+3C3iLTV5oXr-UPPH(C}slf-TTgs-6(eb!_SCV}~DX(hbD6f^( z5$wJAb%On~kA6xzdI#U!y{I=0u&M}Feo1S>Om?g!a+n;8QTE@f(W=`Qk5swk0)A_p zE`s6pIp7^66_G8VCAGD-qC;ngR=&nh3a4~>@;L27Abj+E%p7fgPBJe;RHp#w89|q) zd*oU1qCLUD$|lTUZEXXvB?aP3^kx2au9dD}Cnwdxz=2eGR;+kk4SPRI%`n_qG|0br zp2zu)FOL#lF2iWFN%!bE%)=uKe1%*2bva&nQJds0R##YB-XvR!n`F62)iv5V>Bi&9 zoRZ%-_>e1D@fkzTuAv?ez}x>QfGz3NC~H>Nw#a66b^a{zt_ks?;uQeuY5*PoM|xqf z4_3}PJA6X2%gcvc)iOAp((zE}J|7^T;R@6&aI3N}D??ToyBji|2B>kPA{QRd7Fe#7 zb&Dmch=MI;FaQYoBn1k2SlbPfP$sr=bu0#hLDw&Fov%WZF66OUzivVq7^Gk@yOFcW z;TKAF21}zdOByTS>L;NHE;G&c^iVoC9UXftwtVd+GK4ixhu zMNUI>$)6RIiYx>CS+7~ZZwei!euklzF(F%@4>?$j%R(o>dn$Evz&nI9Zvd#EN{LPR zh@baUAsZ#3s_^I792~6da|KH|bk_EN{k?{N=6WJ0UE~J`$|x>DNA!Toov1Xc_A39> zk~|mDOhFH3?-btEv2|5@x$u?eoX2%|h{4)X6G3CgX z%)vmqUacH#pXuq1LBpr(Di3i018-9DHgro|QeU4>=rNsuaoFRut{Ly^t&BGRRE3k@ znBX?h!PXv8B9`=@GMo(^8S9C zm%o-x6{DXjkBvkpQu#?N>x9`7AwrbD^O=xmt zU(889>xPpttYSv~ZSc$l01Al6{hb@#H=!g(yTos(Fxz~&jOesTR*t=j8}bbW6H^#B zidlmAy8ay5p-5u0)v;-h8G*G7bGT+5{$;pZ$iGk!W}a1qf`f#{_RTA9`mc||0gqEc z`1~J_*tj|A+RA5!5(n&JM<*dW^A#=xeW}6C>k_8tm@4B_0HYtz2;7$0O2Q%-%3pVZ zDgSmI7%cUf(LKAst>7U65NrCkCzh}%BbhQD1qUa`eoV+^sUQdxO8mih*0k@U?(|wXKfEuVuacnQ|*18TgXIjd74d}; z>Dp5q1m`G2p1{yT?evJIOgg2==r_ZPw}X{>Hi8c<=)qlOk4D27{nk-d9d7vkdrqDz zxXJmW3T3Y^+0Tu@0vu8LD9vaNSEk#ZWCDi{`gpaxN0kBQ3TdZvlylcRTIpvxSRT<= z761a^%^X;58nM- zxJ=HuojYHE8_$1<3~Kbmv<~90X)J=vTq=FwZ^^iQ^7K>KqV6?T9oO!okWA84(ADwm7c7ym}bjlM~kwK&P*~uX+4HIul$bk;6!Ei|~!}7XA z;*Y$qG1HBg@A@HT{+H!SmQDDPD(7Gp`sD@n-$myRWvCCA$*GPRgZ)9zO2X6gq)#ek zmGm3BcbL{(j-$j?e)K#R`Sdv5i>1Gh9=;C;pZq-G%VWT#x#7l5xbec9Fxt5d>pM4L zBROXQ1L&|q3CaTDk@Vck@a1JBctVen(h@7dGJjm)?XsU;PH` z-F`hez;n^M(dcywfth)fLj#jCha*Ql*Cs$XL z#fv4Mk;NcQuB~q+JYC}FH_X53{0_M#67sCkYSNopJ~IXg1wJSZ(fVgIf&rCe#{j?( zoX#X`a=J-A`$bO>4tumE69@MtS^*6DhTEo#gwl+NYeb{^#YN%+XJ=duD8XnnTA`BO zNC)V=HJvHR#y<7HWqHr-V9qIEaz5qCJ?J>aEZ>UEN|>498b=*;}dxJ$tkR^ufSJ+?={%ixdZ$A`$@h&OOEX) z=g7={e<^Jvww7m@J zF)ia2wQ#{+?RXYWya4qN3^Y|ItyQWEKFClU>C#3=b!DpDILC6+Jy=>=_~|g%YtdE&vpj zk4l8EzXQX6mYsq!f#co z)|V9aWojQXqpA#%Y=(TEX&Mj542uw)9moG>pp2D{=I`~hiwkDl-4~oI+N4=8Kc~tO za|yO-!XWd~0>0OcqjRnH8k`&hrhlxu+N1OSK=>*1$zlz+Q?l zo^6RcArx2{BpB1p+Wx9bt$yY6a4_GD!m&8rMt}lFChy9%feHQJoO8vcVw07u&-^%tL{YB_(x)_1cDV2P-335Ja1vF925lc-frF;!a7x zaOC{_nup3qJuHXJXxdmJ3}2iHA_G{MmkG_TTThXXGBm9$alJRS0PuO}K90!Wq2#)F zpR?#^#>xa73P)NO#xi06>7x*?d1~m+CuV`AOxj0Jex5=M;25HZu`u{W>+ig5Z5ft+ zo#2_FZ$ALF5Dykfcg;Y+rA(Ry*9e#OyrRkY6ODQm_uzjC=Y%X#gV7We48*vCtXIDS z_>UXP)2x4H{afCD`!_-iiB?yitg5IldcrU&5g&eR<4>nvrxu|&B=@Vh5>VdMB)sAvP`a8CX6 z0y&)UFpOo#%IC$;SzG>0V^w9G8tDtn{RyMt8W_Aid1VNwQtdO{iaBZDXKl!AI3wJc zN|LWo#Ca>F2{~GIMp;XlEx292fD^->`2A zZ8kKqkqFD8&M3=j1}Z0%9W_$gmP$WkR(0DhpvamhIk`irekEV0g8;#@v5Fg-Wk`3s zUdhGm1J6avFwkdr2EgPRj?dS9|{(D*&2z`(e0nT0;$WV{zr zl$|>q5gnkRlw}pKo6j_jfI8YZ`d)dL1`-4ai|KEH{Etr8QK`-HH_LwmLWDf$1;WB{ zR{3PWHErHFXJ*-Ax4g#|P4Z$rUPx)@Ha6MCF2szIU1 z>nH<#o(&gPT3lK|SXL;smT|1(7%UOC&+#5ERJa~^Bo!PD$am2JhfW`^64grfo}7=;I`)%;b93vC z{jQ^#Oo^3jhEO3km>xuX)o`iojqP3NEw4j=c{9Oa7lw&npPwD3aguWZ9q-5c6zm1b z2zZtDVJ=y~gjFl%1l3)MELlZZ*i7uC=FCvwMV&)ZkA@ZQp=9{74^8r;3CA6hT01ZB>H5Hz8p5Q=+|Ia&(^@JWg|XnvB+Gl!ZE*&GUvCEKAfx99v3oTidyrob%g+7cI5j zN{;5sQ`mpC{zq*KM(d=%EG6e7@(yl~Fr_(R^@Y>pM^r_MOZ7VS zNYCapkESrNu`K3lNBur$nYL0nfGX7aHXa}nYC(;4ZXF?uT%f&x==mJ{*GrD2z~!g0 zhkD{iO>!{xmevxTY`{`lC$e;OYA0=rf*#I~u?k4qGhFM{nPt^3q<{I#K_orO+QkHd zfX)vJtZj+EH$*#WgmeZ%XDYW}QrRjA50a#Sdg|KxDrMAz@GEM6mv9;Rp0|m>iS?%#A7!bK;Mm^bX8Wg-M&oj86v+lbz9KvWV z$pqx(3I12f>5c6Has5%Um(>=B*RCfgDDuK7_2|AN9Hll2VpBl}8E3VhQThF){< zBLPoA)pA?F7V$q|q9dhttt7k>Xg`6evgyazx2^M4DE zK70sg=y*@}VMU(x-P;t1f~_W|={s)2z`Asgbk`(jrH4EAcE@W-^TXO#m-jTU$?fxNGM) zdXnf`Y9H07$NZ4e30vz8#$RB;T>M_S&+;CtAD&{%1FGORpjH=n21A*;oalvYQ)Xuj z3!hn=|B6Z;kmZ%0XPR^YmT<>FlhyT|^y5;_kPQm=Y(B(JPr7%kFtR98!nJ!NDxjI&1|Er%-zf`b5MqgWd z)3N_&@lskeRS)ml{Gs?nznaga>+|qcq97Kmgj?l>NIE0x(s=DusxdAgYH%A)_AXx+ zwVs>3_ejKFfcF!?HTQQud9tW(Qs-r!b4km7E+&7A^MA~PQ1E=0@Vjf%XM4W@`$OVF zo&>eBk-vsubmi?9oqOwZzM~1n;qH9>_0XZ4&a1-@Rd?a>WtNZ~;iaF5&Itgpm`d=< z#_7#&F7o_(X4zryp15fG#-BoW?$z7;(fi~=1%_bu4qI=G;M)Xs*H(^I(m=OOY(}VP zp9zPe8((-yfG+ZzT!StxLWPt3WVdh1qa0o>YSGzQo1edwsb6S+?OdDJ(OO?|$Cnok zv0!w@ASl~;L~s8Kd98xWrJXW>*LN0^!spP3yQG&6S$~>uaQF;h#-}X1La|}p0qaFa z2%b1Hy;bAYELa$dA1ioylow}F9KZ;Q3Jpe~&B=J*n(&0;IVB-Br1%axsgGc1Smp}exBO4*+P@VT7HD-dB3 z`^`*R$L5im1vATcMhMqB@H14Zee29D%9JZQ@vttkQS{pM9UA2NeTh^Le)aWgJu=1W`+DISKZ4u!XurF)2Q6Wp7Z9BAC>?2` zm>>0>#;o5Nuj}IM$i`A7s*aM3P(!c#N#BMF`VdO`$(MSZkCFk82Zebuey)+BuAY0S z;8Z`4KoBCA@lAZ4``0dUwspZe96eQZAF3IeYzba%jUs=dlv@PoDt5u`Yq{p)Rq)AZ zJ+wmcb7Pl;Ml*~!b7?pnz;bdt%;)ufRJd3u7x^nRz~BK54W`&CC8%7LS0i%8O4w<6 zGkYEz&RL&`!g4foL!8KTT`pf9b$XE<@Mx4H2fof6om*(co6mlO0_Sial!hG@>%Pc* z`I%Et8sfX7frJC?dPet!f=dhYe_SMUt^CUW=>Ku<-~pBq9L%w<_sGAd@J73j_P~0m zGOR({FUUQ?N4Tofx9G3Jf9KMt9i4r&8||!^x580*M<~9}b7eh_ou0ghO)l?EWg*+_ z6jfXh<2p!Yw|?fmQdym6;}zo$FDdp0iVg7c&Co#U+^+I6!|TH(&*p-6w04zuH29G9;7X4Gqi~=s^{yLeGN5@b5SoszqA&W=EIKrAKa*UI_^45UXPX4Q@_F34$4fv5=)(?`TO-73B#!cgD%FF-7MFIys4N_PL+^JQ-1w188e|PaNNkw7-Dt z5RkbUriT1o=-@Qd7p@hZ;uj}}Fg|?-r_Vl4`?62_hrk=IZIaP*w2md<@1(zb37h}06ux^m+;wppTH;YK7f-ak73xmfMLRmt^2RS^RK@Q z+c$S$=l;Fq7`>V1+a#m-ia5f6ssvz_f|Zp~!l^ZGKbCOfVjTfcl4e*UYE z;COrr2M?bndRu}ofBmcQoo{~`UU~CNu)VenFT8LMHgDX6qtgjFoAkv2Gx>C*m9Hpc zImu_ldkhM|HKAi~iW$=hPp&R6(%R0`9wuknT%Mj#unKM|I;hq*)+v|{Z2|Z@IX7py5`m{D2(>N^#w$tno3|ztv|l=w z+g9Ds2d|d8nEX>@{nh$E!@iYrx0snu8S3f3NrLwn%YC2i!&Ty2lk;cE`Iq?9bV|WP zqm7+JGg#dq@w1(K3GO>2?+4367$%sL16K`Q6@Or7#e|%d)A7XQpIwE)h{<^|q?Q>2 zs|>-xCR~lCm5LzeXD5WSE2CA(Tpkk5a^)1pHES`T`bIGyuW>-J54|SqU*?$f*Lrqm za;6+;u3`|1aj`D@tH3Y6CLzQ2oS_)OK=`H0s z+BkFKwP=7qADb3=a)&ACc3|1*^3$4!KkukJ0p4no~PT z`;vH3=sR3fn)V+9WO>bX_d2@H_0j+4B` zV3k3lxz(hv_6H*hR$9S;m0q7(vtf`*fRb-P2Tt|ap)Pt5&(KzYV@AhkH~^<1 zzJ7kX50_Wm5<>4*4$ae0`#)s-sqB>Ho^ac;Mx4~W9#@u`QxZYX?DL_5cV%<~!@{|!mxOT1#2dCrUH&z70 z+iLUBnw4F^3yPT+@67EheA)tRLW$)*p{2C{M;j$ndsSM9>z8+G0zb_8JQn&OqK7y? zU(eCr671KepA7~Pu753HJ6VQ-IgK4Bu2!^YZHpf2Y!0EGKzDqt6I|edpPo-b3*}-u zPE+vo-}SwzeV|@dsOFuYDWf^tRdH*q#{%&Cu@L0N$TDuw@u6&ED7LchJ$9%2%l~z% zeHZ**aW>CTaSa@7vcJsh0l~>pPZ8zpijfLF(ZIs;8zra#Z0wqvgHvJhx;-zowduae zEWLlLrhE@WABbdEZ|}SybwhFlOLRi25yN5T+btQbVrgY82GxJ*S)Mo84UrL{)%EJ+ zI76k4)lv#ZUcUVPv!QlIk@on)1e>pa{mZbLKA)VN!h7$107pkhV1`y`D2t-E#D_IH z6vW8cC|H_`BB3?Y+-2cFZ7_D_jR?m?r;`BBe7z4vuvFuG8(b!uufU% z;6TWXi+8edm{*OLXWtc0#bVv!!3Q`%XAe|>dFM&2c2^+fqOt0=#f&G#HJSb_Qmf*& zK01jRSyLSn+-y5*1H&0(C^0jX%nug{bB)-7D%P=FoAv!IUZJ3GuWT(I3*`Dxt*Bm` z_89Z96vm^x0rHMGE>w-h^HA~cW26jx!9_JWL$n`{&=q?zro-M!GKgcwE>vUjZ6%M; z?I_mf4tWYgTao+TM;_`k%%^5hm*yh2;Mo9Q9h5QW!#giA{_>I#8{DWugJPHpz8P~_Mj1BoDK}^ zbm)@#-JvY2$Qg*#PZ&#dLM#30xD+u3DG*MvfeH`!jb&f6(TOvq1y8h$HgFc`aCsvc zY!9u(D*k_IxI)jyV2B1ZkS@cy*goaAf$3Z2RYozAWXXWM!dbeM4GSH9p?%D8G<0|@ zJn+aCx;9DBIanBpcNl;?lgk0drpfI&V$LQn2Lt1Q>fkpm2c6cG;X9`N56~EWDGx66 zD9DN<8aA;H90i+D=}nz$StX_9KTdW!Tu0*uI!N(ea#l!|p32kK_r?O{sdahoAZ6^+ z2y<~-%ZPrgC_IVTfYT`r=8nJm4Ri8Te=E3#)mK-#)C)r1w}KBkK52U{>(cA#)<#f( z#|g4-HZ;$LC)IPsH?3k!=F4?toxG^TJUTP541F`m<+mf3Uni$)kB!_|Qdjv>l&tvH z%Fny3so1)n*nWOo!c|M0^E$=xhP+nVE+Lb6NN~2L@c6o|-JPjC_Ay zSRmgzIA(MbDmsDk>>_m1BR7f;zqjTyqBPkaLL32~e< z)P1?}B=@nsz@2+{;nvOy^oDEj+kgB!a6irA_+kbhzW)ieGI*4p^22}gAK=-iAA*?& zWu8~$kxsthU$=m4@>r<0|%VU3ASIl|M@*<-8ZBR(2CJ8(NjH}<#j9j z(OSEJtTklflK1sl!1G3-A%nHZ8=M~Mq13h`>1x2A>)Q$Lqcp$1^+d&t z^t0mw2(vSCGM=3ru|w6SfLZJZRGo^d3+Y*a^vi}yvt#*ilmjR`rqTw4D)^z}RFWL# zRQ7iQ8ynjR?rYpugtBFOmjMZ*;+=r=l^ zr$#u(2tj#I>=?D7+!vZqT*$isGzebgwc$-eRU5FP!qSkdB_OZlvi%e3ZypGrke=5! zHt3oO$*BonO95?H)b?Zd=JO|74KP298MeT<$kZNUhhqBO*9)3WX zuDztozWlY{gKvKKI}nn1|LOOB2~R%$kjkQC)fbW-iBF8rkKyFmC#?UA{)OYBZnCtz zCIAW){D*5{-GyO5`VN(kMkitpCM4XFYCTv=dmZVmzihIPtI1=FSvsqlvnKg{;dJ3|a}e z@J3~bB_$ZjyO}Q#nZh?*P;)_BUNB<$|1-F}OgI(>d^XZK8@gj*k0w7+G%jRmnA4NYAHDIBH{BUsMCm+1GSX_Dw(7Di+AM8cLWo)0pT}uI6im; zdpB;S_d|Oo&M&EJ$sYeK(ZLl5%m!)A7i7E`Yznm`)OY3-5L25O@b3{7^P+9jr z@iD3@)HJex0kpN54iu@SUnF@m+Sucuyrd&wa0F_FZK1D}um^wzI~r`i7WD=v3{_i~ z>W;8i!&$;mfuU9#3>a(oegh&&*r( zJ{>@w73!@Mj5biYk)ra0ytewK^aJ&}z|pM&&}_=J%*l7~;Mwn&X9xw}@!CZW(&ya9 zC(GANt);KZJ&69apuNHkvjWe)6&U2I;q+~1tq^Rruz>ut&5n`L#xMA3h>k_p4)6lm z3Y;u>S24cdw+eq^Tr6`O=MCGt&+8rTfl&7GgswADzZL3*Y;4Q|9%4ld2G1bR2S>>K zJ%OH@#usW%MvQ`St1*=UgGTR_l_gkS-h$u#_BY{={^<8%duNNvQ{utnv(FyFfB9ej zSMX$ipAOVZ>7X94Ul(R|jM+d;y@9BFYYWPsZKGrk!GPdU+s%y~wNNlKJ>Ff!SJ-46 zsP|3R>-SkWZKx4l*T#hI*btcL2$^AKVNxss965JttkfgMYHc2t8P4*_94X$JsI&A! z!yRCpmZOeH?H^L|6F2V#G{;$fStxY(PlcP4D$1kc0!6MG%N!cu1zM0Q67JfNU8wq0 zEcLpzl?8o5Gxa&2s^!OLHGj*Kb4_~pBBc6M%H z;X@H0EcieuPj-MjY`-+a5w_c6^M!pd<~XDMV?O?1?a3q@HIWqQe7km@LD`)HQjmG2k^o^3tHvz z?3f1Xp~o-A)y4%KD7~4GfsFs)SZD0uqBrt^=mODt8>8X7H|Ue$1be+VQZ7AcWrEm% zDLbT`%qe?mASItkX$rku-Na}#(*PSlQD!!T^F7JZ(2Q29<|6RqGKgn1W+S~y`*b~L z6L9HtoL6R0q-9{Q-_odp@J>3)j66RAfa366@FFL#8>sd_^EtvO!A+IJ=s=sd^Fprsby>zR zI<5yRa$1NEi(YT0xt1(kH=z5w^$hQSzvsf<38jybwu8<*g z4tBU#eI*8{+nng3$9kN)Y-!dLTGv0<(Ui3Qi4{MIGGomODploDzAcoe@{fYNShPE& zc!>}k4`TRLRa{sx12%GSV2QRjAPLz@Ci#3WYmQ8_=9*K?@y3hHOUMy{IwU^s;a zww~z0l+D)8WPa>$M?S)3Ah|y<;gM!1is4v*727;Bm*9s1tg`)jr`;t+o8IN;ugtNSBu#YJ^ zCD1@7M(kF~)+5}IhxL<@8iRw-n2wq9=&+w$p0JUm36!zEzI6w7pL-p)Z@o<4J$nDg z@bsgfC*FHV>qG+_8mCrPR$zPgPU4X*1>TTzndp=EnA%1K4nmrZF&nX^Kqz*I&&lw; zksOQtVRGhTfBWSPf&h3xhri||Ifdi=9AcW^RWh7nZ|ddbTv<&#l=$W<_AjUY?xz%> zHJwadmMRouRRjiIoe3C+LUv^IlLHik!q9+xb;bR4w{F~lFx*T|l5KL-paXSwc>v?H zXK?WNA>qCs3-xW3M@z{;bGUy%S>2c|j)rlsIU0W`)Qzln>UoP_Sj{Z)(X>}9X&&>o z%B0Cw8YpCdms^2bE^wu^0c>n-z{c$tVdLJL@XBvJ51VUP26_TdA5P(&zfE|!|1n$~ zJ%pqEXLKLJ2A!LTPq+$%J<)7}VSmUyi`RE{U~Od`mNss}Z-3*r;43e#)3i=c&Z%7d zC&w-P*}wj4`1GfLY1@SKHJh9yr}cJv&oZjjKr6`hgdz(<=?i&XBC7Q%KFWOvzVnC(eRw;_w?vV`tJy$8ME?! z@j0h-zxD(-2g3oqN9RAbJ|O2+x?zc`AO+IDW|OHosWNhS8UW+%UjKtiZmKQDJEU^Z zRy2AUE)S*TKDYZo=OxMf-Wp}|VkRNV>a&A~1ox}6r*L}sG{O5cIYZ7!$5RV{e`(;< zaI{IdrPcc=08uK9aH;$Y%0}PX+@jLfYV;!g1>uj5n4h(7;pXWeWStrVM#G_$yYNOMc z+H6o|h6&3hl)=cu6aL|Kjp*MPAiKJCi`%V?)?st+1=zd)DooNj<09eWW#ZktckaWt zfA0-Aytsrv`@jD`;Mt>(=|19(yY~_vufy@3ZCcO3D z1$^(n`+sp|7wmQ1BJaCJbg}>7*VOuf13frMXOPx9NOVC5mmUWuVUQgM`85>uLDe9r zDgf(jq@RecNhr`nss=_G{e|p=g?M6g3pMWXe%yWOi?Foy9GpIW2M!*7Xl)pjN7T58 z_pFRi2k((Sfh_}$pFPSnA^&ETxs?Bnv|MUkg{7jELFerL8|1gMBj|9wCQ=oc7C4Kz zou9$c;Q^f;C?G5Z2#a7>fUdM*L)3FlA*jLII0J;vSwML#EF6XT2?ma!Ud&njmn2(P zux-Zjx&uSV+xdC)U&#MOqXuI+P}$B|cRWgbV=K|J!!MH;NgupAhSjwH^EfPc-$K30 zBjZB7q}*=Cb8ZuY0Y9jNf+pO_@7P-6@sm4D0z07_CO@c5X=%T6-2ZRk0G$5T5A6sQ|RwQrz!BKBoMfgG4^z;$$4d=HsSimyFjz@NSO z>tM-hB@P)PT*piNSblAh*H-EZ>JK3WFqxp*?*8C);y;0c{+k8#2X2iTtOC_|@?ZrU zEbzI-dTolAVCOJ+vD$|aUA2SY9I{p7TA)eUU98B6MI&9@`G2$(q;86Uoykr3%hG0-7x@qzN zHJtL?r1fkp{k6txj0`H=v1tTBPe=c9K@4ht^1LW6SU7Z^t9YOJlf#jUFZ-KIf0VbK z=a=`5F<~s2%;(5j<;&0s29W0>OxS_Wld`Pkda#fgbvDjrW@?K7ujB=rA3ezohh1ir z0g#d9x{Ops=-`&ghb7#ABrubK1EZ<_&;O_Y9enZiS31x5_uu~s{I`Gh=SgYA9(h27Z@FVzovG*W&*2kqRevYQ+3}rW}U|HH(FU ziDl-LUo}6mCp%#-GO|dh>JmSc6=7>w)C6X9EKFGEC!tKGqb=_Hw(E71yxH>mVKP|%TPZeubNw_OZDc`G{( zaV}`o$3C7BD)n5RLr%D~uT+LoGg}SuTgOK|eFGHAZwOt!U%Z%SGxt&>T(E2)a~f-w zsgn<$8=%1&%P2>Yh1`OM%gS=^(hj>c9Hgv)WZcKhS#)}1=1})S8L*>YMDPJtg6LMN z8x5}9AG>7R+Kan9WP+0|s%SH=aQWn(crGGv03^djv#yGaQ4(vSJ32n4bF^#&_pfIr z6m$}@vd_9nd4Py9K&`?WTo%YU!uc32dRw2_NYF$t?EyI+gfGnJ91KAjjnEp81ptfb zRz6PnihPcMJJ0&Azz<)XCA>r*k5DSf49%8KMbfGG4s6{av_tetz&D+nk&8aQ(wOFCi(E0#pYlGE6;73Yj)FgaV3 z%c<`@_eFT_&A*#??>g*%_BK5I_^o8P{|wHOvyB|!Sn^%^&KmMK{(%4M4SM9rT0!T1 z`g?wMN@cHUN}{GMr{C5#H#yiR$>Z1?Ql>3u2qt6xe1i4y$*7C4K^ccxx2H$XsEjsc zgibR2v-}JW)g8a=Vla4~7IcRNkk~i+)~(xcaRtyZ6a#-ZNcg@!LHVi6lc2fALoQ)U^X#2Hqd!Q&KfNDzPg$mDR-f_vJESnwD8row_vgeCf$T5w9ogd^29!)L$bmFU4#k;o z8yqsoO(Syag+f0B$cB=@SkU#7e3A zV7{)*5td6dFrbWMT-%%~-SKb3=@iYL5(eVqjg5Pk{-J{b|~f%+;#c)Ovl;_ z8~2{tYGAf{!k^XTplya}-^mHOn;hcnw9b?L2XMCkkOB`bj-QdP$w7J|W0bc5NT%C5 z{f7J!&qu_+sKoaY;Rib8*H`hJ(qr8mVm=SZ;%Q#P0hJ?OSzDK^%PH|l%)sV7ZaL%M z@-CCFP23T`L}c1RT+sl@pCF*}b-Fj9qy(fTgU56dHKFyD--6HGu8 z3;N3|gkxA;0`(ATXR^#K7FV}#!tEEoMwKJ69Qxs-4`6(D0AK&^m*LfyUxI)AFMkNX z{=xs4o;juGV&LuGb8jU4d<+K<-sfQ3H154uzXkuR|Ls45Ho^6K|G&S4{U;y8+2NBU zIxo^a+pvD~1(F44`=64dj)OmDBu_CQmE<)B697<^8pU_!KU_MRdXu+PJFAeck>vC0 z#vbVn7@Tfqt02HCve?S=|3bV<@9)0!Dhzkhe4l*^hY#K(eg$40x^t?&9j%Ut7S^|K zQ3mzV{u6G;;>Iq|OL;SK|1jWcZk3S&ER@6W8+3?5wDJA(q+6Y*{lpeA8yg#Nc7B%l z`hbEmy}n#J$O0HK7wY<=c~viecF~D?c-M3ZBK{lB#CIkNx)fWp;A8k9}Puz+(pg7tOe^#f=v7mlBGbnt-B8B`?=jOIbkE1@avyx^eg?Lr*5 za6y4>RHX?rFIQg%omUb@ zD)T!C-V{~ebiHB&sqwIOnj0?(aY5h!RB$VC0l@habQICm^4esDgUg`7HiFO3DrD!ZMjdp z2XgntemHLF(_0yB{b_!TAZCP$5r~=+ngVQ%MhqFPG*Em&56FbT*VsSCVS<}lA<&?T zRtG0MA%L&{k3bsqu{_Z#y!3?^;CH|Mb#oZ`7e>_n^U+V>lG&uj`P^J+xpl0o((OaVQPSA;(Y$Y>#x`vWY*qaYLT5!ab_O7t8A$ zQ_`%gAT=Fy|Li%&lyth)I)fLLp+fiuJQHKXb#Sc9!6f+Xj9@T_`pKb!t$Vhgn-XQC z>w}Dk!86T}ad5$t>tWn88ixm=xIgcNTc2H=$1CnFm|-mE5b9kI1w0Jq9xuC^2Y3xB z+DF|d$J?s)0K^POS_>?MTUI1^Ty=Cq=g8Dd26)oVM3T7O6-IpdC#a^qgR5;1ElPPQvz#l z-CoTS}T?6S08LGC18a9dw58{NQb-&b}Ux?ya}wBRoqCw zT>yxS6rt#GTh{LM0_9oskCZO9!-dByxBms~V;)hnP07KJ8H;W%9#^4&HfK@N@D2AR zt4IXEGH~;EjJrLjK!cUuD)3(_#n8c-vSh`n8v|u(j8;aJwa2B^rX-tJMwr3ZqrieJEDtmB>;A~vBMvoubYXNt&>52K*2i`3M|1rx=c>IXCM6>PLlC$`}WIl)uXxOF731I+kQ{6R@WWZH&v|gQ`Qjh>kTu#!L1h?hwzi5{S^YxZyY3=x{&|hDIQxVGj^ejrno0YJ zy}%DX`xU(Z!|%a+KYJVAd+QOj(;?itKZO@wdlBw@`M2TjYu|$P%{AD%wVR$WNOPN$ zDu51MG{&PNoqKA}$&q$)m|&Ig?42L~1b+DAU%~f({t-MmA49)MFiDQO*I#)N{^>vd zBltUi{P$rqIq;hV^NpmZg{4jIQ4e7KPqjTo);1t#iZ?8a8h4iPdI;hOmK8sF@(ElX zf0EXf90p+pmNsw0N^)3WHY}EgJv%+6V2sO)GlC74fyXRe%;v>52k4+i2Nr&RoSaVk zpZ*F?o_)Z&%P7&vjTe)He3$OwAk!YBO6~iw$_3#WI*pfxpgq)cxm<=b2i4E`j<8yY>Vc=JKj}>V!C<+}wo4fbujQXn|{0$r)jNsef zc@B18c_r~HhNN%xM8A$%FU7I3oPDpyXV2&l zWYH6Hg^!(AFdR8QJ%T2|b(kEdn0-&xo#yl68MX6```dHy!pg>0;{BXGovS!qC*%10 zLU)1E9#UK%>h;w3<#BL|Se@k}=>w>nU=R)Jdp!vn&v!YCOF?#vWMp|)C8J^HZ8ui^*Q(y-{o}#xBXrDpX73Kgrk0o6?QHzE=ZoO zZ*Idf1~(b4`k4ipSJHc%8I?7sAlNydn^3P5_V30CdGAQ~D)9-wqM)4dNt(wA;Wk!V zS{k4py&~5(wzfe(z+`%9ZI_g$?D;YQ<@F(S_c1iu_GrohexohOtV!3NFNIw489@w?*Yac`7$`+2M0(`|@-hs_!y9BS4`WdFl_~#u-i_I0>x{?XntqBZfHJp&20L&F#!~|1_0+hXeO(J)Ay1$I$YTVD zAq()=V`6?xENG?hITfIBywrv({inq|=lYEfQ0$*MwF)L%GtV08vKE_!TZiivXHn)Mn^KF2EhsSMdI*Ll8`x~$ znvMWr!@Nw%0toW#?G-dSsp|v*C>a`5`)-WXt)2I-l_aN(bI~y^Q($Ul=boLRTstB? zJ!K}W@HUE)b@RS7j!))&qi2V_%231Fmw5>p21fr-(s{JG`sX;BR{;xdTikFVR6zj% zC4Z`3Mjw@u$0!v*>E9we@tdZcKr~v@uN{+ibMS&j*NX}{_Mu!&M%xHIeWTo?1GzP}F>A zGG4P40l;{)gAoAupc0)k2hF(BDEQg8^>CY>4+m_3!E6U~3RvWFj8O3J4h09dKSIlG zq`sP5nx^OGE4WP0u;(CZChB{|2|lEM1&0wef)rECB`+*0Q1Y|JR4 zfe)DVj%D&S8(Z)t2wV%=ly&kNbHHD8xXWTg_MNIS%pp4bD)uI_vt5m83Pyh0bodmL zdddGvd76!y!nq(jQiI76cGhYJ`P}x349Ap}+sk7Hc|LH7<5t!aC3q0W)e_x^Ck7t_ z2tR~MXs35*(BjPZxzT2jF^YxS`XY3K;Q%c2ocp4)!_*xAA@76Hh^Gfw{NnuWDE+VJ z5&#i}KlT_ll5Iuh*DS(47O>7RmvLj3aalKUyqI9%^qd9!O%Rf<;q3S<>l)!>g{=1S zC1ib$jYl)9KEQh*nL{e4g7m9wIFpduHgEtBKc}(lL1}~v%>PXcyFk5ma4uHVU7I9W-P(qI!xkGZkQ}6(_{pgXS zh|0N&9;D^vk(_!(TDK1~kwGwM5wC84R`HOfw`_OZMLYkSY7 zIo(a?BrKaeBnKfn>C2$vOa=LKbmCTJdH}DRgn-pn(D68gt`gy%1Hl|PnCXpKgIIza z9hB5AAnh+^RH7r1oaj^ren<`r=Dj^>v*G60c`@y9M(;Suo{8)+mW3WBSPlqo=Z8<= z?Aa%9{_Nufv(qHc5>79z!uIVKV0j(Oci%{Rxkb*w0XcRW#`9S2pYksTT}$O%r%BhC zCui@<$|eOBP^L2K7J>OisI%Fr0+-`JCL2shyYaxmQuP6T&gAL>&JP~IgLi%e@BGbA z;Nb^P;n{;jSYA4VoA-8M@0BmX{nx(+dv|Wb-rZZtc)XL~KTj~>iVo07$xl)9agQ#N zbNcMyF?{^a+wjxB{W<*Pt#{zvglhAvr*Qn_8QgpBHhlLFeh0qud*6V~`(KBRZw?I{vtWCF$e-PFR|*v9Qv@fa|c$p zZzYHNHaYSpGY&*S$NTxo5oO@gNrar@N$*JXi8Adn@t67K353aMq8oPD4OWvwc9?fewuZA~+qgi~0ew-r$CIT1pwD(0vAHAh%osJk13iHW>7B zb;iA-_aD3sCr>}6%tqwzD+!0z_wK>Qjpt!)`*!*-?ZxUg!G!`j=iD2bvX(JGMuOhv z6aY7ei}W0njmVo3KM+?i5EE&AxV*#}>!|ygESytCLG0&zd45KG5wBfN`XoA<5mv+H z6>DWgs2rnIM{1z3kt~8iP^(i-ZyjLU-%^LjdYf0gqg|QxR7bsz)*1g%r$PC1nsA;R zy>rfX-rU}!N+<}gD-0$WFpT<%KMk>T`<&YZ@R5V}63gN1QdGy%-~#$it7V0r$e6}> zl-|SdBLz3o{G>$+IpZ)$VwoLi^L7dz@7p=IqCp)NGtyBvq3mvm%;TlBIhR%Eic_4~ zJ|(9X&J!JCS7(P55Q_A*wsi}(@4g8858s1#fBEa=6u$wlf8}?QV|WCohewH@kJH~r zWMD;{>@RZ_k!j-dzy8q=;Pf)U7rt~4_U_$>>3k`j*{@)BbxC6&-eOiNu4^{CV% zT26dnUV_&lY-oK_xreH6^-(Y2p4~V0cHs5bUxQa)eHos={~QIjqg+Co0xxRgBK(3% z9@`;@bWIExis@{G6;+l-tCZm%=WV4m$Bb)IodG|f9yeOsAULCr)wT=de<*cQh+w=q z7Ca?X@2h78aC(n@kTV`Tp0AS5g1SoXTMba!^skfkX5E5JT^V*Im1%ab>gr90`ZaN^ z<_q+c;2oU7&5dC@8DEk^nJU)!XZZbfG+qoLXXES;F6IAta!#~7THB-Qa!W)EwpWK$4hM*!arOt3NC zvb4mNFD_5^*-is$!}PXs$Y&N%M;d^hqw+a&fh@JvELx{?9M$A!_XM+hnIFQ*{{km9 z=tn-Y{e-K};W-U?76qKl+%z|2yH;NV?ePY$atf+3emR<8=14EW{h;h@%Dh%VigLy4uz}N zD?%|>z0SWJpX-uM9z~vSI11H+@uh`y{gXq1A+p{EJWth&{hG5FuIw=i2sZ|V%ID_R zwQ!OO%P7wWFj|2c-_#ZxcxO0SGvl@lU(rY`bjYlKhP>7CEVbK)8hDUlX8Qx+_@Ur3 zWF6V#9{_;2rRiMM4h@C9hvjjlV!$FkT2rC_h1TXu+Vha!-dm1G)E{g3#m+UhA0f}6 zw>;YXQ)4bs6?b8Cq4E3Xwl;tE3(CP9I+QTUBFaN1XGEJ9lgk^I3^~fi#TspcBl9Lm z&sxqpdj0iRV0UK+YAXBw4}Jtc|HWIm-(6WhDbLXj!UV|IHJb5QZJaSI#Z$*xAXLa% zN2bsKE~}OY%mN;=vQ{w2P_f8@_?rU01!=j>lc8jq`F9I`aL)xdei394gGB0iwILI( zXDa2gL&4ZI+lLrK6Ed!XXH<$Cl@emYCz$YIur5|)7^Vy-C>SFcZbpZ3jRG^4Ov$kp z`6_f)Y0NQ}4zprE1O|#51rx8(3(w4i&!??p}ML}15;VClB)Y$)Fm-%N zhYp$kO_wZJ;@P^^_(#GvfmnQq6idtT4fx%6a z73_+>{M^~l%^9mynlnc3RVPqo=T)S>tO#!`!#bZ%$v})HS6e%PvA!`FG|7m12CAGf zeKSljdv!ja2(M}kFBN921C+ed!>@KsDvn!Ki|RKjdrqaYfoan@9*t&W%(xL3@Hc<3 z2>`VdBnYfaX(EcC$|9k6nJsw7rz)-*m_cP`@n&)CYgQjSYUFS$#sP&%E5?0-F&REw z^@WU4V&sp+Z!XnxLA4J06 z5Dtk`!ZLwC%hmP-cN(G-J`^m79B!P$*&S?kpGxX0SdC$Wtk|y1F>$to0H#MeK3*+T z52efxc`v!tdzK@yZ6%0+ovtLiB*=r-EqFnAi_S#T^#f$%2Dh-7OC}RKrzvX+_e!c! zY2^S6%0LGTu8XtRuK4+w;Z1wn(4JzCQwm6tj0fV=fyXzTcQ7gWGUFRQn;bAb?oEvQ zhK?6Bu5+)_HuJ@%DKdxjxmudub}q0HRkPfn6^9p=la*ktmI9D^nBhNToTbaL2R)Um<_skYL`X(qbPP@~ z+cr6(G3X21g>3HKNlwCTSi`?)z#fh$s~JyAT();Y&eR$8lpH6VX(^L#NR=8!U^*Xo zy61f*el379BZHF*%A*ShOQ`uH1A$ot>q3+{l)kt)c?L%hKY)+kdJ8`L;8S?~(G$2j zeUgmcEvzPo=k3?tgnKVN4>zB`4O_SGCm65M5&R~CkA09n;Le+l$;17Nqe(OtLgqz7>bob^Bc;yQ(K!5i|xHx)7&t6WB zHgx)7g$B%y#s7F8T`BaCaa;8r4F(3`ITvR~T#4cIDfLE2XZ^~?Hmq*kAcy+$`YzG! zQd-N!`3YQJTrz!JvJtr-B9(ey#&!{jm!Jb`mgr@2c|`j%OitjXOBOaC52l5W=&5GI4h&z~7jeLYlVzV5?SJPy=QfIpEa4SyY>D7eF z(5gO8rKAaOdy?tuq)-#G{0z}}yHk`MT`c+>J2b7dgU_Oh9u(L!;lL&=lYeoX_}pVS zefAlg?qdo311>L~c;m|E9<1-)rOFN)H}1nI@j(o3K&K6sW~Oz|XU1noBXs68MDtk6 z8Q0Ajgj!jID{?G}bDhp3fs-h(y2KRQK_s3r!P4OKR zIwz3cDY#F*CpZA}f&2IG!9V(wKZZZ~lfMt&{`NQFt6%*xyqtI~;_(L`e!@H(Jjn&{ zh*nTyc~oQkN~^?Rx%uQW=@)xRAK8F*azSTZcW3cp{V~e@g^O&o{atR&t7@)Oieg3l#I^$6qs_d|mc*hX=Z^Az;;m>D*f$^wZ{Z;f4ah8)# zC_j-dg#m)&b6DHhO}q(h6Mcs#QDhsh4TIw`^Bsdq{7ZFxeqY%kL18Ss3!UfbnX7Bt z)KUs;A9RWNypU8wI7>7?owu?!PKe3i4R)5tk4QHy1#zCZu`?LVCJxSVZY#*|>+?Tk zDk^`I&t_lt-v9lg$ z|2&VpGPPqUee3NNy)~J41;uyII|Sa1eJ^+-XWGKy>1_!P?@HTfaY{6vVM%Hk1?98Y z$C?E@5}cHl`4#=yot_m8-{fz|yxLQbOxmGocA!?1lPP$7CP)?Yi!Q(^6gZ#h$lEgQ z+yJ^2p|m*_XNtTxC116h-P$r>O2FamG;$qAI4z*PlEd=CAG zkoC=C*yyE+gI&e5au5V8_&$gza`f$zk?_@oP~6)D=pM&KPV2n9|F6X50JT(z#hCzD*SObmiT3R8;nVM782b&xulL? zo`VgYQygX%(+-tvk+nG?+d3x=>o~D^4l^$wohQ#Ve0H$%IH~ksDM?*CsT~;^)_LD5 zT#OmV7_FT%#ley;rMX6!ipZ?_M@c#QB%QrDY+be;#N5PzxSYnODtL%Mo zo1;zWj2fXn*2X-Xy|3v4 zpm7(Xls$L+r}2EBduej!ca*+pS55w_4Dx)M{?2XxEIXtT<2UJ)bIvZ;N)0iVBja3qoJHM;p*%=-S(Fm! zt+WlGfEmnmlk8D#`-0zLUqUn@Vvr05JZY(R%q~;jX_XQvTSoW*Ge-{k2|XJ-7%(!X zQ+Arqd{2(aUg9kQD~n9V6f8srY$^-fT9z`mvS>jwjv71J<)8#2eW3>~@!q2nxx_=! ziQemz0TQ#|FklG#EC=enJS2w@_Dk2wDCC$;2IWnd&$Xli^|?EB_}&N99EJpF+j(PNFZa{B@)pOOG^!vVO<)o zbr9L}fe4HES19Exw$qTaBCeaVa;ewx+?;vZx?m|evT>dyGXSJ|kW!DIicl>Y8c8>s zTe)ox%t(7I{nIhSc#<5lC(k~F(*&zoa;RW`Y;=}lx#;D!O;}D&+Re0|%jD6Cec0m8kOd2FC^OE2d=p!W$hCN2V9&)W7=iM<2jv z?|lf5lS3UHNnv)G5N#7~z4{gS!kaI`y)WE{n=gMMIgg(sXC!9zlANQ!kH)gZ`@KlU z>ht{*`0(8i;GK8ghj-rlI62Zkfloeqkmz$gInrN;H(z-k?%aD0UbwvlFTeH$81CGJ z{b$MPj6IhFP~UB=IIuigOS;}l`a7}!3FRNb>1mp^!2C3d^Yo0eM=ukOqvH{?Gcki3 zdnvE(+=bPxJBcpSv(x?|9iyXm(9Gfd^f*1CPvx@lKXkCuvrZ4FAM(ZV6LQ=QhD;|r z&%FvecV346$`%EkEG_j(7o`kDdd4~Z#efZzZ)@utNyvee z9C?%EEWv;cET4_A!~H;>jq5=@5c@!5U<1N$@9wLV8H~YJsCQur?Y;}XQGS4XJEgMn z9N492P=q;Vs$&Uv%C3fJaGFfH{5d-LQJ=)Uh~yY<()FtpFtL>Ii~6Wt8b+WCrU!tlBST1{>9j3_Vr}SLS(&8XY4NfFSc8q3oX#?^bgS;RZgH29ebZ+02*FLEV*Sp18JSwHsN(t?S>uhSW=!G^(X@{pe{N8 zCe$7S<^3G?o_hf{cK6`PClBG{w|@nz>o?)6-~K9W-rj`$C+C!1ia{>v;)H*9693*# zPP1|1?+@W&a%5xX`J3PUHr(FZhVzSM;{8*k;WQ3rr;?Km>2ESNeG+*H1%S{#r+F_8 z?aYdD1?lrEUwH%m!QcNw3i?uO$7*`NzP3iZ^6d1?WrB8JA(r+v_Y0Vghcq(bmI!Ox zH%QNjiJv1rG)`ai*|*%Modb3-Q+I7+ivk}oFvj}iLaA%|an<1MvxhrV>?{V{^Z0*D zg8;|J`!JnF!ds&j)hkT@55>J&Av2ruLuU*JrL3Pf?n{572w5jwH1Dtg3iO1i_BpQL zv?MryZ9O3L4Ce!ch1*wu5sIhVk%RtXaNa2Kx(L1E_fWja&oi4+$U~vrpl$@T|B1G+ zT7r}~Hx4H9Jy%$ZqHBsw3KH~?bRt|Ywaki@PAH0KzaOX?4^^DQU}qS= zpURGC=#1oS(Efqs+WZgURcXe}0V zAin@~>09UHtF3u@V$)L1=jsvs+T5Nj(5pIl!pym(-{7C0GlVJG0TfR%)pCMGzL&wP zPQTJ0qwodc1NnNk1r>8HY-O20C=U3!@)#;R!1%JkL=`F7N3)Xv7;QD8)SKNc0MuJn zo}}uvxjl(cCa<`;dYsJPXI`1@e*SOf1@s*~KUCY6=N9~!`g|yT6T1H)bTHPYNl8th zcpV(!mGq|j=w(h`kDmv0#)_um3a{d(X?+EHAvXWQ9)5zbSzj3!ty{_clL| zzV`?d%&AOB?U+t}6>%1ZEM(*j&iJci$wINjD3+&L9&N(PFbTu85$x>VNlv6yDx>`L z$rJeOvj<5*n{la1zh0d-RrJsZ51e3DXg!gF&WDs*M|e(n=Vg^^vo*-|d|6xFuh%NG ziEa;E6dJgUSg2p}twn1@D;vT?3FOTpD@Jr(N)*u-+%;}(b!iSBPhC953TbVb(K`I1 zn;TFAs#-ymdHc12Jy9@8;RlX*qmIYF22t7vdw;g{ExN4SpO%C+&Ug+glC*17R?mO*$y z^t^KX%SbZO8ZNaq}h=$iXlrmyR^PYZf z-x{~7n76uqk*3$!t!?D8sOZGR%&w(mOr%2aAjWAjjwZv% ztffO^!Iy32V0e;;%Z|vFGUR69OYs(bx!9VR@9%Nh*;aZ{D{E+@D`D+%TWFf!D~$>M z8qI<3qVaUiz(j*B8nb57i_~$^EMK7F%hA!EDPbN}JwE}+Mu#~$mzD;rq{z%A1GX0? zaC&+U>&bxKNIzN1K=1KE1>fVGdlW4l$pA6FI)?M}b2g;)hE#$YOVx1(>MVn&VZ$*R z?=TCMdj_{z*HByz8LPAW)!#~)qbs8_g2^yB#w--*;s)_$xrGj^m^mtI$ub){@XfHy za8zo`Gp_h@2o*o7=~eKq_+4dd1MCp&lT)yj>`o9o1jjW<23vKKAVW8jVT3=66O~F^ zFO#v3jGHuH&#xiVw=zlZ2mnJZdV`02%$OoaA38yOMoYCeUx5XnmN}|ew*Zx*--HbJ zhUmIA8VC+8Sb>%R&d{@YYuS799;9a;n_#`>$o>F$K2O+K# zogm1I&R!vA31Tu)R?Z>ETiZIYX4(rR4Evw5G}EQS(a~5eXrygGOmcB1)oh}CFF=p>q~gLk{mnRd+V@!?-f`}4$iyx zHz7=t?l+#o!;g>QlXu>O@zEogU>Wt~kP2a({$8ZL-(X45O7$2DF2O*94Y+%A2R1j> zVYqn*{_vmt9k`vwKRmmHlY=8F*ZlrjgunXl{$+yoQ{GRa?H)TdrQ|#53J@We_LXwy za}L&_fC!br4knoW4VZnE_7Cy9H{48ngsqk4FiuAE<0tRKvxgrhd%>=wt5Cp>-SMeF#|ua6nawBc(in&U<=(x(OZV$Oo^k zW~>v#9K6w8WoQ#Ld$BKi!;oNz{iO%PHG<7 zOlM0BB0yaf1AI`PVvqnf_DEQ#?=-2|`SOhj4*o}HFW%|#P13e^KMn_Vhy=t`; zjt2kA*yxCfj^#AMhf$8UQmsgB!5cEI<_9{l9T zZ^Ju3{2Ox8QxN=cm3psZRTm5l(aH%J41hry7)VEzaS|?a>zOlHTOGka`)B_c{@x$` zKGd(1(^L4b|Lgw-e*BZSEJ(d|I*Oe;g4)V5{xRys>MX!GfwXnw`B$lp*YTrw;duY4 z8?|fWK)%*X@)9e8tZnTk9pnN|51$f0HAjZijbbG`@&0+mOUko8K&8~!bFfOn#rZy5 zT~0Y@LTsL1SMaZ_rvunI$KLbxX4Z6?d7e*2tMo_hr2sX3XK|`T$28ZvGTFK#Tw!UF zc z8?(ta_U!y`iPLD`!9cy$wXHNpzginq`xX+fIe@G2jFS?A+C>|8);A>Kz_!(GIC=UJ z%L&N#C*CHJ#WuSr!{~Va3@7-j^K&*DovP}?I`7g3tFX`KQ%|dYjIMu0Ck!Hc#V(Qf z`Vt0RV2}+4$6$~WjzP*_xwZ^R9Yg2N<1sF_Zcag9;?A}7bzq+5ZEL28=wA5mopMsp zgMTmkr}DqTG<`*9$Kd-}Rv7)$oaRuU|BcoR2;P3^II^=D`F-Pk(X~N2v(EWH&y6p$ z)J2{Ls4dv7OV>=g4S@LtVx|EGqps24RnwHGpc0Bo-ND(h_= zf&+doymB2+p9@fJ2oye#a@XCuf~|w$DD);9t$qQ2ZOv!>zWFn2wvU1v4+@xiSyNIK z(`L3mH8LN!2LZ}0lgE}KG%Q%RUoi-e1*;gw+n9YAWRscnHCspK%UO_C05B9!Y3^&4TSC8 z7a|mfK7f*mMkrm`^%YPo82tAgwkDILU0p=P-nl18y}$?=E9D?>Johzh#Uab(9l0-} zmN(6tUQSClv_t^@k&UJR>OiWo+B>fcxafB=7KSb6$=4f}uYZ*=^W*xlK#eY+^GMoL zx`qi@oj^HbSCBAdBU~uvpiDYDq{|ZSb{TZbtvC`F+{x4Rcy|pHtju+}8`oXGP_WC| z>U6>2=3UMe0K74~17D9P;d95<{fElP4C-{zQXR@z0~CoqxqJm=rO@vVKf>l5qcZvq zw%D4Y+k=uVm-L^(!^((ff_7jr&a{Bez%$44yY8z3vgb3Mv7i{wW1@#&m%gE-|An{; z1;fr?dT5Ap214tm+(N`cP@^pZ(9#bXhp^8Jc05lx_-rR z@0^82EY;wK|0jn^x_)bG56F4G$Y2a$nNV$!Rl1m;pc4R{EK~w5G!Q&ygzNB8e-lHI zlo{mxj8;~uLZ1>B0VKn-FV6QiXAu`;MkpQn{-*?*XMh`2%qm9&4;@p1Z`jFii3YyeA!n#=PGn*Tuhm!oro zqH6IzDf!qmE%mBDJ3XQ3b~FlM_7DbC@LU+Lusj*AlX^E|8AEZfc*H8`xU+uUsfs@Y zEQPsB4q_@f>G@T~yVS|d#_Jj6l9iq$C9um566G^&4`pFzT9V_D^D%>q^!fL+}OJD`^GYk$dQxe0A^leb|yN) zW|X})H+ijD?U=b0WfRyz))UdfaMR3lhHcBn=~j#-GA`rkT!LVA9qMdM#`KkSS?`>T z_1OQIZYQ2Ql@+DQI{FH+(M(gXz5WGcw(?d^b74;nauSfC|oeBYY zNm|n+In%I|HlD+tKK&Fn)^CC@M{PK+^DK;JHTJsCV#HCWKfYQGz^q{rG6&Qu5=|eo z*!$!hz_F&(162CU&she09oWkW&2CRpCmF0~QvSGwWz644-!QqwU z)LBbLZtSDJvcAhD^|8P6?2@t|PmhnKt;(F9+2M6gF6o&pRLoUNYG=Kx)N|C)+0`k7 zJm(S&*5+Yw_bV;cJ93jw_m&s>uYJ|X`Po>J^1Xc_u=vTzkuU|$1uGd zlPm|xB(;9JZvGfVx3;wo+Z!9Oe&Z$h%GbXJZ`>QgEMg!_lKY8*Ppox&O23vFMD%Qqh|?xX1Y*8U9gk zm?x+0^!z9})1DBGw{tDI?)O9qD3H?(*MsA3?%jg^>Q17Y8{`bcb_wWMfaFkVX%3v7 zi1cxhoVqAK(ZPu_8T-$+iPxNAkL%>TqLS7kmlwY@2*OKz4m45OicV2-W?0GfSl~wR zGCDMZD>3s3Fcbu+6m;h6keu5`#Lq0t?YgtR<3}KJM0FAF+r3Ps?uW@af?2+(&#fdU z6b7tdKjEwM1FDX2e)2RqfsZK5nacdT^5DkH1g8fW)Y$Kljya$pr$CND%2sY&_J0Vb zdtxR!?g>^CL0*rgZm*KAI;E_=sb%c8V)!d`CD9w8f zvULi{wE6@h^;iIbbmge&qAZ^;+*D`47~h<<^UD zB-pLM;lp=`r;&5MAZ(}o;`wcPNag?6H*X|9bOtBrM4wKt9a(jWAm?xVqIEng%OtOO zgYi@Rb9H%W_Jq)cie#?S`Stq-3fr;jlkWO#G;hG4ffcfB<1#f+e(1uKOon*19UP*K z>F8}9HpMlImW-8N9>VV49T-pieGA@q&K2G9$o@1xOLBac zbiM7oP7R2RQ1G0rXOubx2AR&L=fvC45%06(@gA(Cfz=C}X33q+on!0Tm%qvv|~VM%Mpfk(jLJ;OTqOWvq|EbtJLix$0D`Z9W}aoZm0M4bjgm$|a#31N`~C zTDN}Twrq{^ibN!dPlLB@i*B2jpxh6Z9l3t*_6Ex{=KKK4~4H-zj#Dl;o({O#Z9%AKarnqj&IgMoB0y ztDu!}Ew3#Uv=5G7f{qd7-dF_*be1Oday`$ zb^3hXvy6E7YdYK~gCJ%oK*QHM^$e5*C zQDctWhrI`522Ln+1Qo#1mG24H%%J<- zbb3XO9&{r0`4?4oMWGJ2;_jrgWiP7fVPzR z$9b zujpI?<)1D0N7pRtLSclgooVJS_Ju^}0Xh|D(%u172a}uZjO-359o)4w1S&I!do{;? zlQ4IO6xM^H3y|>7sSiM2r}PIb3kva{<=)mENc}lWL8|gQmzCo8YD|k#RyXTvj`!)p zn@UD_7?}PDa4iovIpO3QKq)R9Pay}580>>Mv$awU8@^jH*j~ez!=h)4(;D|{dBhHw z`HYM-6kLQdZpIE}t`5RZ)_IHtE^66$)xk6%AdoXMNVZCw9VO8n&IJzaq>T(a1P9?I zm(HgBz^pbja!<9g!J@V4`WvEmbO>PyW}-RDIvtTC6axgXOnsEHwd7Dpj+uy#*f`^W zf0N?UkY+h$rd*<! z#j&`@#!Qply?FKH9zv4_@YE(9sT z8w=jGXzw$CL$NN^q3PM;z#-gFyMW;a--rE|*LQEi=G`~o-W&Jfg*)rXTe%FA-ez)m zKZN54A5!Mi_ev;OOCpFiB$T>9Zra!hpa9`>TJkls9GH_Ln5^6A1TcuMrom0t?HzelO`M z$zgf(&TFu=wo6X1=~a?x$)J9a98VF0S+G3$giD`#HPOzN!q>64?ADE2&>P)=l?~2l zpC=j)$w7|oAVR~=e4G!qokJ&HASWT}qkYmxCzt2RQG5VX4BSI!Z~8kW+6P!n+q9XK zh3=66-y%QbEHn%NY0cqT>c|>Mlgqv5HO6A!qJcXm$H+<2-L8mV!XoT*s9VaH%(Vij zoZ|BY@{wV30N=QIJHaP8fs^joPdX)*q#h*w9rplB!iQOM^qw9khthF!tX>g}u>7tD zO8D`DWap#4i5cgpry(w2)-_%;o6S1TadbqlZ){V^ehidA-EubJ^6{kO$={h|$9tVZ z7vBVyPcsRU!E?=UfM=0QDJhRZAx+{RLs&~RfYlRDPfy6w1yL zVJ0k&j{!czRSpuFBY1ApTH~IkS11no0 zEzVJPHZ14Ub5Sp75n?ozJHHKU zcW=NC|Hpp=AO7NPIC%15!m}mVd+rUQ`{QSyal4hvGr0Num*6}9;7?%d&K~^iKYSk^ ze)KT$w1*VPw!F4Q^To3jR*|4;Ovu->=|9q(W1&2pF?zryEmSDHO+Mg4j#M*$NLX?UxD>6uc!0A zVLOBY!Et@-2FdKBXOF2}K%vhr7>oH&;B#Ncj^Pdh?$vK*aCD6Q<_AzPp3E7blZ0Zn zW7VT8C-`rAscz%#e{E|O5^WrC&VN0(#OQJ#1tMk(Vp_l|O!yd-`=~pOMth*W(|Py+ z3!TQ!E@y3{7EJ&2=mG5Ayq_HCE^r7u$E#tl?*TmD07~RbH3=A#N$qV zFO>E&I#q{;@hVpI&O24np8m~k6pP&r(zYex90o1mc?^RikVkRQW`I(=yq=$w4u2vP zcTX|V&YcPmW?K~ z%h}#b$tL`yEq%xNzTz<@4R{-@+5hC95KPbYdJD=N<-Oi_q{H@BMw@@ClP^i9A|!g( z!UESifR%srOihJjEa9ksf{qgEpG^QLWHQnz#s`BImvM^_x|5RimWq`}7Ech|bG|z# z1+GrPZE=1=2*q9H7@p)MjMy(=tOZ}&b$mQz~SNJWTe`p5^K}xoHLQinPk2k!1YrrpJz0TYY&kekbz3UXDrBg-<6t7 zN?9T9@@yV2Xpdf@y?X0I&F`RGvkt~t)K}*8F`i}5D|r(=(~)14ec`^*(Qp!fM~4~q zG()F0I_hRqEaN#NoW?^Cjyav4Q$?6S{f!$AI*@XIlxg1MK9;R3l~c<&G_ar{YBn27 z7D^EQBlI03mr{lxRSUe*9UW}-d7%JR2o>+MJ6c*JIk*OWDhtdCo(EkXgAQWSm%Tzl zdo`7^XikiZw->ytn0HBAp^H5Q-%&ZD{7AE{XdNvZn<@KTn!G$AWTw9~i%?;1&;Tp^k}C;eb}MGxnlkNZ(PL`?vfxyD3V3r!95Q?g zICWm7amQdDp&U=0<&??Ku;XP)DQUc?;lL<%cB$S1PWDv$S?#~_vMf2ebM1B=g-yoX>t@C^JCKbM(bOYA$xX`9B9eOc$wxrIX{4w z93E-C33kKL7OZaHNZ0Npr|}JP;GmOZiOTH{Df=lKBH9ju2k^XG-m5$WmcQK3)dx>6 zdIj5OyoBbL90JteoPu;BIZmkbJ_dpfdR%6D&=-0R>>Qt?KGIS~Gs+P8QwB4?vAi@p zr`l>Q(ePM}%#HTP>zuLV9;d_Ay1SRT_T0#2eZvC11J`_+oP0-*-iMEW_G9?uS0BK; zzj!afWCGjU0dCy83%B0*D%^kN>#)1G2D^9fK-~0Vf&*P- zF*Hwf6klClBuCvjWm4jMbXYdhkCyhC%8B>Md5JK-z~0D-k4;XWq`&9{X<&KlHmvX7 zgVn8F!uf`(t_;YmhYr+5>NxU^(~~1O!)(^%?3iJX=2@cs_1)w|TqS2Dq6p530%`CZ zaCJov#dglE2HG@FbiQxwF#Vtt9LGleqetyB<_j@Bmt?msRd1A0zigS-S-D8GrEVu{PAYp{j%@(xX3s?UH3FBFy05WXtgaI4NiLR-Aj8-+EfWN6Y z<5cTysFeHq`YM+@PrUzN{}6uklb^v4fB0jl4ixg%1s3X7htJ>m+K7y6z~EoRS>$7g zrx+Me$S4TKc}Rm55tb{7=V5yTtlBnTz;hPOq^TUyZW!=(2)z6B^oZzzZBt&K4W=iD z`uwAdG}S&oFQ1s2a$MGS?A+0rc~~^vrgL3=na{kWsbRH`wD%bJgMl4L@7Pws46aUp zvCr4MLI?|gzc@dpKH#nEiLMaK^D04< z>^lQ)-!{9X3UYls3*-3^+Ye3IUR2s$s+ZXHz0)fADJ8tbvp5CtnBEJ;M0&}Qe}4Lm zY({>p+BT-oAFb~Zu1_vc>dACxp*ZREWv{1tur0LvG$pNdmJg1#^X5TuY7N)pBqtio zxmAkTAdoLDV;esVZl6u{flz6OP@j|SH?vDCy>)j*EnemMqgaWBf_lyw_v|}x`%3P|W}}%+R>xX2o_}(le$_>wqm=Bjt$j*hhV6~oj3UYNuisCvD1;;DK z#vAk6N`o~23I-(=a9vU?1jzyz#h`}Wl9{=Iio1ir!V_Nf^Kj^`%9|Q?7QO^fdbjPq zCqf0Lem3Pe?@ec(A!k+Ms}g-&>iJM$!b=|2u#gk355p zAqxeE_7E)U7!2L@=MWZ;50RSy$> zk)AJmMME4o+DllYS<&!H@J7dEC^_gtSq?4`fi8(;BwblSXBcOik|SHjK%+EfeNdl9 z;6AzNaOzWE@M$tkpC=>22EkfOVbgrXsh6X!9ZoI~TGY=u{l)zwXBt#|3F)*aWuC>M zrQ8X0M@!+7`DDm=YRd-3^;ceg3I6cAe;2;|NqV1$N^{?Z6EtGQ9fEE(YIg?pV-4v+>zadJ{1O^Jd8JKYmA&PFN{aFL!u))PcBF{0)9EH(hos99b zsbCsQ=|lPrS4vPhM-anp7UMX+8gu-Y!4^sb5kg0YW8N=8D>Lo~&R}iLiGX)fU`)*I z1Gu+Z=3PC>5ak_aen=UE%9|s%@@QvVdN)LM+)LX8lQ+Tkgg)AKLLF+jXfd97BU5Wa#2{gyKF=j2EU z$x(tOim{*LoC1wzTq-y@1g?^S^y>IA8T8T7x0)P=%bWL;WAc77#Tlkv0jGAFF#ka`}Fy;1zu9`#q~kUT$?^437Tvez~?$tgk(r?aEv2t9zO z4}J~(I7!C)O9~#CQk9Y=7;Ws3vv`!8gTv%3#?t?2U>>eW_BsWmfD-~x@aqZz#o;G% zuGc`VXO!Vb3M~%;#?NVT;G(k$aaIGl(7DRJ=a(px46~xysSM=&#=V~;M|eA%Qx-bn zyo_*@LaSFT?Y1ehKcrcn@yBbRU+tZzUSQ{?jajFq^c|AnyQFD*NK} z5FUK=0lf9rui&j;y$g?yF5&R;12{T7gu5@?fxq*eZ@`zo`la;z8*umL7TkO3MQD=~ z^5XcI@K9|TJqe6q=URgM6$h=NV->63OfjPv`Ba!wR`7Ciz!IJ(=l106FzwA_m?yf& zXARf3VP*41azx#Q&703dLsf4QP9)|wolO^F89Hn)6FpxXKS?zGh_c$J^GHVR<<%X^ zst#DKg7!6ydv-z&+v(*gOfF86Q$68jnkQzmu5IqXYPxtRxYd2}+0u1Oas)AcDCU8FTO_iz5T-@aFG-6NdeDI6OR|pckyBgbvD4 zqIKMZtBWJ}?488lo?XJruRRaTdHUt#T&D_JEz>epx0o|uI7?@s z2ale>lV=C;-h1!DyYIdaKT3}LpZxT#BzGp2h|4+}>EGcRhjjf49SxN}VWkCh4&wH% zY~CUoom?D4-TDCB-CEToVt~NfCY_tPRQ&sh6{^d?7Tgvvpxk$6nI=acpCZE z*_0qG(EmgATP&nnVLt|E?+LZDo$p;BC`~60#d!iU$u;b>rJ#BYbZW6QdU8&Oe)*V% zdsR(BXh=Vgug;_@(wy3)fy#IY<$Vh@9xuCT_C(4p^(LQC632Qqh2Z8G%DIKOc*ZhS zJnJC7V0#a=U1BzRD?E2Lm4K$ES#XjI#?C@vbCMZQrK~yYWTIzRXiK)9$>fyed?Qt? z@{$CeZoe@|X(h>v%OvYjKaT)V*dT+$r3gj3QYqCGR?(fnN(h+^HZF#=!8g3ap!$ zUB;G@?f?0?Ilz8FE~cYJDCu5+r@@(izM(oBH1$q}MeBwROytDDtF#G-ZN>E?*XNo2 zPd%r8zDkqe?N2I06}nBd-#{X zajkEy|KGRhU3Kq0XYYTn;alIdzAV$nLwOEf%qP0o*?TpXhXh5EHxCrES09v-#kzcU3_Y}^m$x=>$uh9bX}@ggC6k|% z&&rIvTvE^v9*T36%!R(=@f#7=9D*M+pIe$wBO%L|jNKN8QG5$bxYCPD2uJ&tWe7NC z5$jcUBT({(F&%#S<>Zork~Cwvv2r4J^7@QNE}P2c;WKTaAdmoQZ^?)lN~dJh?;4mY z^#~&Ltj+JuZPes`;n*`9n{}a_A1byOq22-iq`&r_TUxt6FNY&g zGPk@fe{Pv6LgBd0-z(2I6pnc*Z{gNloXz6(S0HrnM>h8IPXWpv>&3SrjgaxAoIme7 zW@XmB?=K6s!XyZL@y0({N3HpDa}FlRJVhL=0g9d=3+6KACum9enkJ(&Qil3_!Sy^T z4k3y|0F8I!)h*7_tz}f2YT@3ivnb%2xlqXq5{V0knmWt7^JVGITnX(XkLbuO%FxniS^J!?amM(txq%liUckoI-E=Nuv>l-V z>MG4M)bpY~!Z&Q#zT#Dx5pQ*M1159H?4WEu;r%{nNgTjr@Z#(+?!8V~MlDFvyJp$4 z&L&y&vEuOzXYH?Q?{A=k=zsga``^H8uRh2;79W57=rQ~s|4;vCHjLR>(TD783?TRq zfgNrc&EhX0|Le~`hcDM37Ba{yN}%+p3Ueb)T{d2((*E6|FWr^lz1Eq7m8tyF- z9aHIBq&0S^25+gAp*9Y{a{IVM6F zs-qLM)d4w`CEGPS`12nLQ)vvS6NHxMX0}I%Q{9enM>=S;Dk|$A?9{kE&*wtUQgRw=raU=g$QeMqYQ|ZHdJaJh zs`MQ3y8>%Gx?tMrV$0fR?{au_sg`K_IFqwMZ6JTxYHaecS;NF8h*xtVl zt9Rdl-Pd*j4xh75c5rYBAOGzqaCz`4+?*ex{&<=y6PT=OLF5zBFZDg%y?X~eDv%P4nBJb*LW^}{^Jw)=r4XR?b&qQR@;Aw^D^IImxe8zoF2pa z`mLlFnBFzuV4b1hEuPELcoVjEZ=(Z!4IO;cr@P_)!dGX{phaif#hLV&7Ty^<@`iq= z3}DJeAFZy#_TC+KsE)>~XvjZdhw$w3ko6pE>0#|*=sD_9ytcV5S!Of`@?I*XPRCCU^a}E&T3{-B96Q$CJ-BE(+0YUimKyZ~No3WF9&OsvKB{%~9ZWpO{_8FHIW?T(E zL^CSW$5X!452#QL* zZ*1S;N?$GOIwQv48+3kCc4E9f<$l%|XQ$bokPk>Ikx)iD@#^6)*_nv;rJp=i5Sd73 zf4pHjr0ODr(JHs*BIi2=MYG(Xss=X`c4RZmAh$>8@&VvXO=?{=TH4@sJ7qt^tFR5_ zbqkCELch|;dm_2AjQTX;-vsw@L*?8N?{2Qnk`u{ZEYm2^8_$DuFsZmBa3I*XdI#hH zK?{tbA@) zM-oU&y5CIJM-@)!>_>bL8EUWeHD1T+=52WEy_6Z;#|g^Y%aa$dd+!bS`fvUkj`J(<;^8y+(f5A< zhmSwvwGrN}uJ7`l^Yqy#(!ymXt#i1=6|HHw%q`HCh9vJyPid4VwO!_`bZQQm#XQ{8 zQH@suQ@%%S?ZMW)ci`giA)G${EcG|<*l9qjOVGN<)DwO84hNbXzj(|+NAevldny9C z5T(I%Jl7(|KR|&6msiIegh%JN=$<1FhvGv)5#?oeud?y!$Hx6!V6)C*ck13rE1OBj z25UBI)1RSNg|HXl&S+_X`q6G@o_>AA{pO}78FO&(5Z2eIdJ*FIaHYF;mH+x<3Z!H@ zrNP=H+0tI-s7Fj^6wtK;i#Cze3mtccy4e(Y)DpGy87#x1lbfSFxVpN8^{qSn`w;B~ z$H&jO(#Al8?L9oKm7cdz>LzZU^NG?}?bk3RYS7_&mt;p63{bGCH4|y8;v>n`^HzQ}3rS_K=_KEgN3T@A)@7c6C_v3e|V2 z@zPdDANdkDGOWYGO)`iIi4$XhW%0u`$0 z7zWZsZEEZcZ9VlSeSnHFscPT;2zyO4zgjpL?L|uU;D1krm_VVyt|E^=qh) z%p0|%dfU23?-pgoRCheV;ZTYsfWQ}N055JNGA0JcRN>{wli-?+x-o5E?As-hbdB3~ zp$*_|uo+>xifG9$lwd-Bo|NO(N*Kn>OTBqBRS7JqMl!Oli^HB#g7MpQi1-J|)AS9ppWcQ(+-}`#Id+GH^@Y< zw{p*RZsqE;(Z1#1aP)0Fz|)&;m4hCpu(7d?09w(d1s;=l z205u`+>w7#*47j3%uUNFpt%j@dI z(yT7RF`R1?oe5XhlxZ?d&Qx<0aOu3+4Q%f0!wBb@u(47z_Hd2ECUEvVmE@!V0L}u6 zP+e+-=SVvdp^f+6`wIMf|K9%^`dRl=GNhWmWH#2sa87IurCZ>6WS2oN88ZH4SCBmhDcLWGoo|e*E-Zv9Q z@Ru{ibK}Ep(K;pvJ9!!i5h~dY0QFqa1-o!i61eqc-ev0)R+0NF&o8Pmb z1V4yL21B~E2>ybn=^$C2ZPX0G;I3nyl?BJlf||TFvn(nfr}K)^bXrP45c%$Bj*C+v%;1#uGu+C zl{hHtgPp_DpV#<#+K0-?@#->X`p{Yj!(l4jzPv2P{_(mvOy&sR8D+LnKUJKQvT5kG zh7M`U+S|PK0G761f#tPLIC=6jxOwq&I77oE8N7|RutNd&OPQ^6>zy2=w<`DgWtgb; zs^{L-%OEK>hQE!|U0N4d!NCb!_I!lS#XUGaIm1(%kv9nC&SmBys+$n(1c!!P_LH0| ztGJ&r%NTJK1}-;Cr6;dBQ)+riPU92a+st~YgQpEhcQ`g6ha6ne>v-@wcYYK4WWMp+ z#wv1XWsHmSQ*@fFbDJ4DW6F}9ql2MU20$gEgONsoc0oSvTGIo<}74Z-Px?C@0M4+nybP?to5H1UD8&0TcX z-iENe&NO*>{2Z=M9`l({xn#l~a$--pD#u)9rqWsyxCKB!eR+9p9mm;+Av!aL=p3M6 znmIbsr-V=Tpf@ zo*JG;!E3ffXn^C8%gjf?Q(bQhSrC@Gg&_#FMnI>@^#spmSu@8qD9iqU$yd=CEEvuL z$Na62bUbSJu)Mm-{Fs6+sf0b1qbA2U2QC?|MsOv48-?qNz;!%E-nxzWN7>9{m?8hC z^63qp;nl?%T%SHixS?)*aRBEhr^zX7FU#I+wB-r$IvShq5vON%#w|NAXurw%t}OzF z9C)!T_nMm?A+ReZ~hN{2kvffz>j|L z9KQ2U|Lg6Mf;_a4uGfljv57Y{k8;`MjG2EX?A{~;`G4&g8U@CWeOM;{C67M1z zyZ_p|aCv$FXHP%kVD$=Bk}4=Nhys|`xDCq<>Le%0iM~iq3MF%8Aqa(@AQKUOpQ2tf z5!t5tvUe`!TTXq?30Xn0b@IY%yJ6ma@U|*{&j~&m0ty`k3Qm-#R)39~p}bcy?gww* zY*F5y!S4QRZXbO*MhBGO`_&E*M$_2^J41JN?;`BfM&;<=?vPTsNo;x10>%I|xDJZb zYG-sGo+5wTOZT3zXifOxyqzG=JY>E`vW)Kj#0$scodVC8kD>l|j5M>mcNg_FsWL@6 z;fsT($Q#FnV<{}2)uz@TXkXHTih^%9h_8=U*>QeOEm-)jFv_~0KTdG>u^@6{Z5!7% zp{h>@iT0wi!DOA%uO))_OF;Em`fjm$y*n?^IK|1)^pZi>y&-D+id z1S{iB{7$3oA*8Js1+!9%4yx!wHpZ2;9iGox-|-N!u<$|`>Q;r+$(k7QnirjyQx?ld zOF35V4WNcv`Hm7G%beEfA?{2Qlll|L_KnWNvJex)AfST837FdeGy zqO`_mn8tEJ#R?sDb*F~RJu6yCuaJGpA@=1XRZlA~*Sl)xURxkVOfd76yX>(%UY;@R z?7mjsfRcvczpftz%feP-gsNwC$Ppc-QN9#7sT@%{5FH~~DT6w0BgBg77R<#htSG5y zbJK85%q24tj6x?0BGD@i(>SO`*{3-7oB_5A9+|f`)GmM}^azv$4}(Dv162rS&=2|X z*6q#1yM|>!|L(%8f+q=Sq2w-?srLsJV@S((if6EAOF=JNRHhYT`JDnL0ZNOt!xLhX zZr{TAL*aAEa~r5ySfuRab5jGMhe5Fyry%=vLaf#em7yNG^WpoAo<*@g;VIt0@SvIQjP@hN_$qC?c5x0Rd6+h778BV@YT-J_aWf-4M8g$ zv9FLpyOk_H>aTcfpL#pSg!kD{)jhY~cM8d}=&bWOG^rz`5i~5%0C_-$zbKG``p?d9Kzi3mzht@) zieqjd*(O$sads^|W=Cs$@g~Pr=4IMH6VG}Tjd4_dk+K5^YB;g1GsX#A_r=A9M6Y}P zN&yM6aWOW+`~KlS_#OCn{+)jt`d9mlw$cD7y2CzwYOxuke6gWnUEy$N-+iu_zWbw z9He|dIu_{cIXFnq$rN|6GTyrOmV+Ds{DrGc*)8&F27({6iS*hQoD^Qm=LW{FofI)W z!(dX&Z^ySq-|EVoj2R9N*YlY26@WtCgaleGp&oK6b&4D(=d~HyyU~@h z*DNa}$c?iW$%#yv-fVQr=U3y1=^v#Y6p}#>xa>KAI6cVlKS#sOI@6hCcvo=Yj7iCm zoVRmhr{IG`*daO4QmmRyNn;uRFrXENRdv7{Z4p1W-lM{21(zf^MAphYZYWhJBpZCL zrS>Cd*p0bF=^FP;y*xQ!BOwAz@E8sIR1t-$StR{uAb}#}Xt$EuRBD#iMviz$`cH;4 ztz$f1mTdO9I1~xTDPy@!dcQblHnz7pQ!FA+q@Lnru%--Vg9+`KXkq)-Yq0g;UD&(- z3OxV#eK>shBRGBjh+#pnr?SPAnL;me23WQk1(S*X)ru3l8AxRqG=|Poz=l#(bs;uG ztz`)tF13mqayAs;bO{?fchQ-Cm-);2$qRNClx1TDDJ)Z;*29^Nq$ePZH#WBz4$zE= zsi5vZ;_O4pPLGtOiE`xPIF~Jz*m>Y9P~gf zN(M_3ptpifO{%^^L1D!Irc|+IE_lcewV`Bda%TGF70lv1!?@OiylSPe<=`yFlU+0b z-$HNLI>PBT_aLWo#VtD2PZ4J*SghDU2--qL<&Lrvh@Y34Uh9;Zof^L;2l_UiH&vXQ ztHY!)Mtb_k|0t`KkJsFMJ7|o`mz)Gx+4gQ+W8de+^d$pTObM zhpF#((vO^DhRf!ovv_SC$J^e4%{yO)fBPT*I;;h%m^0%*3_64Fd@_gM|9|{Pd?p4{ z`ZJ^q^y4FRZ0$)YZb+9=5ceG{GkM=&{i4i`rcxx75{53XJ` zS4ZRkws!WoJpzqIZ6(f+4!A76$RnvrL;;puvYj2G3^{gyPPmGYz=;3MB*S|^_=;m& zAdc|a2wqUi-B<&+!ko)RlXEPj61pMjwgz)ie;X~es*VDq&!`T2bdXRVb8-$u5l%eD z7;$E0Z4EBZ&KQ2_4i_s2k^4njehj!m5^yl@2J@CM7(=tP2`d{rTwQ=l?4LaUImD|Y zI6Zud&Z3KK3|9FlGV%t_&|$i+xA~4k_;_`G%4?cy0F$-Rp!uoqIjwzpdCX2W z%9y5hM9jY^Q(1#K2#)0VSXvsfz8hmtutN1pde6(Pgb6Ow=_Lo$Hh2eE-P(tpyKl10 zqZS-=N1$M(8TS(xosJ#2RQjDtuFuFhbEUovfvZ%j(Y8MvumKvhre%fG*~>W&_?|G= zRz1WsQ3kKBvwnAdek?jg+F0O#Wa<~cG+yWRQ6PfJ`!-t3jb$E}+e=ZVDh0ryT&Hn~ zeXXqTFpf|~fbBbPz+2z=JMi|`_Tkf?egZ%IgFk@tgHPez-}oQGZ~yjJ;n~r1_-Fs* z{|ASUKVTTHBA>m5vi9Qq1sr|$0XwBOwzuHd|E+%vU;WD4@PqF?gCG9Uf6i;8&&Y{B z#`#X3e+xlZgtG0aod)p)xqkN9)`IfJpmHYayY$O7 z93H&jpc2wglfE4D_fp^m)CTSH&YR|qP*z5@w-YF;HP&!T_Z$GPpW7X~WA9RZIbWRh zuh@k@1*F`&|0>F%){P3Cnu!YRQb&n-SbF~G;4>WS9$eitP@cE7E0MWVd!pV;NPds> zG~#g-;GSVNM?5C`%`ykP*-KjZ9I{S17_9LS%S#as51*mj+(sH*E9T-m72eygkR~=Z z_tgf3bQ-4c?D-S9%j=yi--Yvec6nI>AEcy@IMr$-;y5pREJH`7V+>Rq4YeGjRyo(_ zhg_X6*^@Ki1gF}N*WqxoLoOkdw!L)L6<$_JO2xCu!4>iyxVU?ld!k@nvb(IJb6k7{ z!0m=8sNwwV1bNXV)7T5V7mV<}mR*oIKEa_4kox919j~xIRbnMgA7iRu>1AzHeM5;f ze<9gk)h3+mqYifFe2mo{ivIVuf8!CBLRuBV;J=*XvGkEt&Q`xk-Jm2o6 zOLq_Y(Ciov_N8On@2#3R(Sh6>6J0{jz7owv_4&*&$=e7r=U*)2G z$oLLHikA{i8`Ht(Z-#_;HWE0dQX;KiK@ajnR^kfh^n$ZUS?%e=xR?nzczZ?$jv@FS zOjeR2I)-OaY}qm1^blmZSldSyG5I-D$_v39GE?*CVW8{*hu}%m*FP$j1Y^X>7s3pK zf@x^POF!`&CyNe_kQW6;JL(*OMb3Q3AMN7>#`!pCVz=D(fDn+QXq6cn8D_PQuh|BJ^MlJd2ohjc{DrHIIDu3f5V0|wui$N$=Eh$Qt&9VMxfJ>poSq(W zrW4a!s2pdYPR!JlJZM?ZYrStZoMpuDXr;`1&T7_PWjH@M^%0?A9SuqZd%}y;(^D>e zN_>EfF#;=bW`Xkkh7Bv~tWzT%{h=Pl-eI|h)lrq^7) zpUZBNK@*>4r>P6FtM!my`?X(%fA`=0U-;usr~V)R$Nx9@vp@Tu2JjSIDD%7^+1h;m z(Uk}D^k3^|8EoXVT9& zLuRPIM=4jyZ38Z(KV>B^=0K%XP6m8%dZ&HE1`F8b?}m*jf0A$#3Rcq%5WP9 zpPr&qgJ_x@a@>QMO517{J*|P9<#gsVYKakq$J5%W?L=7)I3`*rK1Tf+srNBeXEEMR z;$ohH(9&VBvukBMhSiO2;frm{<(+5KiI!@Y()YwG@4Wg3tn9xHcV2%F&d`{7_TL=Uwt|smsT? zWHwRTj}3Hau5Rq{*M%KVLCnS&d6 ze#-bqht?d=?fAtb&M4xnKb9qJGE58@Cv^|4!&oDp0x=iy*V37Fg$8B9CkoQ@vV)zE zoK?TZu%Yw3zPyAPwJc~we;AGiT*{kE7~^Lwv)TyOe-<*~eJ&Ft8Gq~EtI&+M(Vu<` zVYST;+xhhoI&hES*`rUB46=YOX=9REtW=oL0b}gQ!rqsj*Ae2|-tAX83yPg>#J&k{ z=FzF-l@3{gmEp9ve-~DEUWHq4d>P*P>Rs609>NS|$%`j*_~ZwF1J}nN!^y#O{By_w zEKwc4QO7r@JqO1O#i{(@m%a&q_t)NoyIbPuUfmEK@JFA#fPeA-`KMgIwQX8>{O}>H zt#0#TQj;8i7AkjH6LK8moVGV2?+9-!my4rj7nogF}XbpS6Oe}X7GVL341 ztkePPh$C~X<2(~|0?sB=o^5j%b*J?`bfn*g(aI)Q9e~Lp2T72_kzh@{lJpuX9Y03C zv5q!xvf|BWFD`-f-{m5j#besl5eNjA;r0(bh|}-U;=M zryk{6*`mmT(r0e2kKqb+%|Qy}bTSrlpqE#-NmmkHB|%ax^QLQY-Yu`WYg1%=-`Lvb zpD9p;vg+H|t*p?mTM3N03I=79FO8%}IhEB%`WYY&tZm)pOn0gRFg+)DpTX(D6F50J z0;;lgar&IIa_4a=$x8~3p=|fjNHU@cKGt8Id1(|GM5`e_yfR)zd9cpUQlQNZo)f{g zn0mBemNz0D2^Ycq~IMa&)vNrZ#L1*(OJAf&ei~=E8 z7S3*z@3&mVi|(Y1SCcE2i&Cj(#EvNrfCUL2mUYiLK+@X4=)AK~RlNqh>rB!?Eg zxUvRSp{iK&h@D>h+}oVnuMmCCrzwz|E4xs2DVljIEez<4$0&c8Pg4sO|Clm5~F@_z=eZ*9T9{L`Pn_kZs{;Xp0AlkC6x zE}z-)vrpjc0O=3U=(Vr?HvH@Vliz_e)PMi{pZzO1fANH~y9Y>9l-*DK<@D*NyylkW z_Jp%%Z{K?pR+h({;eB~=3D@YzG{bf$m|YZ1{>|=ltRlyaKDu=n7X z@Hup7KYX97I`lGU)n};!3bj$7z!M56JbwO|`AvbBwaqOAty&}Z#M$(m?|)Rj-}?8) zO1_nM9j$l@kneiE0>oe0{R6>$v)8?%JmvF)RBSkZ|4%aoaDhc?!HBXK3jSVOLpmR= zCm0p>%a_g<3i#e!9db$iHmveTCZ7q$Gj25A{$k_m(1S36v$J#5Q}*QEHkiTlr;oYv z4bcwuT3=q?P=0*LPT9@vdwF!6Xk|ITlcx`1YwI3Zi?}2*8=2$s@&ftYw!)c~dBJ!v z7_2~Y5>>i}K{vS5^SsS$mS&R{84?_?%reIua|!hL*XqVD%Uuqdvopkq3_+)ykzk7n{awNOQoLvrFErevy3}rUyleX5Q z7oT#e`piqfA+Fbh_2=k(8ifp%#br}>`F*y9Hs1cPc8rkmMTR%qUg(i)O0$LjDf^8M zAE5VJ?tJR?L4CUUoATYZb8da(ly~`9(0{OBz;MlRo@86dhQ-oG(5Dwy@X<{c-;3Un z=pog$e#E}_%`c(01Jh^PmpP9i(|`qFcp2n(Q<*S3W2E%C09~5tp-S)HGek5_QPRKS zu6Mvf*SX(utm;hJHM_tM0g?vNLJoTCgO9IBVrwpF%H9L$`27ID@rBx2>ERVd4*;ZO#Vx9pi=~FTxuVkoDs9$}HE_F0h ztXg&MluRu#s9@14{cIp6h7$zIqmWC%MD_hXUy44UBjuyX=j;Iy{Nrv@_E`p43FlI= z>k>R9Cekt62DipSK>IU>1?L(TWMmnmE5Fq*2zvIWz!5a*CtfI+i2d#ZGCaOYuMN%kzSoW*!#M} z03GI%aoY(O!;4r7mwZXc8AH9!8!yD77tSaRqSm z=lQzl?f3*#G@$bZfZnzBy*w|;<5j$*XD{x93=dkFI$T?IER8s$Y=jq^4RJ0ObHhu5 zd|tNZyyr$sTDI+izK4AT17d)qmv_J=9?>^U>^I6T2D6-=`1s{}8HH>9N@LIA=-c#u?HXw(VU7HG>~tDYVieVjqmvOeL%&V`;Es%l{sxXc^e7muj|!W$uYO*+SMAwUxw7oC|zn3@782LFH_8I2@omam?qU z^OB*xC5KV}vZH8vIwV>lKjmKO;?!)Ve>w$*++0eg zH)YVHtReh1BU~SjMdmjV4VBxxMuK&tv--bf*}a7g$mGGREJ!`aChIw`gj4X><9DP?k01swMZjjA^{R|wy$)Gs>0AmKS= z{;u~WD+x_m-fP>)m#JJdmFh(&5W$Ec&e@4Kyl)B`qo3L7G7)}l4shyqhJAYRIz**iYz5ZD#3xymV+cLBq}BL=MLB#y+g<-iJ58@&In{Zz2+Hp%-ln&YwMlv!h3Fd3*$) zefSt|P?w?okYmU2+^?T-eHrnO`XGPvAAAd5MQ0tAj=uluUD!hB*~6O%fAIhPPe{3e z)2lgr{K+HE9?uz35$fQPM%!)#tCknR1%x=b;cI&=E{L|tkzvw{@MeUL-mtt0+qYlEw<&1n5{BrwyhMlN&DjxWoKabF3&I!; zsf76&mzt*%=%o8mwrM+)>}Sq=t_-vT4*Cn6ZA>&v)r?3-6mb)!$`C~UE{{d}o>n5c zLBoCE&&WZ0%xfGDhfo{fOjiPrUk(>6Q<>z}(ugWqZGyBTkyopF1oME64GsdLb_xlP zlj`E`!ya`_@A6v@Qm&kISi(JS-$6aNk%v*>4moBg=;UUnI+Zz}O_;yTsnQiX$tIfZ z52oJ$q)H$}<0Qi<0E+vlBc4$ycMHBCK1_XmDe#c?MS%k+h#RB9h|AcMp4n=(0k3cM z(NI}oS1L12rxV`q(h~K=z2T}*&iQu$|+@QQgD;zeXW zbpv)c2^_FTf_JX{$%mrlP~gy9bp>5FgNb#;VbT@2x(f1Aa;B4mo?1Kj@6lOOzk8M| z_@a{T93;j;ptFQer1MKKUewAfNDIqjK2z?IjxwLB#ZVdjtvj#6+rRv6xclZSaQNsc zeE9wE!}Cwyhqu1^EAWlqco(L4SNhSP`~`gQmw$$Ib_5&9k2dyR;Yvv49KSkwfllRH z@UQ)k{t?{1^9DS7^aOtLm*0ic=TBLuSmG80k%Iy*PoJ}6|MKDh_HVt)a%)V16zKG# z;EBu2a}J=Wo#@o$1BHpK<_R?@RG|xHM!u z-PpOq{Nse2=(Aage^Bb-Vt;KpAmR+2^rT~P%Lt`^tIFsruE}zp4(@|#%_ax6IErP( z(X?=Ye%;*Phx*}Dbb0K7W4}yxE2HmIzyTSKl(l3eE5iN67w9v2a6CMCh_;ONJQsA;xnen?uSayo%v5D7`HpfTdyUO`FKUlf{oUkK zhMGCQsx(`Mna@}cZbg25(M{*AR{$OQf2l4V-TI7f`y9H$x_zY0m{~_J+{XE|OU(glA z&e{QT5?x}?VUhhmCR)ujU(#F6OFUl&4i4{HflHF_0JwL&(lzU;ptd!8nX_opng;w_ zHJ^hdLu(sX32y*NjLP@>8fOcg()f^l7NOFiGXj>rj|d&xx?4xIsv5yDq3W5=?`bU| ze@3r5x^j^}r)SlrzcNeO&Z~1y`S;WVy~9iv2;apMCG>T3s4-BPMD3i9uJ2a4wyu!z zOezbPkj~jw;Kwn;Vpn+Py=7-1bPxs{GNfnI5TPuGTH&^re}yo1s}q1B=i_Q2s1J zPLp;E>{SSD05=PRL~%08c#{3?ojtKLf0u1}j4$`ro!`G?Br~jJgLa?ePR_LK#kvSM z4$_J{8IQ`SHhDT!EAl}Gd2g)zGz%QNj;ad=n}kH{GVX-muJ=@BocFYmzo+YRdn+N; zU0=WQl9g_QRW}&K&t>n4Lq0<6%vsW8ika)m!{8Z;MKqS@Xdj2_c#FA|9~m!cH5+$? z29RZTqA!{B6zC-&1cz@9iy|baLl>@4T*zxW3vSKn9jAR;#91;hLRwmVFfV^8ij;DM z-k_3_7inK!_pX1Ys9VZ>+1|MglHoGsfzHryLH!RYo!@6!WhF7zOVQc$S^IUFV$|8D zXDyX-$320qWO_T-po6HTEHxUxQ;OEToU)pDnZDg>d!wlQlCm=BxdE3wUzYySQ5>5y zE;B5vqR#|3d<1K7lFz-jsGNO*fR>oW0cU8;8V)22m7GoF6k0_?(FGbDsca+}-^jQ) z;lAhD0n=FdM*)(SF_%mg%6g&_sMHgivpL#1czz;)kG#hvG?G!jI0Foqy;VM$c%{+{ z_c5jn(ZNzWpDa}(eEVD9g0Fq;J$UfoE}!Y+C(q%BfAvH77gK7F6c6vEtN9zwf34>&8AabhNw2KwcY ze`UQ=f>0vVWS01H&z}0muGn{aFKJ3f|6WI{Ugr4qmuct`|5?sw+yVQB>V(zGD}V=K`)(JpIM%DbGP;Wf2f0ygG3LMZla_k-kSPBt<){72*<_vUn4p6UL(zoWx`0aJ3AlW|@ z@HC%;S67LbQ+CPnSb~qJOfWeNsid>PmmN0abr^5mg}n!FONnBXpGQwWhO6U8Tpkyc zj&df9IPIfW9BQ;IuklOEDrz~~S2F#4sdvt& z;mk^MsB`A-Y?exddm4g{q6CG&zq&kP{+S)FITyg@yaqfs5k?fsz_XLIp;XLLPzu| zXRfDl)BU~e-h@iD`wMTtgMBnC zBTc^do8N+4NTbisX7H0Ae+Xv>pTfaB!e4*)ui@hGIWMcx4YsX^3#5BFxBVtPI#oC@ z9M!XG0+;(A(I4b9>zg|QGkoUk6!HJ^7-i)tI%dyhYzIGDH}}^j9SHf(5Wi0W65D(C z@!vJ3&6SlAJHc)cFWZ|7*1hI)E0qnbJCTk>`{xX4YVANyb#&ZWi-&xw8Eu<^w3ndZ zH4Y+bBzwEzYEw(>cqY2Py1wCz%M)A!IVjoTOPS?u3qDib>#|)Ts&YVoB?s-&@)A04 zwz3|lk8$A1Xuu`Z>37PAr9gz)Tq>WGV;5Qt^y9KEA?SG`2j|lFE1dltY2WAs+P(dN z9qL@oi0}fL#l`6{2h>p8jdpUunekSZJ?Pm{KpSQ8a^(@yXH|C6U0_NrjWmOgobFsf z1=qNe4*PWxj7%fD)K&)=G0UH?_Q4 z+hkb+ZQ!6SmVp!`#^upP2D6-CeLW<(EEQg?54zHZR;!_VoK-%tV+Or@STz`{!o`km zLd*vM% zA zrTa@k1C@f7w4j33=QEMtsY2SAt5RH_9k6~SUpE_U#udGQDh$!z3;&;ezutGb04VjT z?5hg9=s-6zNM&|1<$z*pMiv8CMc37Q6|R)TR0zoW(1I?ocAloeUj8zLMVPrR!*D!i zkb9$0+Nxlw!=@4p8GMf6Mahoy!vq_~kR}RDy&>JfaL50J!P&+lY1}lcuoEp9GE--gR5pRXque8Vm+Q9c8JKf!h6#r zm%go~l9q8YOMEL;VZcv}$?eVeh)qmVf6jYrv=lv`Fk}}}o-g_JW3hQC9RPiT%{fDe z9)gQ(tr>`+egrT!*eKk(j3zTIn>+VdEd`2|8VN3IFwr;dm_Vq&FK{x16z$(ZGabeU z{gSY4Aj36p$YFO>d~TqJ-i*N|LUOoldxI_`2JbYF0B*e=mifXIy1d)-I^|sjqvdVL z=XL34$6>)Mi#dqeE1^b@U7jY`r|V@9WIo9e!<1o5Wtz}%#(fN9p4@}cY2I$^a&M(z z5S+ArsNmUd0S0%OcY8CQXv#w2l&KX#H*~bg9eLMJQ6|LA)d3sEBjl`MuRNp+exUM$ z6V5cUp~!J@_~H>7L$kgnNQohSToH2rMj*J%Q;2}pQ89--bZ1PHp!O?3`#d%ky zoB=XyV#xeBNPk}XuECfbuoHdA{Rpl9J8(ZPU?-S4$QTw;GI@Ah zTnjs`DC5Z-zR`gRWDAt36}cDaRa)CXGoj{e^vsNw40Hr1ijW@+1`dv(=SV#>*Wk{b zeTLb=!7-ei9A~4ISh=9w)*hocp^6}V4SA1*pR7IbodG0I2cmgeWl zJV^RjjyUK-bOO^gl)2l0O7s!RK8>aaB~;KoSr2;3ex&gk54e23;+^)W?z@~D|FDc} z%SembyP6&vXq5>Xmn#$`zN>+o!Q`9pYI8I-iYyt2h5qCvK@jO&VuoMl%hmT>By2hY zJ~uKX&nvw&Bn97ijXR)TzMKOV`|%`3M}le34QF7Hlb1?{=KV5oH6TI0oQ)q{8ClSO z5dJk>USoQmPj3o*661NpZ5FsZIMKBR!N@HPWT9de)qaC*#xVdVTS5i^jZGPu+V`9_ z3^MGoLoquQIm;LKTk-{MLBwOI(?IvmrM1bCNZEB-ikA2iWr&hPoc73>o6BS2SJVrb z9M)(IBwl72d^2`ZwazYMINGLr4!y=>91F)$4Ajz(?l^-uz-b+nsaRf8Ghdcg2FvWs zAFr*VQFhKw&ztKjcBWNe~bC<`Qc-@Jo*GKj-HA`Toj9hNUfH> zZnPw3ER`63k1|tD&*hdgS_(ef4O-3&yt=q#;~sri9Ey^(Ji);@%M+C|0TUJIbW!+`W$5i1zk<> zcP?w+cgf9SgXg%qIAo^)^=bAjII3O*P|MTqfD-I0RcdI>l%YBrO63>|mY~;kGUs3p z!qtoOvlPf+Fi9-MfvLk<^k2eb3SdAXiB6MMG@9>1AjdrgQVmAzaGRVTL6}RQWGXLj zTQ9Q6RYr_Zzk2o*9q4xEx2`m z9i0A9S-0$Lv{IXDk6=7O>;AoWUV{g_ zw_$B_58nFX+wi5=_Td~K_~>sx`d zV0MN4YI4aLqo$ivnRTJ{A!qwes5J!jfg&d-zH)j^^FNnhsuTU7<>EzT_xB*=-f zY1fe6&T#&AJ`g_5t$wBwJWBu0wZay-Qj;nt#P-mL4nmbM*onTvWq`dijCp&Ie~Fh+ z<~V&!&TDcu7sgA{{bK8EG?2zwoQ+n#W|LFSUS7s^P@of4*;yuMBK1?JmPI%g>DaWM ztFu#t#{sZAot-Ba2fNu?7CG~l2gTq6az zkuJ|Vg(4&I-6cG4$|$GrOsSHC22)0s9daM#-t7wKmdBp6Tp(GnOf4I<%>n5aJ9plI zw}0i^u>0UPJpJ%9`1nVE0hcGw;r6Sy;hVqv--md52!HXtzl0zE*&lOdpH*}slOvtR zJbm#Ax3szS;6A+f8@~&0f9Wmw`KM3e`@jGDymo>Y;SSLoRfZV_(xHT>8ZHq2l1!UY z8GkMRZ|B-4L+Gs$RjaXp9XltejQ$SKg^!lQk({~p;2mgIcHrbOI?)dv7nNq}*An$v z#=WfX>~n>e6Lg|W0FL06Rl1R?6lbiXNbt^3GqUXtqkcnKZo)N}QKz;-lj~E?1RpMM zh6&gord{4jX^M@035buxEEFExVbrH8w^*Mic%8(7-btf&^7bcpMh;I zAAcy&qBbjKd#4YO*YAPhi(Ea%)EWu(!ppPgVEy8=Y%A{`E+jhPSH~vm;lj8a4ZYL7 zEa^DOZWtY2hwLQN&Ds4dCANScQ1FxZ>MG&_1>lfexHvn@_dIuArzcNvoF%>kC0Io$ z_Ey5Nwje89cyGCKn%vVvsbqrENYms|T6r$U?tFz4(8>0+MhC9s{{Scdjn6mE9-*ra zkTuev-(elp*<-Vgkg7FsiKPX;u zm9}*nTYqdi-MhW^jGue1eF~!Htn@zqj4|mRo~XIta(>9{OLQPkf#Oj ziXL{kdbWLLXKcJHZ(Z%){Cq57(yB}|A0s{8##FI8JD{>WHQtr{GEsvks=b*_!{lx7 zJ%Me#TFTuHob7Igt7&g~UcvlR9^_Hy0=XY|&O5Nop`cVw4eIi%*LxsGa%sFGQo{tHF)CeT zYfKEHZoVn_l^3MxJRKs$Y8NJO9qWWTlE@H?BRFj>?i6Ks`d)BUqI+|fXV2ZcJjE+& zP$DbH*okR+u0+F0n4W?(IAkyw763}~6;5h?Q`NnybbG0QIHj>rCcPslGnC>d{a#|i z>30)##u(&zkK|ss$;U#FF~K^|2R(a>Hg?wiR%v5diEymj&Lo!F zLQMm)oB=vCP{B=e6!YFHL0}|NppMOx&?Oe@w(PD#Sy6g6`mXoZD&u5f8?BG7D>Ex7 zp7xfYYURtIdo5QZ4{IIPq@Q&3%3c~4$9q6O)#5G#FoE@XH01bn2;MsnfOTb1B zoNJE29k1n5V#7fT2QQxSMa>)~qIkz*-_aBXLv;JRX0sJeX8Mk*a4JoJ&)N#bW*Z6w zP-kt_9>r41J*40B*HqaL#T8kHQU`)_YWg+OJCvNy|7KNWKg~l7$FxZMr zqWAgih664iI=9Gi2x%XNedM?&qa$T=B|Hff!LLTV`8>&g&RF3E4^prf4vA=cAfT4nJAnIWF^~Gc1W+{Hl1NA2dDa2&_7bCK^^u? zGb8E$M@~@YizS7K@yS&Sa&(c`?=I_!;pLK{9o?iv05EQwq75?RGduAPatTYQV!u@{l)9XwX-++a|_wXU@r>VqVlNZAeHYL zuaoZ%8gW9Cu{Z@jK$~bTlSKq@&2172{ zO}!9rt}fw{9IUe(P(scEax(1Rc>v2>_h4i1KAb)O1poXT&W|4Rv%*^?6ViH*^Sb#$ z*>IMe@y5Bfd9gdo5;>_GZBqi`1gCP!Hwahi#hu!0sZPn?YZbSH1U67cY+z&H8dujL zzC`D8c67kbIOymLnJ>#F9ul7bmA_)J6DZJUoK;WlZ#at=o!&Ut8X8im1bi4Sr?w%K zIZI`k^WK->{u}pTEu6y*I{ThKzk&CE@ME|+dIA?zb{T2JE>ujd%?+HPgL94g zjN`sHx3}Qd-WIH{Z@{~M_aDJGUuobH(eU`_7%oqb;RN^nU;P)~htEFv3tm$bj87ZY z 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

-KstMjm^%t(>cpBJ+h=| zdwLQ6G`9CbCDRpzIli)RWsmG5L6n?#+Zi&n(^{YCi3U#okBX62S3yXH_#)wF*g-Tz z$_9CRMrtg|4*MY4K(^>`?4KYoM!f6#Srge0XF;`l-1j48pZE^=MDj6-S z6u#ah*r`q3>F!oAy$JmQMreXhG%g?P_R^GFxVO=_#eb}#GR>_*bzgLQYo47UxbtH2wd)1c_t>faOGuVr@p#h*{w(P>OP$Ox26j0>FE>U!l_ z(Z`wyL+@5;?+BOX09%uBQ+48g{;x?}+mkAUBh#aS=ID;JqRZ&}BOMWxRk?+RwTs^J z(YcesXtI2dtoNr}*-+ax*SN!;H* z#d&$1WkkY}8tL(p|eQ8vQdOPmQTn1FYK6a)woIXW|WG7sk z49`lGoPTqbdz(52tg+9};VYt!Jpi^zg#v9w1Tl~bcP)W4qunrur?1Y2^O2%jf2AnRrrp*fz)D_G9g&u&TScSIIees;H6^VRk# zO(3`wSw(b~{;onqzGfyo{|5Y)xBc3s(MAxPJ7Qg_&oF+W&ac3?X~2D8#czw><+EUI zNAH>{#T{8Jhy5$srvP~5o-X~vMp;u)y`cDm*3|==7me1_uv6mjDf&TkyVwno- zb?+-Lx6sVWVEW_8%1rhAx5gj%-q~XXgv>xW&c%eAO{DOUeh+`lSC4>omDK(#O=_zr z_Iz%8^v??O1SMFo9EO;{HY|*HN;SQ8Z|YRiFzky%#B+K&F$OCU@*F4OUlI(q7lW^c zxrZctK&f%%S)|Enk5ni3K0^oCg5v$vSnq3z!Aw~Jx2$%H{m5buFEsj4QMZxPpUH9l z+=un>Gevj?mgVC)1Y2_D!=I8HXI<&{J||93UV|w2Ry^H#x>d!Rsb!-QCu?nj+GKy; z2Jv%F6;ea(@4Gz!(9~#9v?XMG{3eUNH{81U_0q`vqd!e*OUeTkqkC z>h2i8lrnp4&t ztBQ_K?6k$+B1y^byuN8;19M*Pd$CgKKwotUoEb;B^Ufs*RBYdn=w58=vCC3eK=@Z| zU!Mi!Rq7Jd3(})l$_46jmtKZrZ0yYu4f_A z|0bA{`vichHE`DM8HA-6LX2+kDZ!ow2`&h*scxmmbC35HHN0mBq$^qOPkK zy1or^h$v2^2R8b_RKI%ge~D0R9N&Mm*})I<^p%5OJr8>rTdo;Ixg%4Zu4O2d-N|UbS==x=*V z`<>y0r<(YRr}T%O*qRQVHx7OG&jLaF){aZtZNlD7-t9YLsg=Tgea|VH8E2=LxVso?=mm1drQ{5Yp!vh; zF(kYGTGxZG9%W$-wc+cl!gw+BM-bEP_#c=6(RRvHcHj4pHqI$K1{?QSNA>6`Gw%MGXV1Ho$5Yd@F<0ib zX5(p&Mo8bHWD8xQHV`rdT9X{WoS^6*3Ie>&Ew!m?^v=rQ!qislv5WP3>|HXbwJc^W zm>n(WQG#2z$u4khT5hE~+?`P`kGxc=uu0rk?LEj*_;N*_b6t@N<^bpmv<0}Yu!&up z6<}-tlI=^kzC7nU4t6F$=CPcPeA*ZUXFFHISo)do9Dc zE{^PCs}?AtGj#Bkg99CQWf@fzR|(5ZD$j?tgu!t4;?#P*6{ zV8O_*)*vk!AQG;SfRPKCG)}UGty9WEGxazn<~R=PWOf3Wq0%t6n$tlg+pR@dSB?OG z5~sN-;w!(dY4&eayTP2>Q3Uc?Z9PCaEP(|+gN6A0-72%ks@dG!f2^JiQj@|GXuU7MRDScT;PRT`*)40 zT7>FLur;D4Y%rsi`j3p34K(_+bJn9o;+fY(91PV)NJojZUkDXG0vFPLs4Xz>%Zg(& zJ-~;>#?_?b2D@2mN_HJB$|`keKAv@+z@$tYAAcw;8Z{W*IQO>R_mY%$ zEY(_4?#f%+ZI#rpaJhhpy@bN#*N|PMi5QTEtt<9a#zRH(>U;3+b5dPno4=k=Nxq%( zINA`2*-3h^@jWR5oxS>H)oRFsM;d?UGh*?&)+1l$Y{-o5JKVGfyo+9B*beb;nChMP z+M-{2(y$6tk5I~;Qp9W;Nw-aSaf`Q6s4c1uY}a$gjr-(%?KADmiD%bg-Dc3Gm}itpB8m}sz-J%W+dW(uHhlLsLrKIs~SM419o z-2l=dPvmcH8#|Bzm`RYq@th0*|FUKO_>Th6Z}a+&8|oT+^VseKy76x9C9~}#?o{9;kb=w;t{%|ivKorfwQU!`3x(ViiA9!k5LH|p4-$Anu(4_J1 zn)k|P7Z1?4Eousj%AR`87Ie3z%w3j`cFk2}oYYD1%vg?JcM5gJ&`TS*qjj62C-88H5 z^D)63@Q`tKf)h0yq{%Gmvt(50ZQoa87(BJA9yBYBh|xnx5%(5}pRY#{Pkyp0yN5$c zGxbc(SsxKZ3sTz~KSyHQZWz)ZN^ppEzhr%x&l+RBxZ|5F0L?!~DEy({X#MnpwN}|5 zxxs=zul`bIojD3H5QRI}Y^0<`L%2kK)VJ@7S5cduDAOvGpO8r|_wL~T%Q;EoX#(2j zogr}%>hF(|MC~GFMo^H^=@j2Xp{+EDhrao&7|I^T`B>t3?%Lmr#hYH?!U*swX_uqP zdMhfd`Jq9bZi)E=<_pW$L1MjO9piF;b#L54yJ~t$n5@Ptr8FC-c9luTZmoTpT@9(F z)py&F`A_+-6ybX09)q@yb)hVBqx($9{otTP?QbtPLzK3b>TEUl-|H->z4=zPHyNYa zJRTuPvf=H92Gz(a$<@v8;wOUR-%J|#zJlOKWjL;*$50%a^1_&)g-J8)@EpDfZsNku>)-k-=n6Z}#P zzBHKhp4^b_$vy68A*hT!s3KrCi_V;xy);ZV>^9ai6J#{F#q-K3*zFZTELHm_ET z2{}@>rpR~?EG8}vSm}uZLsU)pWTsK3uC|`QMC7rYbO06b4dy;ad*OuWbc&l4Mh~KX z>O?mGLsQhyJFSHc+P8i#HhLMFZ~wd4=tD(4^b)3J=^ZKQI#5*3kWGzWolfH4Q{p{_ zcpUj?{=uE?w87!`cp|7Zbr8J9sTTJIA~<9#yk zQUdUB`Qbttqz6X*^d;=>dTp5pu*P5jZ&<38ED@CtiogDknX=`$HBN0wp~zM#dl9e2 zE2zVxv;bzi!{=#H={+gs`0EAxk83YYd*?;-Lrn=3NKP;QBPXW`VDjPs5^e)%Nl+R~i+BkoE=>bLxncgOU2 z;H?YHcn`+wKZ-K*+y6!j8M@O>ot@9j4LvFjzUXTDG;?RG|o_~rAwF2qLhR^X7iY`WEia)uB zm%vNDjHD-H2fbjY{Y&QZGwD!YXXQH!fGeWkql*Q=*iTB$4Y`0XJ9&z=-Z)Wb4)c!CX>X;i<>45lb zGek`kkkA?w6=P`Pt!(rx^zDrIEk()%Ioa?b#1u77Y$BqL`)MIBaxPanA$Dg%U92B# z-swtwwmoK?G2iy%lk$#W!{phv8=Kz^+o6A@(HO4$q$nrhtqX)-tp|8F0uyvlh8bUw zYUD$HEM{NO?MC3fDiHN;uUbMoBNrDCySC@pwp+<`d6;N2Q5hMGIW`o!=E^sI{_f*y zlE!mdwb8NrG^%W;JFri!eihX_Di#8&^rSwY49%|p{dyIuj+Kmfqv2(s+^T8PZb6Sv zX=+T>*yW=J1Sft?JVPMNI_Haykyy-*pFzh-&0_xqOxx*P&5ZrdxC5)|Obj<_rSzQB z;dmKxLms{Mcfc>DjLjUMH9H%XI&WIYuLMMf;wKcDY>y*Ia9$?j=i2UwT24}a2^5(u zW7=MCTSW3HgbQ6Riqw5W)nmHP}O zx9Se7ma;7|{WfA8g{5_V}}Cep$!!EpL1T5zH&-K?0NM5tM5^NQefy=GuSN zc`bE9vEcQpLPsp)BlsY$5Nr(&l&kzSAGiKD4c`4PXnTkMPI2Fzomt=Z@luR=68KG( zaO}{@Oiww`AL`2*+a6f;+XrW4X@2cw@pC)a3dL`&DhB6olO!e&s%K`l(ji^Tq3$yk zN4?#l&wKIORt<_DOtobFYhtxFBOSa{>T?fQbr^)zNZ%lB-h!|r0bPF`)K--J<5Y4| z#%9BtF!u?cw~c{T^4!y$Zc24q{YV|y>$Twv!z*EQS8cDiq_4SUP0X&CZ?6kP#UZju zS8ZzY6RTqvQ=Kk!=J7iiuJeigSw4fu0$z1pI0M_{s}u_WZiBkhnIuYxIfS(x0rP;V zD|-icpcDUK$gWk~Zs!iHsQ1C#x2l+VORYO1!*94?PF0cuvD2Mxe5;5&zC-I>=m)U7 z^#5h}id+2Oaw!Q$DRD;T4-=4Q)vyFw8_-v%ZJnoTf^5hkP9wEJeeRnRAGrtXX+vwH zoiT46WjIAzNxPxdY!?+xTk!)bRnyu8H%7TfZa>>Yok}`q_5d=1i&1W^Ndw~fs=p$` zIFcQ;T0mH<#7h7N7?aC;e3~UaAuDHyfvqBlRyq}@S@^9MXKZdB-Cu}av3Z)1%6P5C zLw}ceu>ZW_dcg~ZR*u(KYoCb#;AwUd+w6<<`6QndUx1S?P zv9gv5@s%ho z_3&kEJNZ)I)S^s@;^*CV=VH$X3RP3;Zm1bB2Rx>-oMyMW>I^R!o4PgXUG{g((%0v} z0dV+?ctp0E4`}@bw8I+Tz9{FY=c>-TXI z^ei{62~VT=iLMukVl=QQhU@5&7y7 zBJf7?#kkY3>-1aWA)aWw{@hvP%tnH^Jz#+V1{iMsXp&xGz)QC}=l9@oUECqsJ1SAi-Vf>)Y$O%H#*UVfshSOZ+UC9A}>n5F1yh}NZv`XdV z72!`3lsZV(+K-|f$iA}x`jy6;)&X?i$8Lu=4*6(u`W$;(87B6y0lbC1BVsroP->e< zE9fD_=L2aar=%n-QIdZ_Dni#N`C`J$;tboyWmDowB)>9sMtPxmdbHilJst))f9wE^ z*X9G|j2>}c0sLgtRVw5KJxr5y%FvWhtkqicFhh6hdf*J22Y+MjmDMKW5oI6`4d5W$xZ6V!b2j%y-cZ8{*edfvUkkdQS^&Qul2OW*qSaF@i zaY9xy`G2#If*TWQo_!YUd8;>{vo~7b-Qrv9j_llCnT|c3rBQsyXaDBiH#N!Rxc2#$ zxsH+ecEu#r9(zRSb}MHBd-7`^mmBHY^_*YV>ADIIdmg6TmzVjesd7ao%t<14a)|eC z2;UkT_6lh*$@Hq@>bL&}Cj8lczu7bD+rPeRZhL*POR^!) zX_M{y4fR=}oiKuldz0G>?rYah7e0S`v|Xw{rUg>VwzZb}VuM9k<@acUeje$CJDrJ{ zi4^>Ejmh=NGb=M~EsV&K#FrOPu2=^+MOKa*mP5)ML2Jp~zHG}9*&djZ2 zUUv=r<45G41OTti21Lh_WR2r3deJqC0Vk*UOK;1VtF)nY4VU+n`0Lt0qUEW#p{OaTowlJh9rYoZh;5I5MSuG*#Xh1PLN)lTUU;%|JLb&ZmAl8J=fzDpO=aS zSaMeqPOMifykcpBYFWM40Q7D;2fZ3A*!C%NAmm7m(ZdjhZuj9&H%~NLb-cv#9t9(d zX9-wKZUq_Y=h{po{(S0z_A_CRw}jjUXA_W-6gv^S7yT4;(BE6OIc+>;(^T4=E0GBZ zA=VEoMo{hBaJT6}A}=?N+`y02GxT&%#rOO|NGNfoPj z-2Jao)YraYp9TrdFCE|B9SptJfi4ccH)^wpjJRra9Dn-=)p5`xmp9j!nc6i!6EfSE zJR5s*x4<}7xA){kwX`EHOae=5p~!GBJHsd|n+Z@W{@)|3kHd~zk1{{W2bv9RS$|Z; zt+s}`+a8m1JTP`4p|gE%ha0Wt-?UZrO*Pw4W8a@(zj;CCp(}0aa`wZ!u9&G_mmU93 z)S_q0+KOy$q9)HRvH0#2WncK68q$5nq#rTA`ZcIg8?HpPfbst=RTLg}=XDf8s)Lg22!5TB<`fQv6edJu7 z)5^f$&C%-xAtjG{myOHXuF`y8FsgqCG!**>Hiv@DcUz`HebT>Y{e&gc53E(1(-)c8 z%nvII2?|;KDWKqBz;6#TFuy*%?xyE6xIE|l!`oCuL$rq z1psj#s97FLC#ak(vr0k8ldSC1$5wBt2rY`w2O;9YOJ1^?qb;0n! zBa`jy5a*tmSk=_V@UEmg8tR6rgK*76%XAtg14XmK|Bs~)>2OFruOvC-j0a3@3hHlbe>+O zY2LCp_hCw4pgOoJuFzB?Q|9G5uUA$q7yQTP<)uESUVm3KNn)GS*n^n5B1`WT_9uVX z?r0-N;gOn}ul<7d>{DHb3m4FLmK#1)oSwDp-LvW@mDL9sa_oQk)L0AoHI$Uomz3}h zC~7zmk@n6$)LmN&lkr>2}*=Gbn$yrp(d#oR0NpJLeG^9J}oj6&v8lcv_r(OtWDKf=tnCI`&| z;ZR!$-)$r1o8X7bc35Q*xoqJ(F8CW45Um1l1x0{b%w9?c4*rDch5wPOI*W1qtRTql z1B`R-nzNA}qqj<(a!m)GPc6vIyzaL~$AL%OPqMS7Y`{D3wZA16XR@aDmgEX==Jz#s zZXXB(ruB7z;oVCg56}=s)DgU^8du?~ z_esus!XH$4@tL)1j?AEyvy}VJHXu2&Z3O3VKd=I|Qx?3$0n9RA40sA{CrRIde6zp| zQ$h&*5xXxkD+7zy|8h8+|2t4pzE}&WuNBCuCAL=`ICW>z1OJl1+5&rb2^3Z}8T6Od z*dnkOT-gA4I^cEzElGZ{Xl$#7cSsMo1KROhA;pRhc2|yyFOM_nss&c2@nXaBIr(aM zn7-*y3(G=?-(yNhlPM%0)-W899s{_4844ypn;uH&PJ~J+vKj7AN^Y z?DR$ZKl#_QEcQ&!dWCzZemx>By)MQ7E|#@k2#SdMc>A^7RO7t5^(yVCQgXoGSq{Dd zw!X`TPtvKfG;O8{dYc&2u7%#*5WGXNrYIIC-hL5oob_+cX<6G&fwpxR|86Y(ko+5e zFZimQGuxEIPn|VtBuQ7TL)MM=J(1-1Y_fO%tO-|_e8_L+W6f++V>^r>hyJ}!FPoO~ z>Rpy5pcC%&@~#8{wW1vX5{!mOW+a%gI~mP=n3(-uy(uWDhT%<2|IJV?PP&I{%dHZ; z$xM1~h*&n`yV+`;$!-4?{b7qX;~^EH*msa@jQ9sOWu z%Ne1^wZv+ku&>jdx|YD1ti@D0eQJR(;i?arnRfnk)-8(S;s7i7pYGT-D}wd^NT9xg zsLA0T#fD@16`AmqwOjC87feNC5A_zTdt znXZ36=B-9>1z@|;%)646^hdn)WlDH3o0r>!Itb{pJ6g)%+($r?y}G#>@L1CW^GRpY z0hxD8X}GNc5Q9{SLtJoor0gq+`DBq2;brE=kk13`65>lQ>!>f5Jop8!E&J`sro;Pk z6mQQgmjJp9Uk_%aJ&?@zo;ram;r=z16;%0&i zaFz^-L~dX`Bo`2QpT>aWLbxzT3J}XrvJ84qghq%jIRNceIL^;&xaEbZdzoKOJcTRI!>b z_nW6L`kxfL`On3~$MN6&Q65hWNxxQb=-@wsXnvK)w8rS)ZuV?Sd!2Oc3+gIxWh8Czau-Z|BELFr@60Gm_)C2fDZR#hyFv?W*pbWzqHWy`Ow( z^TlMLLV__vJ42j?=ku>jlzQf3{ohU40)>`6hoP;w(_(cYHCs| zu6|Dl^iI=>pdCz|kIm4h%&cw2(ZM`^unbqqAhBipa+pew?^n7s;AD{Uv+ho)%bfHN z+FH5O)K36y9p3DOd`z+INIaP8gKrA0p@%=IRonB=Jhn*P_->fJzi9!-e_v}m zM4#;w56ufJ-XX2`*nM*~E5P(c0fvQMfnrmu7)PbkpDoJPd?_+qV+&A65`!^PciZBx z>&}GCxss5@33UQJ3;{5a7EGGzddpJ)U}usJ2wn>Vw5+iIrO-UkK%k3_^H#(wSDcAk z4$x$FNonv=O!lunVX_gZ!<+5Z)FCDS*SkOBeZL^~_ku)<=ofAE?8Wt#lMTQ4*l{GO zk4p-e*a`$8ovGozEO$^h!8nLl!Rsa1powHWZgjWj^w;Zcz4AY5`5wI{<|%TQ{fiwkk~ z8#BP1-;cRzPho{%%$#Qq^S*$H7(J8|a1|e5XirZbV0DJ+PRkyL=}sPg%6BgJR*R`O z?;9r*mZrSpxAJ;{ZyZt$h@2w#EZ*9WuQicqts0d&4_lVcp;+!=)F}YWxi%EI3aX

#BZURfd|b4seqI)#yS(YMsz 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

dmVn|3E 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

oJd6d{T;=( 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 Q`0tC&+c#Bw7XHnD0G%9=*#H0l diff --git a/unfurler/src/resources/img/mining.png b/unfurler/src/resources/img/mining.png deleted file mode 100644 index 6a2aa1b41b3f96999ebfffd078056953d63beca7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621216 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%0AMP4+_tOiJ z-{hP^9nOFY9SpB=T$86BFW^>y&1|Ys`rP?i!)8|2m}Tf42CsL~A3wf$lc7?lA()n% zAt!6Hj-Azk2}-_fdkk3nax~Sb-mTx8 z&-GT3OOtV{M#297DwI*TMsnoLy}j@#eX~YgW@7K6{}WHd?EV={)m277euUNa@6B^h zSP8c&g~v#Wf;v|yCpL+m{`{x3O@$F+xZO`rZT%0$Z@3E}ypwzTe8(nyYn4cxfyVs6 zkTIG~I#bonhUbV#=|hnhzVhoxuS0N?QakKZ)?pLG$|G{2vDTm|SJeOduJJ9S(0+G@ zJK1ro<(q5?@qM*W=!-lLmmYL;DOvGB5ew%~ndR1bXU;I1xT!Qw5vngk9lIRTHx zYaSJ1_hkNI`H+OCE)19!7gLgg{H#-cR`I$n^-^pe&63EqJUy>NpY!eYU?k9glVh>g zPk&&JnV#vNS<{kp8wUzXJ|y?3{q-nGVG)?4L3ri$==$e;QI+1si1Std5fobzo_q?b3zskL0PNifjN_uK`J zv_K;otFjNIfNb%@0bjvbB{$kPz4)B!nc0$c5tR3yRY>$C_YvUDNBwpa(%0{y1w$qv z!v1(}ar?#Hrq;43AROuV#fxilb}|WFtG#zzBjO-gtu#};C!UcLC7TcQjs#lOWt6>8*Oukb4yS=PU}v5+MY;pBUg|#1xEe-9L$gq_9>$2W+YbqE_uVme>OaCp48y_K1!fHjTg zW`8mR7KKO&H|ej0nzVS1*_oeaT0MX@*u~4Bi^)HQbw~+m0+G=Nb^kqIm0oSs*9hzX zBI?9a!jvN@Q32-#2^w3D8j5%VepUcTDIZ+U@|OC9TU2tDVg5>Oplv7z6&IkbB_d{% zDtSIT1~ggXc8!|ZyW~o+*aVZfAAGaw`04QeSD>QMqFrGSe`JNm%rGk#;PHiHTP>>~ zcyv+-4sb6M`^MM#MY_%i51gDDV~TG6c@ECkPG_d27>QMRls`pFZB*yGHNm9j(TUCj z`L^Mu9qNZG<&gTe#bEDkNp~EYNI)*Er8QEmHfIq6lGHwE!vr;?V8cHLcinEU$NoLs ziVUC&W!&m_*gTneUig*LW5wb%Xj<8n-2++0c=ZyOO#P<85Hm~M@LNj>W6@LLXg}g= z+vw?@-oUp$&l)32{0e;wHDr*z{i|*Oiuqni_1v*mk~1+pUEeWX>`!soA9EwJGglr? zOyEDVL|PS}}gw93%o2-dfCMlRg;U$2gKO=5QUw+z;z zIjYzg=NsL9l|316&f8~a>o3PM$h=Rm7^l{`))**^F42+idyF>Y>-nmc>*SWb4?O4P zA1<=8H*ofufPjVE_QJIKHz6P52Sy`-U6L~Y{SpIWedcKfc8$C2;KSQ{IwJGk^{5rY zx6OCQjJJIZkCKgB7||wSdYrC}xJ`&q$wc^kx*!4N>;3xt@C2Nf9)cP9-1zJ+>2JJT z^o;kennf^|x5JjS+wNZizkd`^W`9Q_8rU4xJvIL;dV2=oHALiyTG<^_qB6CQ zUB8PdoA7HKZJv#7OZj)TZyt2WEau9pAoR@MGT2hRjh4o=6P7m3zwW$ktB-0nF(ggp z=Hur1?zkdg=*~q?mK?;+wBl;P%H6Nu2;5yie(cF!KZT+1`Y9uYzLk9BYS{sX#pXrI z;A*qN>3v60&kLMey5~gz@5k!+zdVV4|KmaX=i#c3d(v!JNy*jfY9~K4_l>hZPF759 z>1C-$`8-sidu zc$-@-;AwfD=Z3=!@HGpM0Ox2=%%GE~8uny~tc0~SBNENbXKs0Lo$}l(_8kLe_?4?xP6?9zI2Ii!LKNkWiJp{Lf z-Q>s1E*j4RDM&iN8oa5Nl(`X?gcOJP56%FNieYW^Zoqz)yHMRh`XrSDLdV@bKt&cB z2g<4tUw75Sy{q6{U+T2vPpuIDT~2A?H59}3bQ5mLEtl?j=hjdSTLMCP_9Rr9+KN|$s~FNs2@XsZ$eB1v`V z`95N?p1Pbt>~S{I8^YR^=$&U*6*AV^-#f1E2^vW&VcuU6$b352g1A}Z2 zx4@k4inTKjh2Sgn#km0gz3w_IqXO=oj~>&)k9$AP{mg|*B<~ZuWW(lZ%l)F={OyVh zf|;&I!o!iREgb{4(iHg>J%9+iwed^uBKFmUbN~LL?Kg&ZiwKY`aJxLBScNT`_EK$+ zAU-J4@jBvr-;2-7TY%E%)H_ey|MpPfYA?08Dgr8TB_AdKh%m|- z`4mWi+GaJ)9^S5hAI^SfBdh-8>$KrXx6HdmeiM8CI>N-rfVHyH+aR1z=1AZXxk4?* zmz&4kkJf{fV=p5x&mA;VO4NpyU;)5h6J>*D4g$~NGf2OlE0Qo@09U{0ehleNh=q1ZUj zzXVJ}5@FnL$oqNidRUOqE64)GHFKc7RK-)CH*bsQ)o^?WF=~EV>s8QRg!=?`MxF#o zf=cCc|A^|VK)f;fLvW7PqwACBH{h>c!J}QR5!daI7;2O*oc-f80pGo)PwNI0Q|seY zkhGpwHy-j-+QjB^9nd)wr?o)_TZFTx+Y7+!tOQ+*>b}_@n8XPM0t5 z5AhyH$*aCA#}|r`*_K`*#?B>Vk|w5Dnfr!gyS7bSbNuv0ErWOgZm$Cdn_GjQLUM8i z%36kPo2i+W z47w1>QF5 zG%ZNk+g{05`=n#k5<-6&}kOmp1y4st|biUe2fWl+H zuy9o77TiZw$jP=XYm64?GE%sPpu>O~wO26B0ZEl=1NZM=gcUn_7&D`XouGim?FQyL zQbdT920q!G{cc5%cHcwzI#AO8K{;GK|AK$o{F z5|`FO5&E$~0JLo|dEGY(Bo(C_OgkvV?$~gdtx#a_1+I8~J5(`>N2&c!Id70M87_Q| zPe)NQn){g3`(?wbIMY;FfG?ExVd}CD-lyN^?tXbku`j~UQ#f35jH6bj@yI%ed7my~ zWy2VXpk+`D6C0e-^VBL080M)Uf9`vDOoC=-_Lvx0(2|mJfaM=d4ZJ%o4LLA6WKSyR zCkVr3zlq{EWFn|~hi;%kN%DyjHt2?3zBHWsE`5mm&5Iq%(}ER$27f?SOi7j=Heb`p zdeEB+Ul%iIaakq9a#nPR_fOZV%#y$9tw1&G)?wYDjq9CHGP$76bktrykr*qTf_Qy! zdJ1Wa8e4fIz$L#7)(^Uhx$GjGZSJT@&)3^<|9uR{?Vn@iZzXwgL9^m8=JiYNgt{qM zYf9LxGL-YkjSDQu?&aAO#^$l2YkUJ-<=~nJyvYNQi2OVvERe^$*u)P8w6h^1ptyuC z2wK@<2)5M8a|UO`VAfH1yNHXy{R{oHF0OvpUVL*_s1Ikv_5|;ZTABz4fs<V;X$vKr6)%-OAK9aSdO zLrK3v;Y^yI8@ASUs=ON=f!~Xkji#7HqYs*o*+xVtq);-+=w3w=*xMd3krY^!!O)vh zeTAIA_!f~;%mf?AzRR_Um*9{5NZf2*oy8)&C~bcU)8(@`WO2P4X0{J&bmdq%yL$*P ziFX>xM$8?%0K;G)bipvU{6xkXhTpTo1j)Z6MOl5=t#3a_l};FO?8eXG4ko-kA$+65 z0?;}yfrCmK$Gxd@hMwd8=9MwBhOaO_LJU2noBRRuOx%qVGnQr7`)8>&3gtbJ;;R| zZn?HNqJhKzebF}jw8&RQrFJG1lJrLbMSTHyYG{PQkCDI53)a`%j<^YH9g1JnDQ~Xl zDDK{}rj#rX$?n&&mP*0l;TA;0z133cv29k+n$$Qx1-Tt3>j``BZUp?SLeM1?R>Ney ziDYqaE&hzS&D!Pi>A?VAqAWCdMPK_^(B#{0eZ<1djS%k<_> z_;R#b(*81K+3TvU;1ZpJ1ZMIJY^ksnV~H#1VQ3=$=rx$w#NFBA4vfxKLD?t4EhiR> z!Uq-`A^*E4c(TD}M_mEYjz7r<;__A3a$bh9+v>VsXLokO)PAjP5UTMVY7Sm4h+Z$? zR`oJ&(9Do4w2!hF13oqqz5#QnszepR8~c`OTGLkX;bJTf@L7ANrm*Ai zm7FqBo00Mw0}CHyVmedgk3+&4ifREMq1vvOPm*VeR`q;uw5LOcH~q7#cWwc`asE;P zd7ex^O3>W0XR!>IUhdAjTFFIq3syXH+H039A>Kt{XuS}1Vee~V4b5Xdy06YKGre-=Id!HzT zKJ#?OiTPah9r2P84J~)P1%Nfk2cVWvhxA7!X)@}KI0i(MLIqYct@|69ZU3>{%`9%t zHL#}iFTfYf3gA(#{ZBNmF@KBxJk>vX0YYD6u^1l&i4dtUHG)r|q9?iU$OGQ?EK}s9 zP*q(-um>ViU#O~#uh&jvAFfKj`&^nJURUuAD}V&9TQEj$TZ4JY%)5lOV;>?vwU-rg zNo}XaBb&g*s}$6+@*S^N&yD2#bdZxz<)%7=ji@Wf#S$j@1T=y}+eMQ*z+CXo)+vt1 z_KSd#lX#jLn`F#eEn*f1=9OP=LLdYy;8?zYuIJsqHVlZYl#lE%uXnJaM6d}=zb`{V zx0qse)u2OK51jc2+Zl`nbd$_ADo%}7cHMsC`YrA47fgY|+rCHMOQA<7GYBX{lrXc3Me{%9z z1_3F4LSifWnmf87$wzYcG>39r+2O%TUHV{XkhM#TtDTBLa{?*dGl6w$YRe=$)FK_v zW6z}IpQ*_1gubs zSl|Zwa>l!U>e5ZkF;eU-kn1h4oEb5X63Q?5O7eKP+1>R`?yq$Kj8kvmkEiS4NSW$L z&HyDmWT&HE4|w`=o1x%6qxT@jMicryCCuE(l@i*PAD4=G91UH+Ahn_LvF`=w1B?g`Id{g**@>dWdD3SrDw(TBLs-fX@qE!0_0ur%;uE_ z)PG!hKqC_qq?**^;T}cbR||-hu_0l_csChY4>T31{azt~fc*Y_>%5M{humYhAA59k z%74TcfpTCQg)Z~9zlZF*Jknf##hk4>pW zmxRcuS7)@E4mLD=sJYa;8EdIuNy0B>yPoYH6|g7Q7}x>IWI9iqf&qw_%`-s{mrFkV zo~MIQz$r5n%`DUB7?sY;5*D1P97Q*a!o-CYnVIX*@|D4-L*-0@xNq=4cm&PGaGJ{+ zrJl$2B$?Nd!05;Zg}*|wJh~-(Kc+DhzIFwQ887N$neWT#Q}JKoAD>4GUtl;EBeikg zx|p;7Q*XPh=K$!=r+oFrRzzRw@bpS>F}1A@nu|x-rf)L zZ^nY*4c7fP#+)j_-r8ry#+X!6bK9U0c& zn-Isr4p*QDCeze-i;Qpq!>xhk^xp3WDkE4-Vgdo9NpCKi;1wksY_<)ttv@ z&0~o_yQUtF7{*m)LAL_5!dhl6Ou4s|_-Ifc^zJ#J7tR^xp-&^_V~>bnDFD8$iOqt% z7=6GnpyRF~-V5B{!VbrOQhb+p;(_Z_0WojW@8a9;H`<{;*Do1Su;P9L{F^AI`Im*8A0Ye3i4vKKd=4U)5AB)QjWOer)n99t%z# zx1(gx>U5hki8=u{LM6hkStdCnvX!p)&VDVovHO?lA z_a0vdWoD)O*20T+L%;s>X~Y-KRv&Aa|2#Vq25K`>0irNOBnjxB4#dd@V>Wwey%-u) z73V(b^p*zN8u@gjO*4P&clj|mNOv^8C0<@Ag|O(f;RIklT_a+v*t7wg_~!j;0(xP- z?yMSGO2?JbplpTOqE`PHNk8zH)q9vZ`PH&P>Z|YCN>XB)782a{UOJvlEX_n0xnmaA zuJo(-p9cLKS?a=jHZNfL^;f=&%pApW>MxDK7|pGg5*7HK-31n21$*U{`#c2}p%ka@ z#GRm*aFeG2zuM>8r>;jKFCaoeJ&?uscYMn$3K!kVa)Z=_tPk1z;^#Nif=H4NutUyh z{?(apSEc~FQDy>oRxx4dTi-MmZl*Ebv7KIieLDkPak2b<@yNLk` zRMpp>%s6GLN_nE}{|}JQxFt$e%Zh)d)yx$ddb^CHLVJIFL`p`EAF^=6yVj07%o&Vg z88%21VtQA8jm_sFfI_!LUi-2x3C>}YQ}Nuq@QikH2`z|7A71@id+m4uLfG&*J0|*I z^s&xT+Y9geh z+HKA*5ms>H3K%cA`h~)}gSMGWX}sE`*on!H&v$V)bu9??>PR5XWVP*uU~A!>WHnP4 z(T9Z>R}F3&Qg5(NaL3&)S*-}~?KpPUhu5Z{BWe9(%q&PEMB*iT;6Vcur??wrIWd0( z@~@Ueqa%HK@oyxvKs?l8!2j9?Yv;{JUeol$3k}KC`aVVs1JBXppv(+2hyM+EqiJ=# z^QVa&){e$u(`yzQQrpUjTh0Y0t8qQ4K;|X~#z@E&idM;$b1r6sht1-5VTzXT1)WbB z@@(T&yZH)*oR@~3f`tU2hodJH4ezt>JUoiJUon5WCD~p0zZii&Y~nA%AkVW&A+-XR zQFGG-865k4dj)wj+i-^GLGr5E_frtt^t&$8G@lEhh!+jBIEXwQ71Q(`ES^R#teQ6~ zuOZNx`T2dz>nnqQ2@44e&dyd= z=rH=c^;h(-7aa!HxrmQ0A^Kko;*%rHl#4B@m?M>f`!0^S%#1QgPk4!#)23GNP>c8X zxFUzv;;VKiVsiQ!Z9}R)ATohsokRz(#U{yk1sPX*W+#O`=1=tDi3%CT!`S6gvFJnG z>$?4j`un?5m&hxpX@8P?h8@uBKP8jX9r&)Y8_09H&LWsrfx-9EHlntw|0|> zM2`ZC&XJC+|A%vkt}Uz z^0<<97dz10~c4rQS@F<_@$RO6hhzc5ni8-#OW zd>@^oo9kT~(GQ^LT*+6YJ34FoQW#qm+$4T=pmHEuwbZP{Kd$pl$zaO%()CEOND`rQ zYI_wcNc*Bn!<(^(ddBexY$_X09{2c%vO4s-)imeagLpwRs=;iAo8V)RLJP3=;dieW zr8?XfC?v+2F8mSu0}!NX^GbP^fUPv5U|s%G_0ZZ}`gDm#>~!TQ7UiJIsl znu5RIwjTt*4O*=q)6ti&xr&p3g+im(q0hdr&Y=?%T`Y`g0DJV>l_-vj4@-M`^Rejb zb4F*K*e+$q!!U^}%tI)RKo^0?+;@9EWM{_SigF`!UwhfyL73OerZ09(U%&DS?ar{g$}pT51WCwFM(u3AQrbFSj1Bt?Sg(#&hQHRd?`mAKS)rGK4Z3A*iY&*kvIyJ9P7tPPE$0Q8( z)*tF&znGzsX&mqyCZt*B|NBwNCdaWRvJGS;4IURSp!V7sf$HC;gB>DX;hxwzc0r>AxK@1kUT~Isk0LVlB=3MGTYQ4Two< z#QF;9$}ZJBH@;iX5Q`Y3|4SbnRMtG&e07a}!+7@;mP?t)sp}@;f}by+(h_+rrRJ`( z@ETDk`B2Nn2F0LsuAxo9F`^Z-v(5gvnUC#<-O zA8}6sB_@>XK6Br_wAtmxSeTimi6trqm9>rus(I@X!djCcA1_gHBP6Ex*N-KWD!@kZ zW#@W9;K`K72H8{#7c`__depUzO=2U_uHv`+jIQz&3d`>ePveln#@7tn57?!d%wVIf zYmFEKmfHn7$@4JPK<;L$@ z>(YB!1biT+)kj?Phrethat$YWsZO$eF1`1$3ln))P;c5UBJq7*$PngAO}hA=>N{*En?$6xI*64h!Tp6R{8xY6p*aHaWhabcu-Dx2aaXXfkoSh2qI*T~@B4Damws%e-OHy=(k+?!ob`=?KB-6)WAGJOE=6jteHN^I!r?yn7JEB^`| zHKgB{Gpv4Wb`2g+y9Cvt9mU^HJf=BgS2kFx=}puV#tYw--f8u*iPm~z4t@){9mM_M z0Q^r1E^hh!6_gBTqSE^)0(pId*L)Z>&q&&f+?K0PO*sbSG4^4QV5aGcLy|G{kiUZC z_~fe7CkF18H2I?_Mj_eX_vQQEp2@^Z`QLW$+}&KHNzBO!e`MDnf`cAAI#qPP`K02a zns{VaYZUzI>Rov}@3-sXj>#7WhkBhMh;PVWU6F95@g&%-<(kmi@aQY&@=MM_-#K_E zSH?|>a9Z>%J?7bdGrWP?!uMl5eE*O8yp_@H7)#N@q<-~mav~dXXyz}!A0vDLJP|kT zDTUZ8sn&q)UgaHukm8=%@?s;zPD_nWzst#m27+bWxNVxicvbR#cVbcFs9&vZq@IWw z6?|dO=&rrdJ;ZcE6wlm*SZe+*z%4Ici9mE+w`|P=I!{7a&ywU%cOQm18NR;A$L_?5 zjQ94(6!x|}nfLxcfFHP8HJfI*9Gk79m1t@vEO%cZA>HDHiCm`^ry`_UqQUAX0^JHR z;=fHS-Li3L^5(0Uq{tHe?MO33Lc<1h)=GFV!{+BEVrtVsNWVw7? z2RYpNO2+Nlo~%_lDh&3QNfEW;!?{DG(41SjE(l+ri-?NOKzzrEmhvl( zTldeuj5`-qPYETwt3so^t>Bi#AWMTD%Sdm_C**?8al?rT~LBm=CI8L*XZ7}N#>&FAq@?m18(Sw z0>bntG2_yh`gNu)XWTctRy0F}d4-2qh+uK~${Ev%Y>_ZoZtpx6OWd17<|2Ie#nN+T z#n$i&V}c4o^K&c@&57EXq5))ph&j$Kc=VH<v@oh_sZlZ_uYl0yFwWc>Fv|YZ^TH#GEcW3wsp3y2 zbKiO+wAoWmGL5VxKLgww+U?zNgYcRMv@kn#I672sFNhDMeNpp8sv-5?UqvLb^M1RC@mx&l2GI?D;WXe%bbb`{E}u0USIEX z&4uw7c&(LlFL|r!Pp8~(>0EMN!atJr_H?5DyU)<+IfIqu6-4CS`zoGtl~q@am1p7T z;E3&np-1$99mJ^WqUD)DK9Z46txMD+x+0%I>AU=UTpklBk0jCBa*ORbpU4!;`w7ytgZ==`+9Q4(+R7szuk^hd`^*&m$9+i<{4e0gYF7z>pycl_#FA(zu$ zdDN^ijSLn%wed@)^>ve0lecc6_@GwSMbGjeKhzf(Z0RUxRZO2ZKnr`Vg@%lO@?8B) z4Zf{>b}AE}WaT@0M4dJdVV|&xI+>)K@5IQem>O}2NTOZ1{Tg}iEH$D<0pmzSx|&|_1tF+d1l2GHG6 z2FSxox64nN<-6%AxY@Airii9-0$+4^JWOHawuE(NLikb9TH!mpB>A?SKqZA{cdygX z#S_1uiLjh{NW4DDrbIJhktsXso!tu;4l~Znm?M-K;w~Tcq9tPlCiW`?j{2Fe%960e z!fvv*fs3^2H6~RA&hP4e>5TvK{^jkhoHi!2yFy-JK&u^rDYpPhCmnO3z`IygY3iU5 zA}h#u@5s6;LTD}7OsqNZQOAI}vvOcXjX&Dspv|#}N9{d}S}zPCYI3hT4N~)Qv)!7X zw<#ZwC-gRBG&|2vszZVbt5BuwOR7WZqxXN)Otr|VoIQSe9V(x6;J4*Ty!=Zse?t@& zT~yoJ2^kVy%9Q0`LqotMLWZyMg7VrqEG%A$SP+-kl@+7yP%(ul%J&FD^;!~|{I5t5 z?t!kp>}hl~IL{s(8J3yy6Yv)o{*DyVg!>KCAq%5{t|CskTo~2(!W=Z0v89S9WzT3@ z$+QdCb>O)b>6PPA_PiYRBDv>+0tH>VeAT%2uCcKCW@`_2R85-2(t>1!M452M2l{VT zIvdq>$v5O;Q%eRBj*?VWu5sBZc|p~~Zu^z(J;Qb5oV@kb zvD#zap6A%jW+6Z#+sFqbh#^X<153`ud4gIg+0nYoBtS+u;wTJZ-$rre91v&ZPWJ~7 zBE3qatv}MwnIU%**dp!!>TLPLKfwBmZR7h$KgBxfj8;coMb5i-ozmo_iNDDe>ge9b zj6=mAM1of2&i7S^b7ph5$hVn6OIOdELhP)E!64E!_^9H2{I_y&y&AKTfMLD|FI<+E zz0mq^SEl{q_GS7%i~7;m?4GrOrQF~#?41YVaL zz8r-hNWDBnD%NH&q@x;M3a;VzaFZ|xc`T^ZeQj;~7oYa~&L%shUr$ z0aZs3-=XW$9n>dC*2S-D=MYQKAD|x>lq~~aNZ%Vm7|C;G*9d3SpyaOf)_1%2vwh#o zEmMEWh6K^}lSia{hb^`f5gLaW#R9{d0aWCH0>8-@*I(@v-G&AFH?s;P-)z^+;Z-;m zn0qQ%5NE6y!lH>9ilEh`r7t+ps_Eorf@D${O#4wfGwVk_0-c%6;b5frDFJ%j@@bLRh^_c<5miu>Vt)^C5;UhA{T?LtPB-;!Y; zX(%|zuo-#$*mM8?c3o(8Gp_hFm>kQF5%>D!GUtnLI^o@y-7JIH7+)O!_&+yycF)=h ztttML%$3-UCUP(tf0%NJ)Ay@hs4j%;jA}9>n}T8_h$!IGh<#8-n%rWNe2AOe3!|jq zVzR?T2Ld4e_fzM2_`gsQHHO4#f)52w>4&i+c*|NZQUUOFT^=W7tjvR_{PjM`UWSTN95JeTm=OmMo=J?z(z}YDLY)T`dCb zcIYDR!es)iba7tYaaS$!`1=hw{6a5nA*^#^eS_gQ{G}j^o#hu!kptj*HzDNdni?2z z;G>6S_2%Ai^Alc8d~K71BBLDWBSjhI&?DMWI+|FQje(5dS!C}aepvZco{WMNMaw^ZBO5Wu0BU|Ix3mGLf{gT zbdsI;AjxIN;4h(rr~uN8mEJFF9wx2fFN|M3%LHPJL>JeWqTj9bIo!x3jL1~yBIt4< z9Gezlxv!$rdoO`U38aD?#u#2;y@o;`2ga5SlIHDa<0nTisrL8GtD@>X zC|d2@jc*uVnJE%WB#UpZ&K~`0%ksQI3lIN#|9zz!GVvbBC-g`o9k}TG4_l$n>4|b2 zK=|9@lw*u;wsPtdQ+Ym!P&zQASv?5!awpmJ#hmiZxF~2ZO@tz=!px6~J%V$}+l~<) zXB{iOe&ha?tL+heS#Fm9lo=TD#uy^FPhn6>*r1!)t+SVb8!J(6@`b;^E)Mlg~=%8voAr}&vOfd z*sVQOrpM_lKH_cm?EUOy-ques25rTJc2VQps^QMceUaX@1w*B>jXLjc5Gt&atA;f6*Cp#dqZ@}s?G6x zD%{^P$xq^A?gh`5eu#Yte|UVbTfT3+`!oFhkJ!q1n)o(w{1_6GtV~t?XCf?hfEn|-$8FtT^ebea?2weSh=;Cpj)`* zt=}FCwbCm%+ltvFM9p{isPOdhaw5drjQwK;{d?Gfk&m!+SRy4U^L~rj{FCz^{osb6 zPgF+|OT9vbxKQ-n(kay+LIG;j$VOp~tdn{0j+W`+OZjCQAMHUd0yuBuTZFj?{m7t#l&yMUhoTFFZ?1v%rW zD4gEsdJB*uz@IH(;E$KKvT}i$)Bj`s$N}}xhZ0;^pA~VbYMN6@rRoKN z><+M31QkRLl*?jnwp`!^>84((;ENxJNZ|)#B23wlKt`8K!6Q#B^s0c76&?K$44)#JRjrlAW~@onQdzxuC4 zhD|xFuA_|%2KB=3L2QD0Q!qw#$^resMCA_G{rzux$57}}&IW|$A&&4!B+Z=kUS{2p zz`hD7nV5eR`<@#^^>X~#eYjeH8pkN)@w>V!=PPl!2DHH@{?Pa3$bw+{3_J}H;OOpF z@g-urrjbJEa%SmMQAZIm{NBv|B;-}<)~^MExJ2d7nzZb)qKM7-cPdze*~WXHd~$@O zS+tI`-ryyw$%{>6(qfg3uH>Ulyio~%Jlu+?}Sw)YPC{O+F&8{27Zk135!yw#|_ zKe{*j{7@%u?%>y!rwgo`xj@Quy&&d^_bkZ4(Af*^((HNGc&YcJqOgV&dQ|p$TIkk5w0NM;-IF zfy&=22jbr}7_~jJ>*+^k@wNi}AOY2LAaAFux{PV3dCRJ`?=^i3NYaoy-S}r#&)Ag6 zn>l@tBrVjde>4VFv$MeiFP1u_E|4>bX@5yT=U zXlfj+>{mc}@{J21?2saS#OI}8Eo1X*2ET6HZ!~{E9_{NH6Xon1eCh!>;$b-^oOXS zU|Jm(!UCn8`oVR=D?Wc7*-(&~kYRmV>ze@>k0Q(bF9kAsu!8)9ITTB<4`7Y?j#o zAUadqz-equ;hFIY~HFX#Jd;nORa3hT!x47RKybMWOQrcC`lSuEp_7m5^pr&aDI*8;OLPvmz3(OCxQX30trh) zWlnZISXpTdf>?S1N9@yeZ*){4X+r=l9PL6{v65SJzIX7OnW_Wm0Mc#7wZ_sEqpphuDJL;gPAz9>T&sY3W30bCg^(oqd z>SN1keuC1U536;5;_l4DCY`2lA-bGSJyjDbe=k=0z9WCotm_s3p)8dF=#^^6OMY&r zrX|`je@)K4k4{Rc$F3}@TrEji=D%fF7~)r@cA}cnU3s~?yhbM#@{`URC`8qg*6>5nfn4WOX2j~apIb53QQdy#Q4 z&Tj_XxFK7rm~KNA2Nhmdev#94;eah}QYdUq8ZH3}j68S2^^S<*4e}^JT$kG(ef3uv zB+Jo_y!no`7_>9I=&Kh6ZXf*>fBFz4e?{TfxR~*q@AzeJ zeqbQEiu3|gGD4&!(QSE~*zYuQrs+pP5>*T2rrgLd8*vd5GT#wsJk4Ii5D%}@#HHq? zD7+WLQ0$aZaO#W+U}TcBbQbE5Y`l92`q4i;q}m6Vnf{~-=Wwvxyu+$%mqhPv3*}6g z3;M3?45Pi? z=-dFuZ&q!Mkf^0&UeKcMivp#79e^b0Ttd`I-_qJd@7OgS2s=F8EPFvgv*XBAuHa9i zl+y==%}7bkHdK`d#zr}q}(-R<}=8)qJgiz*Dz^U6RgG)^gv{57JK7 zr{v@*p=*E$hV+7>kWik%88wBVOB04>TSgR#C~1{)hU>r96h-7zp2YTdP3Q!YYvBEn zW6}<%0fGsv={^DMunA)snuaXRsRkS=CA(A#{qQxox`_kWUP-Av-3ykF(XIauEh)_VSp@AZnn+^&}?=;4^kbKT570-a~x)oW#iFh+(m_`V&nv~IRAv6@TgcNF%bdvB_`QJ zFH^A6n{Av=s@?ViKjyD`G0ZvtZ2!)w*gV}fz? z(9I@0+gRdig@Bbi)HC)$F<1CZAa%)?8WxqQf(l#fS01PLi%*)CQx-SBS2XxzxZfl# zDkM~^KR!HiP zIhj_8G#?3h+}x`>?O@7A$-Gg%Yf=ADi?SMORn7J$!O7l?3O#j9Lkc0TF}?eAL^Ahh zp`?eBv3ct2BYM9m|KtI6ia)gs(HCt;fCz1D*CK_MrA>d38kPzD9qeL%eT%Rl_-U%W z8!bP%BKU%$D8~AwvB{}lKH91nuULVg+{1P93iNEDqo4Y8pkUE+2qVh0d#W6H2{8cg zc(TIAG@7CL<9Z({H5?eZyR{qF`!NV7cz7}n=T&2)*m~XfDE9Yz(n|beb!Z|T zwtj;9Hr!2z?Nw{ruH0~a5!m>9+OE*W zK0Kwp`?W+=KGP^KZPVq{L)As2L%Gu-j_TQmTi=SROQot;Zu4InW^s5cXB=234Oj3F z$CYF*P*3)g7RE&?_E6_+#4vfXvJ>WTXbKA9Vmk$i)M~B1mMQa*#>H<{?^V{Pb&tfU z^!DGaS-KoYu3cO>)_j9paoz}Nvldfqq~B>Ogp`?nunN)YyJu%=$2@p<7a?l1!0j-i zLfZS!zthShmx5kkZ!x3IXE9=W-s0*L>})UpHz%Dn%MgGD&@VVa)1Ql5{DA(Oo@YSM zAm?I(LhBRn%%0dzml<~(>?;asp@2LM?0^y={K8$N`RW4eGFDp`%ByzB4Btkd5IG4R z&=a{h38W_FQSdNsAa~SqRaG_w{dkGQMJ5-F8mabbdH2P!<2%E)Y+u7Wyq9hVcN!AX zDcl0ZiBJ9W5Vx7cxw78~m0n@~Gs;66WN*9OBT*No0?giiqm~=lh}Ki&R72>74SB0qGgON!E)kbWtuY$cw6yrg%lG3B*QBr z*+u02XehNYz251!K51mjTuyVl*mvdeIq<(8SZNpkQbA7fZ9D1h*S^QCr({=F#?^q* z5l;UjH`lvu$quAKmM13@?=Bd$5CSh`*Nj#0prH&|>`F?oAGl@_QTK5jMjOf6kHw5W z{U?%$;8?9taEfuG>1K&}SX#<(TA-2Stbm7T=lj0Ep7`*q6GhIF>t`R2mjUs1EtMrp zp}lJVNkaF)mRaHD+Ei1cMQ8y~$io@x8bXRDDGJpTaF6OXS(MWfQv|x6y;qgOU_0iH z4Emi!x#KP%k5FE}%q7BkOlwEBbky=`aOB0eQEnDXSQ%0dyAihXW4ia`xffe764hxE zHH9s%qH+3?B4Jw+QUSUgu7zTHSc73q0dG7Ws5WNu9V6|Cp1&H z2mZJLb5=78ziUC-$9F&KY5qUTU4EA!I^Ks%ma-d zBGlA&U7uFXVO_~{J%nF0tQFLW_&YXIUFk&S>QpY@%$|^l6|-e4$jA;Q5}mLs3k{tx zDY5qg^NR13FK7fWownf~R%}+(rHxmz$s`BpQ`_9eW{U$6mNsfplP-BSm4#{c zo_Uuqc>z)6rd^CP{JFT_=1GKCB!ku?InDZy?=N*&BJ(;EuiBu?`8};b&^E5>fF6f% z^b^^JsGnd?FRn=lDBO;q2dk41VJrNLSytmp92=%l&Vy2Kb%RNeERqHrH4lRXV7@m* zeL-(IfsB&9jrV65`3U)dgNxCuD=SaY0{#O2nTX7YGqzOrqD9q>h)8Rz(92Ow>gcQH z=+~=y&27xH9SrFRCmr9EfeTr}tjRwX;zRq)Ihp$O59BH?Ze^t)zX+M{tUFdC(|e^z zJ}hdhdpx-mRX^FQg2Tc@?ayWpJLAJLMj|V|wNDVg_H)B}0%-E(hT#v3c;ZUNAlyE? z%b2maU_rCoJ?TnY7&MN z4!v2Po!_);kPkR9SRAhuMOljtl_nu3NLGG2U^g{^m$nT<>7bhTP>|X0-%}6=gOqs^ zWp*eI>e~2r9r2%L3Qh5DKqJ_BCJ3I6@BMg=V(gu)paIQiab8xjufqHEFuYuC^lErh z^zNcbBkh%WFvCcIG>S+T1Bk-z#^6D}wGH^s{=ydF;0tZ#yv&+YLijykac%>d36WG2 zY)WlOGBB)TXAl1|yr)$3H1%-hWHr(#19PT>Bp_XZ0>Omd{DtM?-y)Ub)TU zJkLps_#P&MSdHz_vc*${;E0W;rI3b+`FRXO%(DfHWmc<-S2aUp2JQ$D#Un`KCbq5x zB{hMU#Y%<9t)liO320n+G&ipL%!2ke9)@Hx{|%Z7qOW#UPp_daM3#tMHrZ|_BD`-CfqsMWBk&8&?Upixf1ak1gi}ho`ZQpXn1qFC-5m zfo_s>Nng2Hi$OznbM8Vb%E=-6h8-_fXtN>ZK070JjQ~>Ua)%?R^mVJ_pUMxSXa%2v z1BMNvdRMKFYw2`n&85lYma6~g`TxDH*t=d5e|LPI-#zb;lGpdLkgdbclVORz902-& zHBokTXEO;%5InEB>k|8IN?NMJG~qAEluyUISi|c`j-&%?=aOjVe>nhjt$}^%q3P4j z#EID`OUlIjpHQ7o#q&15&Ju8rRLHN7rLEK7d1zD7^>yQ-Oi07V#BoS+hp^3uMS^>vjH+$uD6*I-# zBcOYY=EM7t*?CR21ZiV&(}6<(oz#oszoh{(gE^|gQC;Q3kI1K%q$A(V@wfgd(a^e~ z*sSyfZs9bRXWQXGz`vfzcLMGdb|f5s>Ah-#iu;*38-!8!YRWn-FFGT2-@tZ&f4Ad} zE6+%8N9H&UV4ur=Kaw$twV2l1V9L^ImI%COlHk+4x9&t{{Em70Q0o-4;cHr{DBA20 z@5*j7oY(GQ(@G@hA2CL9D?6~PqOxhl9xR(TNa`HY(1DYi(=XA%n7EuXJUN6MqXY>F zm%VfiAAh7PBd?Skp=BCi)JHv3aB4Q(LxEH#N?b{|BI}vj=S>Ntl>T}im z;2NoOblmW=vseV)@MC}E#%1MDF*21l+RfPD=1noE0}=nD%_aE8exGp)a`P4Q$Y_i} za)KUUQe@S@xDj{Ks zyLlVa=!!yfpESnVpKrb>&ek_hVUlBIzeMeqBr!L9Ixbo0r#mp^X72-@dL$Q!O54({huJgoD&IMjCzo_;(XE-4p&+c$-J z2Al@H4==2{rI!y<=I{+cDtEN6BH>7T{@&0Z?*yo*Y$bPQTDfN@ArlxBiYdF{>Mn5N z-Qjv{K}x*rGwKy>g{OA`WX;-(7D*|5*cn7uOxMGVQ8Nj{Ch+x;nB*p~263H~b&MVV zZsKvAt!!%2>q{hZS$J)U*vsIm*n41aWMKZ48@=?er5(s z`uD=VF9zBEQb=!CA6DKV-Am1*i*id{BQnj_C=OwS=O73C1@Y`@TXQZZj(%CxSo9<< zK5s#3Wga`0+ug(07A@^~0IJZ89YsxfW#^hS+_beQ>aky50^3v5stEzT+LF%iqJq(O`vv-t@_wUlZh;ml4A!} z#zhqiQ>mB#Le z$1mWH1NFs5Hz}V2bX&PPI*?8{+QdCn(b_Q+Y_=Zmn_Z}hZP;8eVLnD8sqjeV5n~-_ z-s4oQ{!J!LqNkJDOuVlmqZZ+aLF96=xORp^Gvh3M@nO-NS zaLFz0zfVUSNx?#fVNDD+@aUpm*u2cnC+ok4#8V+@nMYHQg>n6vS+7WRgMw-lxlXr?fFoE8 zSA;Q#>!%Qk+vat1d^~Ef^}bM)tNxGdz?&}+Pj$e*RUjt&aOUdEMeGvJ0-GJ`SJWB& zb#AJZ^gwJe4*$i02j^L#qn8XSIbYY={BPUsn7HwjUlhEFy!xx3k6zdNCk~QH%1!w6 ztZz^R?_qzs;v0$IgK@;@>@AzM2#tteJaA*tk7b#NUxm`>*&2=FXfFS=ZE8hTb^5F5 zp@IgVOGN+gzOze}oXvhGYAc3RcitmF%y1(8^x2cr4&iq8*)`wJ-z=c~$mCXR?l!4g#bH6m$6u&7MgU2yg9Wl>k zHZTK(xZxrvHfK|R2NlupzNnK-0l4P3D5(>j7`kvTWn6_SUj&Q8l>e%Kz?i;uZ2_j0 zr9?Vk;M!|rjWaGbs*<8oF+IT!Mb`l}P*<*Qv-cF)d zFjtU2ie=YH5Q=zIU7XjIn^2nb0~Q@lNY9jzSg^~Cv^ZB==y#oAc%BNqV7F|sP(At3 z=a$!Wahpio)$pe2z-E>YJ}Bw(f#2Eh8#I~Ch_?7KSM{>^($Qkzv#nT?k&DTi=E_`y z?wp_N3vwbY;wWK4$xZ2V4N2V@i!EN-8vEx;SlCDYiX_}B1j`C*hXqOtpN1&9Lg=!5 zHqUhmrOUw}%)71Uwny{@ zETiORNDTRDY}*xKNi<~7Nqg!u%OI{_jPwaFR=vt+0DdpmU*RfC;g^|8Hgnl0MZWM( z&+;NVv8v$Dfy+$&qle5+`6At)T`X%peWJq=laW#ScL7YNf$xavj}}60 z3sjRYLU*x0ObdmjzEJWM7`W#SdGF!GnL;BvMekPJyNcP~E$|%xbC2es-zYK*=$5^~ z^CkO2dowxCTKpJO=zkJ_lJv)Jynf9{SkLF9K7D8Kdr7>~@*?|L!3Sa|Hs3FqS5j=8 znyC|jl8Mijz=Q>xgwXm2!e_(B^d=|MuEBxPbdYK6D>1HU@6pW~b3Bi(S8*=4V;jzj zZw3``6SL<;x-X~gX}p&q9u-O{FtPu{SoGaK2nc3D*b*#Q$*gMzr)dAgK{A8XltAV#kvh8oskX)&ro2Wlc|{9$i$F(P zzO7|;lMpMi)Ne1^qNwwxlV1o@wlbYuso~L{jnk9dN6tV(nApX&J(fMs_;$X4E~=nj zyTm7AuGNI~J4&%)+rfAkv8IsuA~n0?m*jeB4MJwIxX+n>#f`Cze4P1@#X>dwVpn#zXyt`;We@DSif$&W$p#7Lq7jP~x1r%=v0_jA4stI{M2lcI z>D>rNrg zFlmo&MaXqfzO+Y?DvtM1W?+s}Yp|XoW|Z|V`dj|z3Ro}da7-G%-~3@qb>36pe-9oa7kJ(`;gb)i;4tz^Spll?i!17x$ZM)If9VWBU zPP|U1j0FN|^!|OV+UtK&tcg9Z|C_33Bf=0?K#s%07#+9>HkLaI;eq>n7l4FcKYo=47|eQ~M5`@B*S%Tar)Y><75xd6+! zlHl_Ouc4}MzubS!m<1J|lODcZi_-FuUB?Ghlx@p%(t0YhSKjtSJBxal6p~gB2?(do z)F4|w>ZTcs1*pqM9=aVqw6m#g4W?RCQ?LS;TtC;+KfKO7d(T>2`vVYG<^)}sj z@4Y}R?1l&x;$Q&Jk~x1!*Q8{>uFvVn4p3<7H?aL3m+(F_A^O6k^wU$07V2$hgUdAu znjydObLg&gXRkw4)VUr%TCKqdm|tuL32it)U6q+~l*9R(b1%_3^!{$WXZW#(PmDH9|Ao8a`8QEG?|F3Jy>S=JCV3OuUscCfZ@1S`N-6O{njNO@f26dXL#SI7@evPX2Ys6%q)2Kny&Wp5O$428*qU5LI+A%h4lqaND%FeG|O&6T6|**^uPaoNU0&~ zj1e_M-w1p(Eet_M3RhjAV~NMZ81<7CgD$K&^F2^lts!q2zeYxmI>gP5MTGn`eRXsr z($|kJw=rd3;K-~SbcdWOV56b#Ssq^a89RXtvX{3+8FSMb0)bc^G}soTzq|M(8%!ls z{3KgO!O>XJWLGzk1gh8Xa&EH|yH0-3oT17!WxynSohtHPVS=X+ z_yb;CBFMJdt3ek}KcQtcZOga}5DE4UT^m*~3kqc8jreU|!!f-R!{IZ~=e(Jwr|OmXJT@0%sd~ zu|Q&>#-);qXwq|yExyI~z&qvjoPt=N@Io4*C^oQ;=mTXG-0K>#(ViQdDNkSVNQi{h zxW1mC;Mp0j%ym)^<#{TKfvK%)S>6p+$7)hN;!d3x=wPq9xGE(|OzD|9IDrqNWs!4^ ztsZsljXftnZa28>x1wk;2oy3UuXXN|KJ7u7` zdNOm3`bvr>Hn`5)|6;ZHqJTfFb}54Qd*e}Ob^oALGp1ty!1AHNw?BidN?Fy14^IP> z6dMZl*E})hhqxWluj3BB<}?iyZpIK#5W!F1cj1+f=3X`G21+J>7mW_fNUp#KR}A))gV=F> zIz(UTfE{g(EJB9MK%T;uFPT=KR9&A1ySWC#X6|iXSztDE9MVU-RQ)Bpg1ryi?vv;m zJIA3_L=yePf-q2THx;D;E@xjCi@bx&`)OA_oUNTLrc`ci)l>Tkh1FiW9)@qMA8mx( z?x&FVT~d14Ur>5_vsg^uZlv3xOHf_Qn<6dplOScq)Dcr1LB;BxI$&tjD!L{W9UweV zK|WyeR?NcHnv}R{1p10Dr9#yoahyXuiW|`QJ>pZtF@YQrrW4;>)`864$=eS{xw)*% zS`ZN*_d-{~CL+=2?aA|)w-|k|*vtRXlvg1Mn|}*#|MYxU{{pwZFg3P8?lW$0$f#Tl z*))Y5qqKj!Dso4o=@5tB<;NX$Xgl7R2)*IX&c+TN>-%Nysfuz(D#(HD$mg0&b*Zo| z15xWeRsGkj|BCzMSNfe{zW!FNk^YAmbXd;{D~w+V{()_L8rHicGbKBJcEP_>rZNxe zn=tA6O>lW%?{>5EPMt3&ZVG_wPJEj9+?j)iE4}gS%L_Z9ak+YrwN)2R1oV1LI{1Dp z=>x@>w(#pUbVW(?tVfbL#Ahpq^b4BGsH)fX%C^!5i zTz(4Dw8J^sGa=FvJ#Lheh|_70TBc;0wy%TD{<#%)UlzTQ@^1chq4N?FLq$~1Q3zMe zZ}M%$>DhRELTen6pAGE>og74|R`30;mQye zS54hw<8SIE8O+)v!bKsp1xsOPA(1V0qR0lxgpYStNCLEi#$)5azaxODe}(J=dg_Y? zM!w7c=ufivo8Qr*C!H<_&c2fW7xOBf^ofjA&m~9jMa>GU?<4+giPR$)4p|{PKI;7VCg^ z3J&W6r0e?0)WH0geY@cRNhhMjb`J{{aa=InS@aX{c3XmN!DlNQyo#@go@JSq#D#Ah zNSwh$Un+Th9-A2eQs*+YDrE(Jd4YE)z2OSB(_cv^`n%YQo9zWak*u+Ob}a!Sbr{*ky#HR;E$ZB zjcw|Y#=~L|uk9b;j{UpavSQUaO#pbk7uzb-hL<*RX$*;(n;1?x{laDA;rx;{Tm0)p z>qFV3K+mGSc)Zk5ZrMouPSoJ6zu^(So{JwU=J&SINqjcmz|$MgX#g(YiM|#mdQBJQ9O${TBZXB`q2B0>JfOgzdj9n}#Iw z+d~k_0r)#KO}Vk(-WHC*e6E3wPHzr7Fky-tz*2p#586SPOU}gkl%B0DI-UfL#OqY; zHWB_nzkkM$lsACVE2~}mwX>*x8evbt>K4X=%Vz-=eo;ie zF6Xouz`Y0SsWLU~3&HM5@hzl`IiepKK0It49c}nkM~$VCVh__`%VamMU{Ms3!+2CZ z3v*Wm;o4kwsbpCuv+F^Ky~J@*Wnj#A3-dUl`AKJL`LD-co5}J(N|R1i*Bohx1W+ zwqJ7ONjlKrHB9Z!Vp9KiksWH~ww;fQFHdlo@ENFNXPL8$WhV5IEu{E8fvFSe)XD=V zDNF)2Y>qnC6fm918P&~8&&*eFm~yV>OR9L;RU;}hMv*Q_wxi>p#A841WH+<|*78mp-{DWW9y{H!HwYdb#&k?wIs*~$6A;_rTa;PyIsd*Gd7u@B=*n&a zTX&>(A$ANSL5O@>*w%^(Y^j_I`p=FEnox`fJp3ZTJyqlA#~td`#dj*#dh9>O-$=-l zt2Q{um-nfw%oPL5+ufk%>PnK2@`jYjT*ao+pwN2aV~(l`^|8CyMO{U|J$(%-5n_C! zRyK{+4_9~7cbtmMLza%JKn$0eO9CC zCwlg+8*Kc9r?ajTnR($%WRmqYKz%eTo{zMdEFx-#`-A;-NA7btB6%5_3~8grvkXI& z;%L+O6bM)h!y!=EpN4Essrtjhztcrvem}Akb|M0Qr0W6*k90IF1$U+2wOMcJkQ zz{)!l$lp$9QsdZFKfA*C=Np|`lA~ivUc535N$VWR;waizQ!mj*jjOI<9DNn@~8L&rQW{Hn-+2PI(pDbx8-E@z_w=UI51f{ zJmHkK-`E8uDV^Q3@d|^zC@NO&JG^#WlIskP#&9x`jBwap3W1uRPwW;y7-ala*K*41 zH)r5h6U)@1?Ihqlj5nSbtRZpNjFg@WU<;(YlSpGr%N~6uNe2Agq|m%X6Mpe_)nAQc za;FtFL0TRq{88rZ?Z#=AQM8F93qGA{7v2vsn!D-qZIAwlY&fnQ9V`LgJ)IbZ*PVdO z##9u6DUsHH>8VRJPXKq&%NNKI`rO!r5S!uF9Dyefo6%Y{9pq>vcGvQ2aXGR-0m)gO zc1F)lq%>_yn5C9UEX3xSinp7>C_I$%w<_Z#BQ$8gG^(f&3OaS{=CV-cc3#G-6HD2p zR9=NNJ<--^w{}xnWI%`0Lk{%)`G;c}tCeT3G~EP0kn*xQw*Zoc98X0Ds^G<)yA(vF zLNhv>p)^@lCZ zAQsDt@agF-9!LLa55tlt!+b@ec0aivC|IRzKd{n1WLMw?czsmzAQ(4c z>2r7_0~LZw)akoEm;STmaPBC1S@4thMv$z^dgBpxVG|QlRF!XP-sw*}&~907f;7;% zGsJ;&ybLV-fDD31V@&A={&4R}lUE%|K4i8zqa52>lQ20Z2(N?kvd@#wr)z&8Q8I}l zC>C!60qWHTc@Qm;UhWz|r z)XyKRibb#L8pBayaWh;FBHFR)%#%C;NG7hgK|UZaPgYQ)ecXiU4+pe7R9h03pj8R* zZ!S($7Uiw|yx*c#doEsD+t}!M^r4;~OYO_`6B4#^0xjqDJ)DgdpChHsm(T>Ctc0Dj zZ!rMzkH80NUP@R`Cf4D*#`-4&M#&dPF3ZDYV%1eVW2y`6lLr;4$7CZN#yR%RXEe2% znMqf~&Jm_7gwX4^lzU>#Cl5T~cwhCH2GKH2CgUr@&H;zh(c|e3E>T@rkIedJEf`_l zPac^eCmlfAW7zU zChOdPB$cv*;@_&_>^pohJE@P*6vU6^uvXP%Nt?it;8a9<0-2L-MIladjnIrB5L zU}YqqdDY>M&z&ZDhHcnNkAw`Sw*18?s&RLo#IDt4II~iMH6nKW7OE8^*iU2pcPtw>k;kUhPtW}62w zlVo8G@^y7$XVp4-ACvrWFZJWOQI7VDrQ$(>sP{x)%lLlw7Z+Yhp-(-}V*WPP2kVbb z+O}dB5bv2;;YefzcB*Gg*}C0ceULe(i5S})qpWkdbxR%~^j89PCStCv{%u4gWMR}e z*R)equi)WzUpJQ~Vqj!zX{>K(5-2$1Kl!vPW1TzTe78rX$$Y)ZP@XM-x8uJO8cHqU z#URRkyvCFj7QQ7pL*nObd(b;O=mA^_8S3&=b6$lJjMrJhw^}dc`x?D+bng%LyPS_- zq&{JJu^X-LyI~Sm*R9Z|>hg1x8Zfv&LZt%Bbm1zEY!cKNq6O5dQ}H^a*1&5uayzQD$n$7K!2Tv zu>4+pr0C_i+W$3xMq8Au@ecgkkBCQxn{JEXF-_Cy6@0)fODB#q2~gB(xML6-v1g}% znoGB6HLIc|Id+}$c?bw7u&Mr~C?0+dYv6xhi6nBZJHr&*F9G5E+&fL41iE+?mbRo@~? z`y``UJ5k6py(B0`HSp7~iHd_aIgLMUq!NDh4zeYYbkIil6JW?tu=e&E|Dkq~7>q)o z33IE2yczoGr(Gtw0E5&~Pl}kHDDB)PBZG1gt{|Ii>5x(vT>0K+2Seul=j3M-Hj5@V z=uvc_OR!1KPn`Ckde!oMHB}Ci>HDPapZl9h#7ZH1e}sdNl!0eg$<186DxPEti@OC> z1E|xdrKo^W%MliR*HP1Ou4E#P{!9e^D%~XLu9W*1E(X*!s9h1@+w?OrP}FrQB zUGSJ0nf~bL3!D&=9UwK`zC42DuT!sVvHunEuy@hM(peWG*ATx$upwh*&w#rxT|bTG zewM#Z$i$8(@A-B7v1IC0`>E1>}{BSo31_Urhi#?hjlbBRCYO8^>yEn=G4{X zo3&4&XC)HDAF-h&iI|5M+(ypdgdduXwO0O)8f-EC!BbXpEwPxT4xjA zan+cdOtzS=7BAFzvwK#`5jQ-|Hx4E84_LGae#f9567&&5XY%)1UZun&V^6S<-bG+a5R?i<6@GtPDAeH_E+TI5UoisUzr(G@y6P(xiu z6UefZqL4+l=F$$xiErnb;PgJFgs+;>wyOT!%A~|OO3X@2t;%Pdz&R?+H->uVHJ}bq z*c(j+ROm8^-1HhTeYhE0KFcqfelNAle3uZ4+Rf+{Pe^N*UqI$cHuN6*`$|A7Mk{o# zrULUIE*!r0+MOe7X{J_q;~DET>uCAU!J{aL%YDqyI!QTz|Db^Hn$HdVS|>jVM8eT90-ZdNSK<6aAbcS2zgEG_R< zEuL*XS6$wqbWq~fr7@Q1-AX2m|7%oh8Bu7Uu^eSb3bxqGJ?(tbU#GBAo1GB(YH)^4 z={~<$E0c^ee$|^SvMdde`Fmele z(a&=i@l8t+PZQJvakkl&_O615GsCr+f73Gm4*6G9FdaX z)4wTDcsOZ!sR^$fDQ>2we-Q~lMJQki2Svlqt_iJQiu#AJcg&Mw&-Cv`r4){1wOpo) zXG)2-N90LtEJezg=A?g{U*nH-N~V%XFV;0AKmDUet$K+*e7Q!Kj#sn?J?`#4sg(U! zPMa|5xDU^Z%&9WA{2A5Y3v3{DcH4b6WZg#uR}z5YrMWVjr%oO zOL!rj$D~JOBi4W1Ta6Iz!cAb)9)0JH9*tW6;mNhWHKdbEl?bolX%3^GNP!;FCtLqZ zL}ONK4Q++X+Q29rr;^IIIOk$I+HthMOv}l--%~>GAtHs=`FN2lPxWJaCx{e#dX9(Yj!uom znx;zHXyYfZb?E>6PuA%_{hdvkSNsi817PIw^b>P*@_1E;eDAZhaoqmj;IYFwO{RgF z+rcn!cu(2%??FT+<_iqz5ShV^pR21B=L1n0(o1XB*?0x!eR2LDQAf)2{o4PN<$c0` z6yeagwn`d#{^$D%yT?fzGZFG>yApf%ee1Q?dK#LB&NfPHNX)a9%|VpM(SpfU3ZwSu zGaaLiZf~fKrrs;(eG z2#2FI4yR<8hD5CFQFBwW2y5}q;&2-Mn|%}bJB4@_RTCz?zuKq&{;O;B((AkQ#m_9M zePEex-Rsi#UfQA8ueWuyuLv^QW%^96O$?XqQ*UkHbP(c@RUT5}tdTKCAzZ)HqZ3P2 zy_d4AJUR!&)@D}(YlFxy|HBeG7`QW`D_=xyx%a^L(w9WpYeUFGJo_U$TN1^ z(x<%?m~RUD(4`uE?wLlkhDEA(;hm_--(x#qWI#6R+M?P^-rP3P(N@+6)F=h?;YX`V zfld+c=5^WMZlR~>oK&F^gEbN?Vaga%jygPg11vq_OEyD#b$QG)_I@O?&Oc+M3lrBB3sb;c*n;ePko6^3ZK)|1#3*XDPv)o#U%3)uQQ8DB%U!w zZu=0&(bV#ITjO=4L0bKkF*Yf6x$&jRA&zrd?c}(S*54RDrR5vfj)MLR`uCuqe;U~j zp01$(g8sAMeN6vnl%NvAVVe}5X9(fCG;i)%*4D>z#CX_x_-Cx{_XGVq?=<7ZVUt1u z0O71H2W_5hIrmnC{++RR&`EPBzPHv(rGGqvuvt<#d<4%^CdkfioNGHPw-OyHDa2dz zUD`bOE?gOS)KwDVZjd}k<)#1QixsUL;D;MsRbV{&@=zVeckLa%P%-zRhF!7E$3IYN zAkE(B-+3Oo!X2PqgwI5%JlwlxhE6Gfl^_LPE%4si8~w|u&VUJZV7Z^ht0l4Fmv$;; z`r46q{Wl2blM+ud#rhB95rnz>#pfFIvrjg3C_d{E0HY9u&4)q<%GOdOf_79N3H?O; zjr96rfKrC(fLzV zvdj@zn84}0Q4$aU3yHm?mw;tf`Yc+OIHh2)5bL~+a z$cR>KpWOhHHy<+07hnH%7+NLlJRRaK%7PMAl=83t#}>+T>R8RpPuK)_v7sL?U+>f3 z|LTrbV1M$ly1A-DvVBQ7&idc54e*lt_Um2xoBwQ`Ucb|)kzo7m?f+%OYd8*f`hog0 zX&YTh%Nv2dXFM!G)5M#qzSY&9rj1{Ez8S4^A`F*lJ*v%P<9&BW2_0YEsnTlK)Pwt9 zu`fY{0)$`R>2#HXd_e!zpOomYeDS#UA}WV`zGB9#cO0PpzLQ_x_*QdTu#y_?Rf5(U9}}FNk@7OQN*>f2As{y<3<>CibcP zs|YtT(X>!_{YHq4wois5$*6wQFU#=FR~Q4y6nu%Qn{fR<(DQ%TIe&hnKNsY7Ko*Yz zHlFXF^M6!v$bO^I_ou;@B}sZ1=5g-!_9geFDr>Ll zs-E80S-N|OVS|7$7!ZI!LIMqh%p{u0NEv@nCX<#3@golTJ?jD;* zs#|qhF7d@?9@~d(swO%re50mSQob17Is9v3lX;KEJukCu>V9xJ)s^4zo+|0K#DCA| zL5$S&*(ahO;r;^iwE<`cdl;EeNkQUmx~&4g(NBBoTnoPZ%p82<#qN8DfAD^{4n$Q= zRYspX8CQV^l+VyOpV()ZKpZ@FrUk$8=>?egem3?$9lkX|KMBLa_qy7Y z6NlvxBk!02mEq|4_-{33`>ABYfaKM_hWu#aL|)PP^1VfONV zJo|sapF#ZPXXoJKkF??j>ZsNJZT+RraPH!~|CFypJH8uX7{4qHB zawuD@W2t?6aS*G7S4Xh_h~fFUhS$@MBRF|HE)%*kdEkZ75%8#t6Gn%e!L!cIWIUc9 zJs3NE&@p&hTmY+!BdN+Rs40D&s-#LEDC$@z_j6{>`otVnSBX4SAXA0(PUi!>Z6-Y5 zx;?U!yxDsB--Cgh?4t!2_=!8jLo^f5=Z4p>gf}b_bsZgFF$w<)7>0rEMxpnTX3g1u zTv#w3OCI7Gu5N&CI{S~&3qJGFCA-ie+%}{<|614X4*$+8JsV>E=2i*6`b-DTtu+Pi zh)CSMebr$5FWwx&Kl|1mymD<=Y=mH(c;4JA;f<|< zozU7b_U5xsbl}n{7e&BrNO$h@;z&0u>&HZKR2GM$k&b?V8TD>7 zfa!l16#@S>3=OMGEyfoYcJ!cE*4r`wTSiGSJ|X%FE+BRx>X5yr@c(g9z_`Y>vbS`e zHXcC&xSf>-an}ETAN_wWZ@_#B_HcUqi@Jji#lAQn{U7Ud&J|9kRiqKmN4E>f{5|Yf zxHF4`g$GFOX86k#SxTF7b(elkg5O*nk7@tk?fyUNB|Ji8A^2Qwu_i|Lz-Tu-ub>B% zT*6YhrojIPv;Xf2fdaVqNLRaA*u|5;+8+Ial46h_hJW4{@Kh*OkN>EWir_y(f`9yp zvi&yhpuRJ-5m0dAS@3ZJ{)rE<4k~{nbS`fgafSF5@4|R|>d;t#W0sve0L=3oew(xTJ9*R?hyP zF#V%XKi+|lKiam@J=_r|1<>LSvQe5MR=Qt~X9_^>Pj~%4<@Y_z8CYW1YK&>--E%C% z@t#Y4x|t*rOew1q=z$>s*=N%@5Ry}QgO$rO=b(w=Gsbd)lbicZdDl)198%_lgi;Y6 z_Rd5j;*%uGMyzJb7*V35!q1d8rI;OKP?>~(rG3{)$DPJhS$|H; ze_ESC*#^wFi^H*#wg0g!%Wn;pU3Jsq|MW@$zy7f~_?w?!gl8_ct$b3WMOMWDgE&^A zh3vU8K9U{($&wJYF1kzbrlMETX8ubB40OnCD_S(FQl z(Eu!ML&96k6JG&p?Z4fPX(q{V0=CWDcmk5I%Pl+_zzrBi z-Ycii%>PaEyl5l@9mD=ReaR(?wTpHGxNaxDD-0*o>@f`22ZzdT&i>DHqGRDVb5V+F#|=NP6O80%^+M~+tB~0esN7u(NLj1kS%?` zllxHoC!D|l9cRrLY+Fe^DJWEtZo)qfm_2`a2yfgR!D03vX~W|{qOMeSf=0-xa(r8y zFM@tWS;9qJJYqmyS+R}%FETQk>k@jE8Jr|9E*lg5-I{BCr3H^(m~%VOeLiPTwc+JA zdvxWa{BdDqurc6{9l$6Wo+P`#h8DCi(UX%t zIreDqc3Fjfg=SHGIBz}-{ePTn-7@-We$FraGWD7>-*F-Ba2OJT7JA?id72jgx>}d_ zyZ;|`9_FEe6WMMnd(4%S6PE_%QJ3Y^_@}twzTXBo)dCr?eo)CNSy`$hi?zq=V z=VhOjwPX4LtIK6r%pT>Q>_cL+LKae{(N5kr{dZgxgZ-_L4%|^ii1$hUe}+hysLK_r zt>+K2_8sFZ<54X~xdM*}|2eW$l^z=Z@UI4b9EN}Qol8$70PmCn7a*;x*3!4k)FsMG zRY!LR?x-VNIJmk{uv~N~($TCLMKO(w9^~}1Op)XRV2>mF{8JtH!qXkQpb`BQ#*}vj z|F~hG*^JL^guLC+L|Gf-_|iUGG{IaXL2ISCG(2^_37>zm1M3)#%Y#KLE$DM_*TOH- z!AKELfpuI#lx4M)0^t2uqE##Tn}dwg(G(R?4CwxTWIE)T6&g%Kt?}197$Sf7usnGl zNyrDTjJZRjB^_Zkg_c65nQ%e!jLHKw<={D|FL$L*LAHLBPJ?iyR83fgkhPKqHK!B- zvI@4gYN0)g+V&BEwD$mDVtyI0);Yt6Ty@S*#le`MY%4V6+`76mIS!N1*& zT&O@g4g}iO{O0$(YRLB0AZce`BmH-Wf814PcQgk6gg-X#rFonPz<~!j*7cnc>!7Z)0N`f?Y;Cg#zg4GjJ^?ugI{{`-9lLyMzx^PUzBCsvzowAoRrVn)&=YJq4Sm3wUc&Rz=fb4^-=y;vWaDxTr3+G(5aW zLxu5gO1#@)673NV3ch3}PA}gXRVtO*e_RN+V+UBHz^tyiGtjx5q8?pd;scB>{JjnH zKFQ`rM#PGFhPX-ksONA{c{r-!Q#F&ySE^%<7MvhhoOgCoGfd(DW5Fg)Fr4{wZx1a0 zPA+$?Zu<9rV-6OYZt@(DdHCjQBfIllU~xj(IsYFga(BbPw#x`7rqiPl?Ba!{Z1)kf zJGf*1MMLWwx5lv1SMXPUX~musj@Rui4PSq*5C8gm`&N&B_g>G1 zSI6C&)^--k@8leYb6rVk;6QNC?^ufdQTP+Tl74405crcQIQKW%F~~53?=%}qJRW~U^{udW1(bWGBzKFbVqH{FN;~yvX=i5cJO&Y8p7$On9kN$t| zKF{~4_Frbl%J~5M{}{39BgOh{eCHE;_M2)>-@bV+W&XE|BtGm z+mmA$*w<<`6DKOv*6AOe%d@tA03VM2zXGoFWLtvmd$#-nY?7BKk9pcyWel%1q-v#6 zq{$p_(U-7Mde~);uPN^}{-e-p{#wcd_WoYi9UFv;yJLFKSI;a(518)MN!e(JuG}8M zqgx|bI7>b&J+9HK6E2Sb=ms&TUDVAb!sAfzEcwbYJN#X!@?0mMz&jHmdtF0ie3AHc z82)j=Pg$yJPTC$^p3qFhsgP39GvBx4HPM>U1r(jj?Sc2hBL4B1 zqb6Hyg}&Oh*gyakrdWG6kTQcw>`?(0Q&s$f?b8>AhaJnu;L2sx5TrSC{(%zdDzd1m z`7sEDv`XZwqnMYjLEQv;s7Rt@xN?!jSJR{|EZ$|*X2Lsuay z2LSyu4HYA+Gx_!i!qx-_g|B z=CoIcgvm}|&7?}mOy%=oJg)FtWgHsLrz$a3-sjpPlfL4tO=@Fat?aWzL*&{>O_wgHSe;Y zcurc227{Fw2;T4Mge=)!_#1bgP#9Y~2-0wa%Hdp5hW`Nb@WnmDzQxIA2PR$$q@FO} zhX!jsJr;Er^%fPawpY_kL^Ya;OfhyYn8^;@k$)uo^PaounBwYx>|oCO9fvppx4u%{ z(K`+P3p#ZYG9+(Bx44Jk1F z|LnPB228U57y=v5T&MR?RtEzOmBJ3eKkhjH8=qT%k6v<}Z6TJ5eP?D4 z~}#(5=ppditizO7XvR|y%w`KDZ?23*U7DrpaQEEst{y+$FtJ${>s zt~nz9@xmRgc$5Rtg99|QgVgG`k(cKrw`1FXNG9x4HOWfBl+QlghX3<#uE0|lT7I&Q zS{pnjoeo$w>T{{Bq5XIh)^BRK)l&lhh!4ASQSk{tGeJIQ2CW+oLpxot=TPIKoH-3v z_nnwC`f5H-mPYkQfeMKZ71Rh$_TX99Z=1>U-EJw{BxC1S5)uSj+w7K6{0Y&ntnmJj>vcn#LRIH)%ss|aW9WUxrFS!4e( z^2q#L9LT2Y)M`r}N8sN_xyFIjKiulVU-~sA?9}d%0p@P}e~4`cn#pG-Yq=mOorqLc zZeDt40G}}P`g?wmaI>pmXNU`NN{h8K>n)e5Z?9c@R`*EoiSopW^%z`5*@-+CN?sTt zSsCtEsZ2%bor(&KU_0A;Y@aZ?MtMD}z%C%_4Qk5GUP`tD0L=RT3hssfkKw>^VOxvhzmgwlfMOTB z9u@xykK$Rw#78EPti9HjThL+=gm94so~ul0a56I3O_e$g5Y>p!kA93z6*l+yq8^4h zAKKjFKUD1l-v8I6QDY^!zz+wi{j|G6X0cVaU(SJNi6 z+w^(-qmMISJ8G?evmlQvqPFU^8?fs8VWbx^g41B2?Hm(WBuj&(6WW_~AZmAB=4{|Ks5Qmp`!# zk37_|$ATf>fAr!WeEkPwH-XOZuXtv;{HjVSez%1CHc;-^zu}->_dIgC0UtB{`BN*6 zsItl30B(v@U|Q(A5J~Zo8Bj}ZT2{V2Ysyr)cSt65m0p%sB{HIUr-hd#+C0ynY7tVd0!@cHv%2O! zr-$cT&8O<{rCCgBd&ZZnqX?5l(7&fd8`Zp^BR!%ma&k7q{|x`RGH3X&q@Up*X82E^ z%`qO zHnxX>o*e#ha%p$JgxFtJu(s4>yN;p4(;U|t=Dqbsn?2M?%8cxpA~wfExHB3+!n~>R zk7o(bwV3<|zN`2z)NKm<)4Ks$E`;`Q7)LyC;&;BC3yFO={^!hlVHd7n(To%Hblw*I z!}cEZOI8hKSBe+K-Qi#Bq=}MuaaXw_+2UoWT>d)HT`hOA{a;`4VTOJEa7W$ktq>10 zs~^*=X`0}#eRdw6eW)FF1652~@{WD1boB{uHvSu!DqwlqGcJ|;MfWl6{tIsn;57^l zuA(Wy5W$Lc3dg^FT`_S}kPb9eYU9&~L1=qhL!FMrouzItJ61^ZiY2h3bB$?HK&+$A z4CKUYb&?Nwk{0p2IUh|HG326Q=s*Mx;&@m5*! z8}s<*dW%zndk=-_emG> z?%c^1Ohj3QCzZlux=JQeZ^T`*WRI%$Ul>IWg6zfGrxKP{d)*n&a;;p!22|y{-v0-o zXM_CL*neEK;Hsgaz8X4DTO=l?n*#rJ`Oo_Q{HDv#T2t1hBuAK4SVVXP{HOL`3m)iD zZtDMc+H66ka+8Dy{oF27pO4Ny09LTg7xnpIq-&Gf9f)PDi_X>W2=-q-V|1oUO933G z|8E!JmGXX}Vjm5C&-LXNMBl(g5*iI_Fm`18%e3!j{~y~eE(~zlHyYBe#r&15D;$o0 zjHVKg@o;_HQ)?~AUC4i0pr?Hq2i=kNDa3V`_#fDQ^a$#Fa$V-KVv8G?4@a5c0?#q| zi-*{M^kwfDKMWVR;6JP%E{xspxXBTH2k6k<^30^;J>V728Y{!F87Q9yZfVvaVpEp4c6lmk9OdRbFIjOjF>s- zXnHLAq-3t>KKGx}K0EJ*b8<9DRn27zzkl!59{lJ3VmosNdT6c76S^jCt@ENS zm4TRC`cUIc`B{39OGOlV%g|y1EhKumOI2y0a_MEBpe`FNLmyP=wk@M$iwEP4pk=GF z>UheHf9`pmQDCG8XOk;SqAet1Wn_UFM2t0=uLJc)eP_Q`xyQ_^?Vj>4*Dn12qH)+*b|TN7YzcZXtQLkv!~ug5 z>&s$?V`a&eebNjxv?(;Op$!Lp_WVw~I{cgdIP96p%k|Yr3x+2w8u>aX_BYf=$)}L7 zS^S}?>9pXCaj{k!m!1X)BK#tqd*$8Lq9T)#@Y)C<+zWx(;xnH~Gckp^1Xr2K}dp!KJ ztf)6C+HHFK|H!GPU8%mlSXA;+EIa-wpZQExRdN#z89UXayE4~{mk03NTRj-y;odCM zwI#Rkp&tL4E2I@vglA!okI~Pn1B-m#)2tI+L6j3MG z9VMO>IQSZO7rFe~cn*4TeEbJlV+|bjjZ1%xLK22D%_Q|{jFz#>@;ZwBPxvID6!Cvy zy$S#EZ>++XKH_%{sTi%mVuQ;j*MsI-n^SPfq}ekn;QE1kX2T)+#DDn{3-I@UZ3#Yw zVGcQkCe!OXW7rut?0f5`=+pDDjzqWOb<>1_C?WXmn=kd?@~sg}YyWZb97A@mF17+i z7*2fN4D{h(FD@upUu^=n|JXM6+}#xKIsE(j(YtnQa|OF@f=WUD!ioL^k_9i3PY$UR;we2f3 ziYO=c8*hh5h`$&9#PWdO17=I=7@*uv_b!VN!t+n%0BU|ye(yp5e`HMH%{v2l>f!m2 z5$Z!+OmzoFc9B~+%E)Je3%Kkeg8QuhkMd_nLh=CI0STONZ@WzU<6>cq z+B1#)$Kz;jn7-g!SNryS`GG0#+O0nP?9Bta<37H?@;UDKU*Z__hhuodl)K-hMVQl% z|6%l<%QyN$WuV-wF4tgG`9+s4&o}L&aoJGe)8HS-7t+%7nLlIW*I+-J_<#|L4!YzA zYTG}z6jlmZ{B!=YfleCgRa`0YP$!Ih1%i#B*f{I4xH**osYEw?y8;$KmLS_r7G z6V)TJ|8)dt{yqT5KSue(h+UUXHK=LCtHK1as-&n_Or0mM#Cy~9|4E$%cf&pT|Nh}F zJool6Gl3r7&Il`H6b_|Ti82lk*>?pXLXI$G;mQy_$q?w+>50b2-xu#v!?X0DY6MF| ztOH10rxH5E@06=Ne^q195+#|uQw<}Np;yWLgfdg=5b)%b+ytI*W>lOR0CN0zyXoNY zSC#d|ODAcC&C$L{s;jQ#ner|h+9}fxJiJdFLZT#c5Y(~01gNV@pgYOCQa(tmkQ~?1 zUV%2NL+Y5Nj%=DfM@#OS;eUqz8UAPZ&y+dC{|x`f!9NZzui6#9Hu#u*e>B2#Q%82P zPKTmP)4^gPSsz6FgIl4jJyUSfjwa0TTyz`YCHA%L+2e+fgxT_TjF}5GI-H4)^O{{kRK1zdnLX4>c{O z2oVZ0JFF>NaP1-Vk4$X;ZkmZG)St@l=EX<`3q}Sp9BjxaWB)O1`dc?g;RL`+6DjvH zmr}>GAP9j?r3xt`uXQr@&KDP$uk(!(I%Y5mcaq@1pBHL}H_#j%|H1xa9&Cq5 z$q7`h1&GhGl2!Z*^T+96zn2yYJ24#VQJ4Ytp{*Y=_w-6(2ef#O}mmL&HYDKG>Do~ zLuPm!)w0uPKYg*|8Ymp)=mj43$8@0QCRfTErITm{a29L?KlDd08!t$ zkeIP;G_zq^Cs<1Cf2pG^Sh)r#f6N`Nwf{KCigl9u)7j03&v&dZgNrp%f5Z;9Y6$e> zz_$&1ewY5gjZ`uyS>DR>Tcsh%xo-C%V0BdX;lf2OxRVO?&BB}uxsM9~(C*-%F;1Rn zR+eib?FSlD-LLGxbAK3jWZ@Ac51(}lO5AQSq@xJ6(p>47>-BefF8WTwZ(#Kx8kq88 zG!~)$c|HPYpN|dw3RS#Uf9n7$p}T{Psp{dVU;wK2y59dsS;9pri*ppJ*vY-iB5(g4 zX_2p?{j)UXc>?#?|DSm2B<+;;Kalew^Z$cq5abmCeyiC}#=p1)?kE(D`tZ!-3%;bn z9y@^(C3v6Hf__`88EM@%lS)@_4T2r$^~#_t%C{y*+M?e(?5I7YDHJ7uYkq!)F#SCzY?;9p!y=J$T||8Y_FU_d{e?}HJ9&@V-M zG1qAXnzXegqa)!z^iTW`>LcXvPdv8O*X~^9GRwES#Xn~~M)xV0EP##TW*3Gs{Fffh zLN7s-k01+E+W()vvTy$h*{<*~XLn?sC&>ve6tTxPg!eW4@Wp-SU-&$ZI{v4%ROwm( zE$R>)dMelVs|vH%VM;P&PYmYLk#up_yyYQ)zM5ac+YCK{E@2p;N}o!2%^gW*gk(L_wxw4U z0}(*gY00#)FViZr^gW0?k>~ftx-qn~=LHCj9`t^y5KE?{Lze}zJjzvFC+Wm{+!#n& z^Yu*g@(-!(!#Xs(Ju#*n9O!wc84dvuk z|AyucJb+NXf&}H49%DW@ zh>zjZA3EoDd*T_m7f!X0g@304qs%%QY4S(DZ`-e{VP!e2t2cw8O*_F4z2o6u`SO+G zOz;afNX~TR2`*5;hzKNals<(hBLrY7`%fVR{o;^H8^&~X`2W(g9UFcwmapW8;`zh} zit+_oEuT*0`S<9VipnDHu9j(j^jaT&^m-pQ&4l$OrGO&pshqrfxpCE}JTmRZUc-ej zOGXB1%yzEh+Qm+wPq6W-R_w<&T zd|O1q6>%oYqvmaJRQs<$$bg8jpq+$4C`a4q8l4tDhda^Z05Hk^H|QL16=lLs5{7pa zJa)DPU;V^lltIojV0i}~x-^QXDKxB`LFuQ=B>Kyn2K#db{3pM;4xciEOe^z61;Z)t z+kWf6NG5;_@(OeS{LXjx;r4bJ`Q!QEOjh3h;{t+>tpQv*-zKEMiM5sw6|C$cBwTRg z^pJZW7lXOuF*0rJ%Ow0`Xlk6Go}ViMwpRVI7EuQ9OESPLu;Fm0SbI41#rB@5y0vfCN^pRzz)iT{tgqj17ot2oJZYF(Z^kLfY$0`3%~ zHpW_S?T!sU^Fn|1_8<%-W8HCQ82-i(yJt=|1K^w=HJ1$Fzf%n-~PYXv0(y~kZTpw(eUpbN?Ass zLf=9Abm_vBpf4GYQ$G%Oy_Rlu5om@y_el%pAYVtt+Pv~WC#?LS_y0l8d1C*JwN=nX zD#3q_9$u#SnaBSJvi~32&poFa+X?ix3i*!Avz>jua~TfBzw&9LXcwORDlQym;z9yz zU8145hxm7OCQO0Q_iVWoH#J^fR1`zjS~_CjF71C7|CLK6@8|P>@r?s`<4O+}jZbyX z*m_(j_{!To8+G8g<9|W?=(l1wSt<utEPJ%Ydag++Mcyz!$7PLvMB^#-``dLQ1|7{MnV>A;tt zod*#8EXtaTsG@LGlHd9RD%rq2EonOXry3B>USsNnzK_}Dx=a;7DHx4<*%t2^Br zUR7@SBS!05>8OxKaa#&epNVk+X$Tl!A$hLh@Msu9_kVm~k4D3*38|$3mNzm> zmkt+sfYyP8%5(QE`!&DJ5^(xO2&z77$JvM8(PYkPY)u zaf*5USUGjdO8n*xreglYW05YC7tt@u2l<-`yZemBL1)+)-_=Q5Yo=lVqI1iuqN;Rp z2bkv#iUG2yrpeMkS*r<#A0TUdNbyqGk04i`__SSgYNYbz#kSTF(KT13yN3CUXE2E` z!78x^7Rm@<5*-l&GyKo+UvtgyKg0hF|1ZSRlsgm}5Y5NSJmCGa6a9Bj8|w&w89~4F#Mxv;9?IQ@=wrJ9NiRESO2jUD8v>wEsa1dCYVBkD(iJhY;Z&!`ZH{vLiB%YXAMN9B$h z2x(ZGYWeJ?cLwmiSNgEISHe;3KORG|?ROTIo_Ba$1x7|e9^y`BoJ7^WF#Oyz1MGNa z{WSi6e=s%!S7SSYZe<&sKBTA&gsU1&0>G>sw*e(@gFr&w{^LY4)+w+=Ma_u|uiVb1 zT*)k7(80b`t|R*YrIFXM4>Cil4;Ph%V-fs?_ZHeks1nv07d(u{W0|KX7DL27{m7if zCf=W4z_ZKS@cQK*EOg?qA=2i~W*xICM9g4F_^ll`!QSz5fRcUo6ym)REuVlR`l7on;aF;ATut==yppQYPEc}ZPQSB`)_55Eogw4d7b~S6CH1J^fnTA zB$m2v(ih+;{y*kZ`n3r(5S`rt$7ptbTjVSL#>EMAe8#N*|Ni>_xJYEI0W|X?Le_4k zXKMTdSNc?J$y**EH~D{ZwJDBi!UbSGI{%#Xd8uVCw7Xt0MwJ`|-YfLB7jt7%9xj#E zwM`RV=A!NIy`TO6K%%y56RfUiG_apgF!H@V2AW(_lCERoU#5e+Y#-78zbpLfYDG#; z2de_<9bUG`JA;4iANj{nrWIoNcZI1SUnQ^ay~IEM;!y=aV#^+Z6bux-3nG0a!P_Za zL*o(ce+B>H9>63$6e|$l$D>w;!?8Wm4HvsMjj(r(zh!aHc#+e`68{o&yeM5)Z!N!b zEunZlC*c3i*3d3G?|9}@Q&8sG%Ff9%l?{5!wA1Rs641s9jKT{?*VBGz-Y)qvBV zorh1FzRPz^UjOx_Q~k0C}z!g&)Q&jpx}j@8vgkC zewaMRt4T`8@j@s0lOvW8pc84gFGq06)jTqcQ0)~ECU5JsEFi_neg_-G$`%5y1NiB= z7~>0!E~|M9`XGZ_Zm>Dsd_{fovQRqwtH?kWDsYo1R>AKml%Nx(L#u4G0$~Yi6jEpt z&JyuhN&B9*?<8jjSbM1C)r!H$$)%Pw@^o5Nj6>vOYrGS;3UJLGPqP3dRe)`y3g=G!+(wJ&hQU2{KE|Yfj*ewUpzh<{%K%A zQ5>bv@mG}`WmXRs{=su1bhg>~ii)05St>#d2gU5fx5pw5m}1D)N%+UxBkjtdp$OX5 zoy9+~iM1L2-!Md+Y<6P0z>%C_KzP1aj$o%89t;1=xPy%rUof~RUr#=@9-uc3{yqO_ zR}gmoa6le+(PD@~yl|2o&kMh~F**|dF(hu2wkg_M7|M6->n`!{LL!etcwFpwV{`z! zlTWGR;opmUzzC!~Qx%>OZj`r0is6PQISl{ekpl4SjWIlSwh6!VbjKef!P7?!p$@~j@~y6h|JUzr!}ovQ^BwDGyQzI$ zxN53e%mW9gFq#49r=5HWgVNFdD`5v1{(%W{js3r4CPKgQau2>>&*GMi?qC;$g1yf5 zj!O6!KixR20G{Bl-TB(UodFFPuA6^mHV79zbj?85?!fTxVgp`ztpPXG@W}Yb-zV4F zE|jXT11@xlyJ1~A9PF_>>AXJ09VKF-li?pH^dCCcfwiS(sK;AZdT{y1z%Di-eDV6H zG^1?((nmUer*vNa#l^%dxq$X5SC+t6-`MSB|cEHf&JuY%Wn?w<4POY_r{=qaDK>-KZr@=qs ztsFDDwf1cv?}4aG)&Aoy_Hg#4_l4G$TZYdWeJLBpMj^o{0CwVpt4UuzhIe;oXI2-j zsX!cAMU__X`2N4pPs)e+<^=lE3%_&HhtCi5V^H<~uUsG4u%cuOmlv9LXFH~g5rbTr z&UC3zR_g!XGB$Ge+!#*aq7_AF!nf`2YLW%~QW|`XO4;^tVv@?q73Bx-3uY%5#@{+O{6lbZI5Bq-9(>rE>xEI3S0^FVdPfbL2*O$ue zS7QIgq>oRAi}CjNN6~)hwA_r2QadjpbLUQKUjw11EC(~Ne-zWe+&;m)!&IZlG7O{#Gm`ybm6;N9x~ zV+dB{`U{~N;8skEp(M;HZ;->Of8Xo$9I%R zJ;%Qbal?4an$xk!=#1?WUVNty7ay93wNnc0(1A&_u|0<0{rWa+?2hc&<=cjCl$AH` zjNpxp55#3L zUNmK3d4KOqOK{b_Krh4D+|xHe1}FOTy=mynaG z8UAPZhZ+7kku&_y@IS-{6NFk3 zC(AH&mb_4>+$-(f$a#h#Mg%;G?{4{kFDgcJ|_zp zfwvR*fzZ#iRhd0;s^T3;B@<(PEiZz?zBi)MMz3HQwm~ijn(&k&o>$1=P)^*Z|b__6xQHHUL^c(<1Qh#60#(F9#G8O%L6^`o$KfZ?|Xj=L$BCh9`?O{jv{e%@id*H zZAlE4>juI5xNax3n(GV9jz|hE&%l;%#ig=^@++Tdx=I!epqR688`VbX<0QLPho%VJ zlFuWcy|NDH_L_|#Rne7j=E=r#{|37qa~4RPwp4%N_CH=n9_3qD8H%v-z!d`Eurjee zoA?P8lW7~*KC5j_AXJ7d-xd68tMnG^2&?Z9AsWH>$9XO>G$5-A;=bqw|7mP#5UL9u z|Bj^zG0}Xcn|4{bP7;^2IRm;Qf)nbB)}?-rsN-rsCbZVBJAWis^?aH!pOqEBNBX-A zPCGRnSpusJn!&;U808^SSNVj}l9;2>KvykKqYXIc1M1IaQ=|`#t#dUZ@SV0{T}C_l zA6xs5Dv6={^PRucPmVw41}SuB#&@MTOuCWJ=8Kpmyf77&$kcINd9y{D zP8rFqc>s8{(hcK!-zE&@*R(-__YOL4f#ra^mC$A2;%*w$ z?TMq1;`QjXhekvd4R!_yqzN3(Q4_vPfZ|4wTw^SSItS^&{wM_o94Pa(hQXuXm~sXK z7crl+%o2C2AqZ=0q(iwN`z{Z)ZzCMyz2yd9+NuIipQ?iTGhO zTS61Zz-hi9JVMFQcum%IF$e@5ndgI8#y&3m02OLJ$m}D1fytQ|$1wcHHhOirkZ&lf zQTRqQAt6I_s@CD_70hH5u^H??T5lGSlVwA%GU;K1Sm%vms($|(!{t_vLa4eZyqVoz?_k)U-2*+m!5os!#MWAo(CgU$e{mZTT3V_vIlOP+;FK7w8W?@#5 z;wwAFcz@tBFBZL*mro%Nje?TkjAyyr(_bRr$M^4>ZEyBwNq-j8ZZ_^^nYi?(=eP|$ z6xLzBMG1L_Dj+~bmb0S4VnA~XZv1N9 zyM}$ScEq~G-*xvAl3&kdFrV6>nKoG-yiY7YQ~0WUdyXBMh*|XAK7)2Y31^zan3S*a z6?a7}vG1$oFI=%2zLJFBUU*>aS^b9-hkY>|YOo?Ols;N+^ZAL}TZn35(1xra@eGT-g z?q)}5a1@1G+1Ixe8uZ6mPjfY{t*=`M+UM0d*aX%2cp2`Q3tTlUf6R{B5kxna?o;w0 z#w~dz;@h13H+xBme~r*Myh8$!FGzAk#!t9L7Ax+e{L z;dq-DFv|i0H5h;8?wg+|ZS=I#mo)Qmo;b4R0HQ}=x21TKZi0>EcyjMUaZ4>Y%~CNKTpu^X@!*exRSHe9O!^u?HsaB*RiHErNg+^I^PsJ_36|5wiE)9 zv*x$Yk1nyNy{}Zz!wEj>_Zwwu6}?E+=3(Vy+d(2RPwzDliTvsRSVa3*#pnCs3n*18 zYMJk20$u!v_RR}_8$5Ud*lNDfWsSJ_bq=z;%n=WLOSv$^n}6i#<6|C;tJKU3xx%wS zUH`&l+8(z|o=ju1E!i6GjYr9gN@Wijs&Jq^u+ci<2OrIXXaitz)@v^Ecr-OAgYtm{pvHIs{^->!yrnAKCpa^IHeMZ%{oYxz*iYI0#mce^%(P z*8s#;snKqaJRSlbkF+b1={{(WczH{OxIe#1TU~M^gbCQio@&5$o>*Kypi%;( zKO!H%%jd{vgD}nLey5PE-Y(=g52wbZcR5E~AYb#AvW$Liljn)E9fIOSuMpZ=`0hbz zA(V&1^-dZl<=iEF#ck*?Jeed0Ih^0kojyr3hDCi4ZEpOf zeCE3PoESFHk+doka4pe8KZ<#_opNG_v58RRw(Thc8`Zmmk1DXo5tY;zo@Ns_)PXx5 zG0=I{vA#ceO+uy;#u|4J6sRV?>#mXj(cxx zp6R!yh{b)!`YPrL0W(}(%-QMJ?Sc6hy%lGj5ZueN&gmxlAuLf8INz){i0ipkhA)I~ zHW$>f!etRHE0^gOJ%69CVRDrl!BkBbNYUE$_(zKuoVOZdJ!NaM&@I-})|gZb;Ri#Ncq^?= z^Nz*IH_8#pe^CFb1kF5C_v0tsk!X-rz)nz{cp*i9X6oceW^qosb1(A?tr;5*`-(U1 zzvGkf?^Rd~RNn^v=K(Vd2M7H(jH?Y13Na&G+pz?HaLijpFOwyIwCnNLmPxI!!tzUz z8fxYxL&dd9@YhP}-XA-fS>0_N#NGk(TeP&(6NHbt(ikl#IioktC#_q|m{82l81}3^ zraUcE4^q{XzP>Hk(6z1Gkl5Zg>P8Xk8XB5m-Y;(s@Sm9L)g2&JIzJD4u$DvHwCR^; zw`fJ8u{_3?8iSrF2Wr-1H_0ZvJQmMv8@Fu6!JmqyVJ{NSxg`xG z`d&)rH@{=XJwwylF^w7(EhUxVYpd3; z?^pe-Uk9MIS=Ydh2l10%Elu#8qYO>l>`}|DcaJf{kGxyG-X77bzV9m|^deaZ7wz~X zmaNSUc10IbA$vbAm+upA>ChnsP>0bTdd4 ziLw!Q%3+rs)3o{q&{loXvmj{=ZC`*7^?Iu0!aj;vLw0_Na1$QB&qPoO<8#0dEl1A|6Y)6!HyWam`p}y6|-NH9S2sFFxHns`ngkxxS#&Tp@3Ezp`W$7 zN;^v0-x|dYWc)1&X>m)*FaC1(9Y3Q_$$MC@oQGn?pJzd<=z_)1L&Kl3hc^ZaI95F8 zWRO+GxLsi3SRMJD{R0>vA2V8h9Dp@zCl40!*Q1;oo`B^;!G=3!#{+4Y^zJOYrOiJl z4x=##7RMpG+f;Z-s`zf9u4MUCr2W5sr~2C@-`8((H@HYwp5^}`vkO@siGuS>OaMaz zD33-wJze-0W|lA4_`c=wOD>_{+y^3&@;ZTBoN!GqOefB&cqiSqpYlAM^zDzqpjRxws6SiASN%nG8ls#d3dvhI?fyAf+SI$g%ub{=6uB z#khpPe1i>d!aMQql^XkbwLHeZSOT=R!P;5TT51=7+#cm~dN(m$I(`@X?Q;eU^z&Ku z1S4Vx2)qOce`s@Muc1*8K1B#Wtg3JntP$b3CVfCj80-Iw*_-2s=dH9;wOkJ*9L!f$ z^XKg_ulk14ufvQp81~L2xkjT}ZwV`Q4Wa%C5TI@KLK*0q)5tBgwLVLioqZhoOL|74 z{++Mx%IqA78PhFt0KqdXlkv-HNjM+Q6mElOVoon`fg+Am zHzqp#hQ;fw!Ws^KJ=#02NJ5_+*zHF@{qOB?p@5_o+@7vdJaB|3-rSx^1K^s`N$7-z z315F?lj}6UScK%#Vi8+H@SiHwkO=L(ww5r5y4cfB8&5stmlwL9F^$tqREBZF ze)UkWRdy0PcEiU{uIFCHsQ|8~^>W!=@%46sb$1*}NgQ4zb3=RWkz$)`9cDsCZC=;q z{R^KP$Jw+BA0Ll+F-E$rnESaMr$ZA~$RM&_2h(Y~`6l6G!sgjha(rvP#X~o3$I>@u z(89Nf1iH^=7KL^V(ZGqZ}VR(z?wxT>@ZV{2T_}I>yL(T+aD2M#Bu$2^ECw^N;D}a!R?uGA z^;}sgl9rC0s)qO%Que5;gFHGPL7t1X7bSu$Vj3^WUsO1ZRM@RHYYejY<3|r}PVz7f zbLJHcE>G^Gmc5=Fj!e$A6R~%XpGhk)j!Nz$@Z|T9M^QyCE?2D@*SFzjv3B?G^?*xJ zleAx)KJLk!Zmnm- z@_O00V?JVtVy$o+YJ_4YG+2Yt*Ui^*G`4?Sy2iv?oAQ_J8xVl)!=P$~-;Z1?N_^C$jmlM-1DD2h>I$W~kuz zm=q7P4cY=BwN*1q6zz|G1u_+i&L7L)2D-g1usj+D62uAngo|e1X-?&1n~Hw-)p-W0 zevsA4Z6e((B~{Z^|5g?`HD_ckwy7r(t=XG<0JL@(R=z3vqZn`a?E#1|ggCj2vNN#W zgvj+b0K{U|4$vz7d&|%DA1NNB&D@v^;?5l@IzopQKZ?q9C7#;`<2H439TPKNjT;l5 z0)ErLkTcPui~Mlbzn*OGUqLeJ$qckRiclc<1ds!iW1i}3<76TY!$o_=SymDYwsTj5 zAtj6%ahr_x_5S@=;^J@u)Mkf_QEtG2v@fo_PDg6jqHuC}1Ysrio0EeCn*!@wKqxPq z)T#Q_+0VtI-@H|yBF9*vstNV+mD1j|agOz@vi3KxG6ec|WlLYl(iiEBO=r#l35^D! z_>I)NJFI@Oa$v)&pG3EYA z?Gj*Qijrib3ca0j$6S5x<#$oK7B)No#nq)B!IF4=~-trUxV{?~Fw&He#MCJ(3OmvWR_`ek%U25Iw>$_k~} znG7%ua!Rj*-E^v#Y?RymUQJv3N^`hzG)P5s*J)r?61zUAaEP5CV;2d@gH1yYgiT`a zrTc+#&=+gon=Yk9?Fo%}uOj10z0s&Bwtnfqhiw9;%ripgJ#G^p#|C(wG;>&$d7j#G z1&_Y=U}p%cf5ELbdX5s|BaM+L7`aS2hQ8U#twWkfj|BhnfBN%puW?B|Iwi=P{~q^7 z_~`^=JyFSxjg6OWppzwCPLmH(dz)~-LL@16CpWk$f4GEtE>X2N zq(T7L-y^FgH=QeMipQ=xwQe4~1}DAyH;alkyPxC?c9>r~QwCTtPnPt6iQFNvYHD0R zyxM}wVY>LrbqZ=^~mG@Kp7zMW#wb62&%@z4&L}G3+-*Y zVs^3Hm%wd9EO>{B0sj}<;KYClytG5J_?{7-w8$J=S3sq-{hc&V4ttPR_;={~{)u z^i@VwoT)sQQGWFUUDnX92m}9L7A}+IPbR__vf{*lOxD_>Oo&|pFdl+~rYIQj_B$Bv zDYBr>+QxqItAefp5P7ul^Nhms?>jEFBgp^L&vBFp+n|e@#$B$z(RIXu7BR3>M4k8jkTCv6z31T zOLz@F8|U2vEZ!&`S`W;P5d4>w7_j@7%Zf5pECiZb-{ceA+@AL2t<^#|2{)NGbQ|=* zCeqfw$>o=tL=O9rKKZs|b{V)s$Rsz$ZIvBHZvXTRZ67@LoWq6H^!kT0-5mgcrF_(BnFh9E>g5a25O7Jp$*|Qb4VnTJ- z5gPTe<~^C+FPC8Yxn7z7Q*QesvhJIDZfxx?bL!YNk)LTPQ&c)L4D4fU>DFe3 zZ$mpI?Bu^jIaPSenGg2t6G z_tG>R41DMV7g~ga^VN$px4NzZeReI2q-|`zes!DYKToE?HL_(mHB?W5aFpnbhP8c# zLTOzLjEVgRgdQzX8Jl^2n?7soo=FOv&0X93ieJ^eX)FmBehTewHZVF1SJ;oSW=Q&~ z-5#Vg)L1c8qs!!}5)8&p`$X7cNNPX6T!p&aGExXL;Z6BdF$x!T5t-WcQZsGVIgO1! zRmr5Xj*kR~t1F{n&Af%nS-cQ%zB@w`KJ)1L}nV(1}HdlRLh%Me4mcr|U3m-JI|FjN_J1M-Rs2{T=__XPvOs@uk%q`j7T_bKnEj z<6_Q9@14onvgAuq((?jDdN3weFIh5JiqLp>Lr|WPXsSm+( z5mE0_RNl6f@Ae%j_!wRBzRR}7`(Ztb9SOcjqw(*98ZwB7KMxt%G@WBhfI9J?`hG=> z9pGG_CUpL>>-$PO3EXk(mSU5TsditGjV*yib8i<0kyL&RYyLzM2e(?C?k$}$%qBv6 zhAC*sXI@z(t&A*JR(=pQXDUu>BDIzNT=_8y2}vJ0U;h{l$NL0`uziygZ@OSvmw_Ns zd2o-_+yF_ctHs%02hlSfrjrQSu=&|XRBaCD>S&q`DEpePk6+wF$p!}O*E_N9N6!#% zMhUscRY#uOdC+1}>PO=p+iIk8=RXw@VzV?zyR!W6K^_Q+^(&7_&t;m|I`SG8KwH3v z-LWYtI#kN+u31wLAe39k8ml2oM61$p-6k{8We(6n;DD)MqfJ_gQ}xN=PZYosXc!_W zWtnYes$WJ*q8;flXV{h+R~M}Qd?o)7ll4k*ACsuK{F@+9Nq1nd@AiWD$)@@)514%B zE$i!`p2^9T@z-6qc?QqP_$Xl^{X^|O@2}3pCSA%v0qF4ZD{oeKLjeimlXP2Ict>xS z`9DP~q}=bHZJ@d5Sta=a2AFR1uAq1zFU~#C*#BF~fe(?=I*gWv^uuCs(6BMs@>Cxr z{fQXxQJRfh*yGZt`+a@nv3BG{KcfEm6#VV4dLd~*rl0s_V{RiN)f=@F(&W*MxwjN1 zDpz+-l~Id6Ya+zs;_0o<-Jvu;k3WHqcW0=B8P8iC=QZCW>JvS9^k@S^! zFY3F-hV1%y2-c`1vi&KjF5l)M^HZ^Mt{%_X=A4Fgem9qJy+6}ok8p<4C(%d4o-P{? zDqmCWi|?nVL(&jQao3cTtjMCPn%hL4%WlX(uzNo!-Y3sR4W|`jvkhFUec-^mOPN)T ziYYh!lk8Mdv<(d@jG|(;Hf>Q){b6kx=cQ9Fh(Qrc&n39X*Y#U0$W^7qQ7Rc-HS@3j z;d0&AgB4+@F7s3N|0Tn6w?IYa;Q+%Z{fB^j0(a28fEwLJ`<(l%bd35sp*Nv0wr6bnoxVM%(g;9mlP}<`Nd`R{V6$;-p z1;~y$qw@WLQ^|3u{f~U*R7(H9*~C5wlFk*XbP{29bLh*-0^AvvUe#62?(Ypa0H8&1dBayg0%f#@bPfzU)wycS00! z-_@(z@LlQ%aNBIA-q0$QVdl>Asmuo)INjf)X5NNxRFT%@q`_P{Y&1ikxhm#Lkn)jWXksfJq)NaDn5 z1Y2!#>AR3W``zZrG%rP~t@8=LL?;Uu7iGldg4|zj`q!f82IlWf%BsK$mt1;yRB~TV zi;EkXo#*lqZi63nzb{#GbZHI1C!5xjUNfNj$ZiIb5lzQ}*uwL*aZ$(fBb_SNf=ubk zwa|`Tdqy^bb2FG9#Kd#NHM^Ns@;*Z1egU<)}JiBvZVqwqT1O0!bFasDc zcQ&;b;05AC!8$7RvScjs%$BFX5usBXQsSYcW_z0p({>y@kjUHWaZyd6Et_)&?jUbl zbx6cifmqOUpO9vl%_4q5Pw0w~BOZ8i}$Zf)Hbiav>C25EV>1s|B7Migu09yKBV)E*s zTwdjiKPPy88YgPwZQatjqN)4Ge`c|i@y)RfSd)(Y<%wuH2?ALYIXR0bgB`@P=$f`9to zzm)0LM9Ur}Ug~Gt8GufGesX$w&d5@DNz-ezV^a8xbOT&gh>*XVzI^q}x)+aARxw!* z!xIiWntcaGR+$3!RoZ+roG{CkCXJUES#w?L+Ede}4*0kMzsam9vAe9V zMrZ#^8Fc-I{kLKNPh_j35B%msV&Q4@YVFef3$KCF)%&A#B9H`3?m#R&*L@iRA)&V0 zpl!vhX;C?y+Y*{Dq^RNW;mFID7e)gFg&O}{crmh@EIcS;|M`CK>GO+YwPU?R*f7_~ zRyj``A0ylV{#&dS8tabT@b}O3yCFMhwHEyo(-G5pblca5f((#X)xNM?AE?oe-t%@zP$A-JjXlNZ_iW|Do+Fo9W ztZ>e=ivV{9s1e`-Io7C_J51q(*QN8Wd=L&USODc))ur6k=%B#0Ee!S_{|RklwH4ho0#|M6ItX!2`r zUGwDrCDgR5J%Gl!Hm{7kF)F;pEc4kfBp~bTq2$W95YRIz;)S{=naX2JO7%&K`TOQVexH- z(s~*bv@=6x%jN=(_LqiMUF@oD?dI7b&v?yKH2RM!~6Q1x;P(z-x(hda)hV3Z#lz-yMIr6 zeSBR!0A`~XZltcDoDA14bHA>-#G4k_aaX!1vQqfNR4L_C=tGX=Z2<_uL6JM)Z(zHw zYnbY1R#Q{^C%GA!iRknD+y1b|!x;RAQkoCRQYD%`$Lk`t0ucqTw2g`IE`WmSS!f`A z9SNVun5y}rEV5Y-%=wfORHfca?|@Ir?su;v4!XLx2*h7S<2~_EqliAsd&-ZPDPi@e z7~E6~-x=~JbPRB%N587J2!s%r{+Hqs@$GEXTY^(|28(YM|M=L|pxLXsfj|YGSdSGG z)Z(Poxj$19pD5lcwaCoqj_=-AqW1Be!NU1n%&G`lf@B!otCm7O_=m(0o#NgH+6k0q zf#z|Y?)r;_II+%+ZcIWsEN)HuH#Ey`khOaH6qpHrL`&5-mqm7|3;yTbI^OQp| zggu@A`*h$Q6RBOAO!>#FdL3r{nN4zv{%2VHFJGxZo!|;7VUqr?=$=I`Oz!_?AuYSu ze*xD2KB``?UfCzsP zlt?)ECD$3eUbcQ^!-0U1$8V-`iTEyg6CP#rD;w{ahknO-vF~+F9S%+=9%+c2uS75n zq}ErczTNgrGR~@JpQx=Tgah4R;(v5eY=PUjzOU}0tlmwKZpmanqp9!n-flKhTYP9- z4y-2fB`9`vy_)86@_8^H_2=IzNT}c1RixJ~`-Qh7=8Znu()uBMbydOEMTexz6~${3 z8)+8dCIq>>O-&OK@wDvU5Q>ELT&L7>7@54}DDL(%Gwt(VK8btU zbwM0EOjXG%>|fFo)n^`WEQ2Sj@QKyh++$*$pC(4dVAr|-AiCn*Hq76pk^R4gSe@LY z-qu`w4L%aK7ns2-(V>KT2U=lnv~;{^YBXZ`t8i;_nEyt1243LoN{Dq%9>25VdZuLU zW~Ny2esZ<&rdguQjFg}F_EfL1$8`pDRto?C&kM3!5b3FodZ%4|1$8#WUtvF(|1}~uLFQouq zj?iR%cIX+=n7w*v7!~t5pATqmp(D+bP@(y&(bfs+Kx}OKSmR z$ojAB5QP{WDB&KJ_oASt}@5K+tIzV!z{L(UyX zDwq5bPut)xzcAu76K|`obNf}`8JHVa+C6Z71lCml+_jI(=<6GNkLkblvuNTfQ#y9a zO>@j2-YaS8X1>{JYu3Xd-IeiDF!^xx*f$Rh6)=1!`DyIA_SPnAsdoU=%&e#@F}IIk zjStSAd>?!W_^m3GjkQ$_GK2i;Uc_Kclnk^_8Jl!2B&4dufFmE`C*I%^4v?>CJX1Ph z)$W`_t0iN^6EqBmO4Ue)Kpe)jwa`1N&ivtv;Aa4m0F*^1s4x~+mL;E}acI19zw;rN zVj?Px$)qccxnaH4_1B)e#btK>u(!1X#**dq6lPnJoU2_G37oci0jTTlJU(mmBy3Pf z7Q91%qQZ>)X*<3eTQCZazoV;W_!#}eNi9je{hWA$Z7n$dS>^7zzUMIv5&qkJzIyEs zKZ^gM4kg~RfIB8)r>(r;iQSJu6DFJW%8co63YeK!kG&3lC*i42^6P% z7CZG2{aV}eQRT%l-6q3s8JR)%`!}G&v@JfzAi|1D$k0weeQ@JN(h^{8E4q>RSz1NC zh^jJz#79?m$f%%S|+_a{}b zz$7k<;5~^|Qc~*-1|i*wzAegsH8Rb9l~ShnOb2j~6K@qt@Ljz6k&`p`_c$Y6F()P2 zn>TsP-g=6A5gT~>g~1~ne7S)QT(a*T6PTOe9h)-$S-c zVmRRe+qzQLKN-(?kIfJF=u)aFo_7AY5@mD{hzKmR7m$1|_V}}8%jlxbPI!1zpdY}4 z0s8j(IHr6Eq+%GOpvTkF5oYt5T3%_pYD*_GqN{2Myd?IfF7lyJfNC{fC+m${+dntt zkoCWA7;rZm0lds8ktsKU8HT5wZ$vp~B#UM{_BX{x8EuJuMdEDmw8Z&ec@0WChuZm7 zKGYeQgl*luy2R)NAI1^8FK!(x$t`u?XsZYDPS}O9@OnrB!UC@+FjlA3Z(`!B`(#~7AcGFGXY65!CPMaG_+a>P8>@9FR(p&>kd&KKLQOG)^ zxIe}dT3G)kG>PhKU%-j6cjDfSDQH;FC2)`rf=pZwG>R-%Z=uiDYXnQ_cueBKm3q48 z4s0&4w+uMHY_Zd3MyQG}APeaY`xJOGA~^C$^4NH;Dl)?6_hjFJy-`${F6g*-5gT0X zB!9Y&KqDDZXSP|u_VK(=gC1JRBYS%W1;)@G(kM}XED|6@w6Gnn;T`)0N1e#1)6zeH zybbw>m|W)`J!6xtFdL6;lvg9TXE@;uLu$W%F8ihu_Va^Dr_H?aYm)*~52j0%MndYj zkrGE*3Vu8S7GMU{YPNHtXsoegSB*-WV_-)`Q52n;^hHCahImvj)qMOQOUa0NP5oAp zn``ocq-R^ON)Fz9uFcqpK$myx2X4G|Ie_`l1WZcWUH=oY+(UjVb765U1EiiG120$a z1_9m9awWNPgtG|0Z#InzAp&OD0vla{BB!GwNS-0&H^CPcxkvOWRN-|Akn{reF29J10j1S&W| zodUdbpK=OL^8Qeh;tYO|5^k=?0=qb2SJX?2!PUJD#Q*4$?E7>H&4i!VuQQHd^t#`x zi*>rIRgMurbDj7ZVaeNI@5%S!X;W7GOap+?65zK39GrolzocG*O5Y1afQ_!#pL1ft zYxt(Di}!a%wMseMx1jfw&%84UH#91-q^CYSBa6)Wl($Q{I_$T3>b%}~y9An4K)iQt z0(|7lEb}SunOk^sP!=7%tMqN2yLcC;V#^&$e0EI@8;kligw}7`(6$xxCjRIeOn+| zCs>^H8{VTk4h=`=%ZOVWa=y%kFJ!@ovy!`7JnqTv6>MzgOqGUeIpjZy67a3%vg)^@ zJ7|fKe1-~eqdjragce3Te(K*I_iW5=^k zO*VfjW8v{1t=`Ylv=n9MN z-}vw+c@rC!6OR3*R#mTa`N2|KlB&>A551m=zps|$566;`XM(q1ReMfSL_lj*^8DwLe<4j&%+wCY16vK`_yQ%9)ZGXqRq?yh zCGgtwo&lbGBVP(=-1|Vwj))mCsfjA;nZ%}ooWd=lni32h$9s%O}?^q$C zRw3VSC|0PMEt1e>*=i4(ZinXG$M1MfoJ3sZb-O?zBAL>ZD+JH!y(c9yDR|-k_C}}F zoLzfJ7d4*|szPz~3Q+I>T+N(Tw^7K@**4u!GEF7DOnCw;h4R}w*kIVG)XR{+(YP}4 z1-fi}Vh9ga#ZZ?0UALXaNbp}gUi^DuInokfLuSeK57;aE5p%KoiP3l2#$34%4anW2 zymlq!n5+HQEC=smm(o>K;wHE?S)3X?;XC&dUlq+P^{Ua;}Fcw&tIkY0!v%bytWSiRz7{hvjRX0 z5L`elT-V@?I>JLT{b&xu?&lH8b@`E080awm)O;whNy972og+8?$M_E2&ZY3LY+x&_ zZKzAb^)PLlmb5yZc#+NAp*v?2*a6%5*8U~}>~bSdCFQ*_;BA9LWC>Umk26w_p@Nt> z96C53kIE;y2a=aA_7+Dp=->UVF#HWvvrb~_-jMi$dW@FPA0Mub)WR3p5&b!YK3d-{ zR$ne-m}JlvNEVy%ZR_Z_PXxX&8n*2nD91@TYDq((L3lgFAHNwmy&Khdmz$AkJvRW4 zd$%crDR0|wmj(LbSN(0V39ETsvx*aA0<^yJf$%Wh51QU7abZ?3Xmjxmm*~sy$ln18 z1<|U-x>^+npCox6w{imns&^~5uS1114AhRJrq%gmdy`AITPzYkRS0Hy@=cn`7hV0i z2`V(X6hd4al`-cN@dIi)=L>Q=APyv^{e({n` z?S~*6d4l|vp|-6?BBWUMw(cx>m)JSR{jH9rh^>qHPNkmHa;H9p*6z`N%ka><{{|a4 z92__f1-n39yklzl^J;d{#c;eEyzRE?zK17Q%Ge4GgrqGa=?c$%CP$XowzgLWRqW6!(;jKp;gU|j~d<<)G(Xws;L z0*;jT+{A_Y-1=G&($=8FH2Wmqr<7;Bal)T-d+T=1&~=lC0bkf85UL5q>ukkN$a4NM zeEqiGAW?Gf-&?+Bpo%+}%>8L)5Tjgc0n#->Hu3hJF|FaIGx;LMPzXwE=e>aG-leKwZQeYkI)+=f-65$W#B%>Z z1KDPQ!ga>KYK%3*p=G_L`ArB^+TVVa`fyD4Ph$b~p`MDFtg;FRl4$GT9=4uQee;2o zsmvD5+S&Gv()?cd76~A7!Hoa-Tl)aDMj?+Q&cMolzjTJ z5>Y9KJ4vEsvO9Ah4=qv4G4{QNAP@#TzlKhEU;EEF4}GBL;3VTKp0`J8dgk!#T-#zl zezU|)4IlD1(|tQJL0Yw)`{+>Dc}^3aMH8E!v%A>Q4FZ18rQ0f8Pe4FLN6kB6DuALn zTk*ImSyw&~(Y<)9FS}!JRD(0kp$nZP)_YIu?o?g(Aci>UWE0+mCcBf@#lm*Kl7PG1 zEYQF=DOE<$&&Nv_!~uAts^dN{6)2KPz833K;9p$9(ZIBm61gsRKKoLr;ty&(hq?nR z!+QmcjeR!xDFc7x@uq{m$Yr;=45GUs|GRi@M%TUN`l{;>UWFC8m|UzD1jE{z$r@Q0 zA}Z3qKjEHz4k$1;c)BQ7q?}_vfey#aM)g$}OraqQ&XEO+P|A(s;+h;K?qk}?h&nZ} zmwMJP1)Y~{+u+z9AzS4}GgJS%EnoaVK@6V>>YB(({AYkovbucUKMM~w6Xs5$1a|_ z&u*U&smFB;SUX3E^63k>FCyZ#*UGe6Kc#AhYk$u-7UxWkAu6!*i&!v6O+`|d?Q>Bh z4n*{K{C^!V;(yBKHeWpLFf8>Q2*)zbE`JCu6B)cDZi8#>rUax{x(B*KtJ#+zd#4u( zr&Tqx%%6=1_aM`Qw@V!I86<$S>0sK&1NXgMw4rcc@a-t%+6*nM(e z10lFgeod27fXsHXKNEzOxz|A1)HhS1hb}zdbJ8sxH_S~dXO5Y3yeA>YWl4ct1eqTh z$a4~kLWCqmqP@`Tz|?&)oSY=qZ}!hGCsXXd>mh&p+S>Ld4oj{M*m`C#$r1$~!FJ?u zcr_=5-VBDTYnOA7u%Hz}qX_OW@uF zek1A+FB9^)^2f^I0$xe4b^iF(#}(vqVQSwZfi+oZl9lcRft8&7$=?dB_TtSlnYmSx z$aBf4#D3r{@aw#@-&D!z`r=`FQsYv71Mg6~&z^c`n`Y}7slqQOmZ<#oF=Q^Pjz z7igZkp|+QWU;5GWx&en)@x~Y@yhobrl zBGa;+xRrg`?xUFns_W5bnJ6+?Z@|Q>c06%FLTF0!sxc@(be~~0Zt@{O!C?K%)E66V z;g17$W_t;7hj`oSG=|nM1B82nM+*-M?gsj`3o>_@{Up0J-PxGjqS)YFwoR|u@+2>U z0q_*{>I-c3p`q5rM?g4ZkvG*z#a^5jw#a7{`1c8HKLn9W)_JY$aHjz8lr!3@8*d1EtSfgtPb4@f6YOO|@AV~AT znL~gN%yH=d@$}XYQT5*!FGxuv-62XUARrAx2uOFRq;z-3&>-Cq9fOE~bazM( zJ-{&M&h!1;dw)HD!29gI*IKW2OHyY)d&oNfWu8FYr=})6Am%u7XFI?35vu@Ta2jbD z_;q!EZ>{D0)!WU>x+o6aHz5R2=T`NmLs*DwJqB_^69W1wTQLhL3+ZNl^imZr@xZkt z$gYO;A2(xxLzBw2Rok@lPhD2KJL+(|d#-@5sXq{mRv1|m7pJTvUq&ZUSSYBv=Hh^F z)0tewm#+{382p26lbhV@{|0;Erl@L$_WjIdhQ%BOzlGGu>Tb2_m2XL=1vYQ6eU%YC;%h(swQ3j)Y?B#Sgp0#YdNVofL276HJgeLT~;PygyiQ$*o0z2XF z=(xuG4<1nX%S88z5?$bLy3CM6QG@2PRRQs)|>w zKl42S!oHK27z;%j)wy3g3(Dm}DXk#6Ppa)|>Z@tV!J2C0oBN!yv(`UQ(w!$*c0F}y za?|=l|s^$)Le=*n@Ty$4>WQeg%78_}UmuculrXDnb8Zegk9RA>&8 zZ4b>A3xE0}1Zzg~N}NriV8(m%aZp8=RMsJ@Z-dDvTm&MkI*_P^Gmyvr*QHU+YES;t zMf2A?CN0Nk(L%5P0)@=nmM}v0|BZJ5asn?g#J(?WwRqxrYx6wq)PC(8wjeUF^b6nP zgm%&;^1x)*)%m)E&U=<#=$9xp{R`l>Fb$zxOakAz@0Atm__X9)(u8c)E1ZcQi%Bjo zKS+oM+{#2fzlIc3WAWY+$ay9YP8V345to4ys)F9gJyA2z4zjtiZ3(sgRgI8^8Hb;6mp+}C) zE%p5^$*Ffn+3+i&FsFP%#dCT(^}>M-`QTHK zu zz&0eP+dsY&cl2AKq@48rj;4+yLz_nIsHR6wHb1?@_X5|7@}^`vV!a;wQ<}BuA8XNQ z>;CUjlceQV(a&>lN$V}cz}jB)R+ZWMh(Vr_p5+Ok!si2oZ7pp} z%Ph9n=_@Eb9py@L~}8Yx*1T_&iJRAr}nqW4ybLN=Ev_UF7$^=pkeACyU?M ztFF!*u{-?+)m4WPc6%1VyB>HeqBrt;#UAh<+r5`hGRTW#d^;B%#)k;zMeyh{z7UJIF6r(A z#Wj_!q0q|3*>?UiQIJ2OXz)5+8QBH!6*Oi#yw`tIYQ1H)3=qO$45Ufmu~u6;M1{9H zk)h3NYh*!fB?vVnHp%J5@~b4b3CAWNo}e&oENszJm!8xQyO?Xr6`pWJ{6#vPw-R<| z5yUX_ZM8m-oU4N_p>-3uKhF;v7M?%Ytfuuo_g3~<3UoIw_fxZp3b2@`(2CZH+cT5k zu5v~sIhAZbM$a`$NABYGehhn;U*n<^csF^s+57asWzh2;FW`>PN{(k+pC2$QjqdwWa}YW);887ux~`fK-7(s6_N$YjdiO5L_Sh6O=?dz8=o zEOSMEAs*w{CmyaYf^UD_#xgIXwS;y&)nsL6 z@8p_q;;^xE1}?LU;6nz$ov-%@z4YlRMRe2s%jC^6l9uI%eO3E<3H+nFUI#=|?1R^o zGuL@Z4p|qz6c}bu;J{h~J=XG2VXK^vb@lJZw!s0-rYzme;)8!FxxV+$_HAIpAh~|t zj^+?T7&h9PyW@c~BPkYX@Ii?tH7X;1=+F1R^HbDd8J-cCjMARyTy$97$ia-8iC{ZXH4_=E zh6gvtRfR4WqqrISt-Z~-lilx~Q%sFooV`w~MJ=62U-=+9?gOYdnfTPn)cmHB z%VL$hw;uKWJOYPKPRJ;%zv;qR=CL|Vt4P%G0=mQ?4Imj?`Za&Op4)I>CGz&-eh`MM zax9FxR9eL>_O$Ih{5Y5K$>54Dwha8^4|$tD@LdU4#rxqehSc573L1s#>>Bz6(vuFf zsectRIjC^+!&*PTeqc5+u<%d34w#h3`_^Gsw2o)$QIWPt^Y+Ly6G*@n<%xZ)xM?{M zKh?%8cx-!WcX>cx2ik|~3?0}p|ssuKovcQg}$rIJ2eisLSiW-l?gUly5W(wN`b8gKn^*0Cd0 z?dHxnNQTa>5dJ8IiR%l{U~x*_h*sH;DJgMM+N!C3k}E>Ju(KVn>`01Z0ibTZAbXmk{j% zJNVG>U8|sr)U75PfG4MS)Yc?4a&el`3H<`tqamCCF4e+Dkp|zypy_S5Z+O1@$8V;8 zV%wk$ef6}e__0ig^)aY_J%blmX&mpb804Hv@i$(cYfCz77C}*< zX*1Zkfn!UW2XJGUd}8UuBsP0NG7}IrP`&u`g>jF8VFjlmBu!~g>M4A4ztXFZrV09! z_=f0S(?`7@@A)8Bhc7ptdl-#`!i(ur|JeAC)0noJ7+M_z`5XaNDj{EQ@9sHQy?-i< ztE37;#e5up8l^XQXnlL3gRS3wiRYuRY^KRxrgNH+T2W3XB&>niG)_A`m(}I@lHK|O zyDG3*PN0DKeOR_|N%mGW4NY$PuiyXaC15a8Gx?ull0Q~@cZLH*y#`x0AHT9q;O3(g z3h}lqcJ;`~w`;?W!y*Dw1s!;Y(*{0|W~vbmar+KlVEHWFh!&I~A@g`w+>4+#tqzTH z97Ig1lRVO!B0hNV{puYgNDbh2=P$8$h<&VkPfv>tz(^-u--J}PHEKCL_vrO|JxczI z$}n;}{}=>4eZl?VLWeIH5qIvi5^ul;f!ewttDNuu;rMUua60n54F#X%2zPjFUU{Qy zZ7~eC#iOl_5iGwQujiX`)58SH#)puuY@*gdOUsf|NAl&U$fgk$pLk1y<~Wj%o?UbK z9uc`S&Uk~Qw;OAo9^wunJqcA5x3RXXsP=mXWG{}lMC<%G+9~q?Iw8sWqRf7dtG7KF z0Q*Hkt_6*4=CWk)nuf>*yY$P`8N1RMg>+v`a9h;N>C&y)&z!23(jkTqSU0!eLFKkM zs;9P2caPV3cK+NaU?PfbRupA3z$4l#h;3(|K~wycMtB*=?DxvCzE{H)%QoB zi^Y&hiM3#0*QvH&8q!_6NYFDALmjxKj7p*UzFLff1($IQjZ=?OVW-~hEe!N@;{m%) zapMt`xB0k1THwHAfBZAc8+k&)MFy-Jx|nvUjt9;w)Dr|9@wSd9xB8~01d))TqJ}0k zPynCF^+RdM!g%jm@K>LTV*0c0o)?W2+=N@e6?f~_f!+@K{Y0P*W<3`4=!@aq`Dxx7 zl_v-W%&y}wF8$tV%|L(^l%bb$5>bPou!r(6JzC(b<|ks_ z@#WqAh~zBu2v+_&z>q0rLPH?9_%AA;;qlWW1B@X6wWf>%0k$Um6XKzL3NE)x4A&=2 z;vQ{CWT2EtogunJWqUgBM5LJ1dwB%AT+z68Iu+M zy$QBx-+M?ls&RHrA*WFd2Uk=}Edn?Qz6Ycua7*Jh$ZLVqfpXpI=HL#RiFH!>H{9|u z8$`f33{oX0l-G{$Ot2p)XWGT3%`}a4>Rk*4AfRqEK`+HlX3^V}uN%y#@-tpyxb%aC zzy)&Ip5UrGP@atGiFsDhdGAJKv-cQ2`sLP8J2~TIqsx+IqP{jP1`+ZqOJMNh2k>?7 zTNnhG@qk74y3qwb-Z}Lr7%w;a_Yaeodr8l*T@T{=4G|mOD!Z3f^4DxIg2vXl3c1)* zr({|J6m{x>KREoUq?$)3SMJ5izZBdaWJFqauagt1d85T5luRZXRcYU=sm%xPM9a#{ zX-^ZIG}XpEvmAPvQf%bu!KuH-`1GoSMEuP(V*p&3GjgCVs?cL@iCFRNmDtqx(xjHU zoFBP8AB0IvZmkCQ%Qh$Qbfn?k2jeomve?(ez)Ieep$#X6%`Co zu^%FTd7HiN z!o{RpRAx+g*=Si*Q(OaCMK(rvqKJFL(Wa!A*=&9thleA`RA=u`uVZKeU82g&y^vo6 z+2t^H(0%&=9&y5t0T;UCFtu@Q(x&pAU)Or6Ag=3r$2C_xnLnOA%E92ASz`lh>D`1c zJVc()>;$LCJX35fSbLq5DX^MYwl|Jzri`*}YoxnfSl5+m86+oDFF5m!g5@VX?88J( za;j_j?Y+GWy5Tz+o?DmAfg#|@L}%Tfx0lXB2$zLCdYMg^vb8!ieEDGzmohsWjczTJ z%ei}!n=FcU=F`b?NpTO)?onbRkcZ@!qtF|@^Z&jeK?_QwQ;bcuzWs1-O0i9sRPFvT zq!Wxl;&ukAPwUs(8Ah|70s6g&j~u7ETK7@08W7>O3LJ#X`^UbqqIM^dwKnB|o*Czu z7hV2>-^bL-E7b*8gVobxRpp-5v@Dpu`nZC@C16jtwB%<2e53b3f2`HEr%z^@H_CiS z3#hk*8?r^_5}f4rHK1H_A@a>4#WQBL4H=G75#;%bl1rX!Kj{c z>TX0M+}Ys{~wP+=qX%D|qvYqk; z3x?8BtT;q#IV=N}iuO&G{uaL6j;7@r?(CzuPS+ul$4BZheui@#N{_T`;M?zd!=i29 z3{x;=bbe1hi~B3Z`|MDZmZ;bu_!z3(L)8)bGW6#({vOZzNU)qPLv?U%UyRQq6kRc* znuvB(h^9bwJMiad)8@h}R{rib;w_7?bB~GloN8{NT6z(B6NOL7$a-?Kwb!r;bGH2G z8L}Q;*+>i0>3_s@7v=JzQ$uP0>~WkrKUhJ(*mTx6B+1d542kUYpvk3)3cIm-Vr3Bc&iGArknQ!}%E_ z*Dw-%I8m-I2xd}qUa+gG%PL-mIJ;7PMuBf9guOHBIiE)`Pw1U;eOsI;mMLvOx`i33 zzEY_Ev(J{wZ(XMvIQO@sKoo5l+=VJG9|;ZrBv~=Q>NKq!{@G;7@){8AZF#m4Sb@d) z+p&;%@;#{A1T&dBc2WRjbC8qQ@1zgx`tiFy)Y4#p+0WaXCpVA<*9v5mnWb}Q-NSr7C zHP~6!J%qPLKpQy&THS^-ym}vi`7`|DLT8c*O*QsWwr?SPk7mI8^VGuvo zg>28diFHiD^5{^H%mwe0B9$y%?2SrcHI>n9HH%u8g7|g1d^L&c(HM3~na_BZ&?J@M%S3L!k zhR-}O&QrPw5rA%{mW<>Y>&1`1Qzoz=?Hwv9sJvqg5&FC~WhN9ysrL(tG(< zOQ3X;FNjmnw{W#{u=mzMJrryi!*ZCA`QQx`tUj&yhUoQ6hX4ZGmbCfpifliLcSqvl z?Ep8}WEbOl05=5Sze_vp9NS?i%43&h#y?xntbHMd4m?V{@|w_lKKw{=a(^SIwhcpB z0%8tgd*>O&Ywf`|D1*{A>8O#4rF2>}Y)0uq0k;P$;za6G-{i(o|8JxZXL$~_%iYJCb=pM_UXA9!nioSv zm7GRKxksmzFv(~nP#@i(aw@$|%6oOb@?9jAd1k2aEHiLBF3u$?>e-eH888oyOKd>U ztErQ6g=kMp_EG4l(tmgR;DW7m3Vx5di7s2lh+U?skQgLbG;YYtVENKRE=ZV&14obT z``)k~V&~2|0*g%{=F0b#!%w46Nt)ON=KpL8?Hh0Y?3QH}ChrZ+c^XjtZL}@5msC1d z^bygCDu91f<8QIuK4Qt&XTvdCXi_13%6m86^5@?;)gPS?Yr~1eN2NO)BF3r&L>>gP zsaWOJoPQM^N?0h_a@o}$JIbuS&CY9H5WV@CZ2TE(@6bavP@_Vz1@A%h*VM%SgzVt? z|E<~p30+~kt@jCy>ET?#6>$uQ~FVA?C)+=Ty232nVaYk@|-i|zUK zmg?MATaE!{SVq*QWNYr!vv0$&yh81IdYrFToR$7Zz5;5=LCy* zspM<+Sls#bhB;eUjQ<8y2&!A`57vK}CypdO*gg4 z{$FY23Dqgd~F@0s#K(c%;oAudbR$ckZ2i!xJZ%JSFPzZwe+ z|KlJ8E;RkU#uuuz;#U%t3}u7?;!byO@&k}mwy$EIFE`&>Wi#DKgVorQt+ zPVrA|rNpB){vw(JD2)x2!&7w1RGX^lQ0VsVFK_bZ7Ce~R5_W(U!_R9;ojW$hnNDGD zv>E^x7x{KTj%1lzg2l+^zz19k{M8OK7U0jWAQ$>zI9dR6VEg^E=H__)uLxi?qp?FfEaT#NRQlGi_onrrZ1%1HiO@?fc#6$uW#FA7uzK9EO0ixVXO*fuX#d#*b+Vm^6sFHTOemm zKffBZ+m9n{_9y78LFb}}>ZGa!>B4z~7bgHRmcwiI4Sc_TF#>$BvRcLufw&K0B|3^NG#M9`c~d4_oO%S~EZ0=&v6o zJpG$^%!!<<_1BxI-{7}ONwPJ&dj~v=@}F+T46VJziDol{4vAJgix@TkT>Y`BN<5YIXJ;O2g<)s z2vRCe-v580zyEXn%v~nLfR*dJW^sylm{;4w0H|2iv>UoK>&MqOzmxpH+s0b-C*rgx zrK)$#*&%cucih+N#ml@rBwwo46ytjT{=xT%^qkY3YcB6X{B+6!n zio68WMHBbF4GBtI!L z&IOnCDRCqOT-BXCvD6U_{)_%xFXa7BsY`5-A4hcxA)$}wC^ls1sWF! zHj&YI`*mbl)L|Q^armMzYY#3Bt8HPH_AqMlTIh5{6Jj4%99Cw$5o||ewxlbMY+B9w zCLM;0YS5-?y#L(mA?`{MipDtP zh+%cQq3f$^sJ7)?B^P&9XJW%}e_Kx36mO2iuUNz~wI!urDN)a7tnOMnO0xXJHIYa> z*yGfDfYyTBxTUKOPI|@7bV$U{NcK)9_DAJ@dO!KH#}MV*o2-C;@)g_)A%Mjd@jnBu zEk7fP6dU+pkwN6f(Uxy4ZtN)^pp+@$?U)r9qM6a10-fUR);3m7&slZX3W>%Uu!I`LZ%@ojR|4ApZAdT}MPao&~_>y+h@U%L}qI z_a4_qr#*7?xM*rJR|JSa*Qi%K$YYQ@`fO{Nyy4bZljU%v0fOXmK)O7~KM-)?z04}A zd-$;zRzMIag6?bJqgcG-@k8L-d)-(!#w+iHCveprq48p4Ow*f$@mH)|{?893iea_M zk6TE!+lBflSx!h`AT4D%z4H)|r#ZTGS{#`wcQt@SP7BLW=>-rP^_I-Lladb);4EROnqp(6_F}#(a zRfxjttL4{af=(98D_L-4#!^5%Z$XQjGH#qy z2;1fmzevYXu88r+*yid_{TDwKhBXvYjZ0aIdBWWw`J6Vd?A~KJduo$??BJD;3GN@I z=}Iu=*^UbDWJGar_CR z|5W@MFKx)Z2hZ_URHX2_PpFFjmFzR~Y2BPuk@hQ;iHp&ecRN}STLXL-ugLu zFqw0I83~922kJFiQ7=NXt-UaY*l2Uk?{5A=^VdC@15X5%ic;S!tU6^)HW&Vxepm4P zPM;+&-cdLtm@6R+tlYTGYH>J#+IQk8q8pr}TnuYH&=lM&M$5a)qZa@s%AmM=urIpZM;61-FNK8r(z|4q2vqM2k^MT4hAaWGaMFV{wq+O{T^kOObr zb9Q->2EDnZa!b|%Q;9PaG0s-IpB4@i4o|@g%KYaiaeSXX5i*h{EcA`ieEux01e<~Bg_CAe=hv>f_*Ku;v$Gn$ea)aj#m zZwLv#T*6rfH2!Z%8xQ*4b#l@|J7ew1>q7of=TyC+(Og4(WDD&^L}+j?{>?4ulK&F4 z@RdRC(W#5rkws`c>|E3(#wJExW-bZQoZg;1!GL9ZpuW zIAk|4=cGaXbr3Om+u7EplCzgsozT>E@$``)#U)7(wLgom*O@rPvkScV0JOF~jB~qp zO1cCS+-kkQQahd4xqAVew>)9d<%c_AcIr7^uZ3(WQ)wfod$16#&>FVFlItO2ZJXg# zeJ0{AUSBfra6Dqkxm2{+Q|U20*&=QJ(H+i>yg{)>g5OS~(BcAV=IfE8hV-CpVE6pz zI9l51Vc13QM^}G&xp5Pil{e0LIfuq#M&K$;)qvg^_4P98Z?8XY74vwIZSn&{W7;AI z!_Um3pBujFmf6(<+c z&b#0RE!bN`|12omj~=LGs#-;@^$tN%)_rLk&2RoMCX3B5GFIeAS=ATXIYu zJ?_bugva`9$8#XpWpn%Di;AQ6b}9V1BFllg!O>ql&*|w`m_AZ<$>Hq zB#V_*j|@IwHeAA2 zZt(cLEjTA3*F~OypA`H_hfmR(KAsF|#|i?$wxrqwmk?Tc8a*66!;y1{4K%>mCE$R4 z$ZKI?_1%k90#+V@mWXB;WGeT&zkISnYmcIjWE~(>(ZjzHWs&8#R?|Xa%&z8yJp0L5 z9jp>qxfzPZbXM+3bBi&MQ?wPt1q#B!J~rR(WBV3y2F8Fqpsu6kQy0`#??g8ea zz_EJH_swaLVNfd&RaP%P_G|46PtRL=)-Cc-xom=tHZ*Z#)pC~E`{y-p2R`r%UMgqQ ze{aYk`~>uZeoU>z*Wzzb2)k*j7MU2&)1kQ_n;zKk0sQ5oYrBz!exft4NHDwc1^w;? z_qxv=G(lombivQ_fSa2nL8z@;oYV(9P}kc0MzwdNE1);ZDX|E z;?RF-5=nlznOH9#>3hhjc>{!t|J;X1#sR;`QyvtEwr|opzewT*=naEzOBisH;#Oyl zTOU2EzB&ktmT)?dRc_?g;O@jH^-)Xf5G;aT(Qhjz9H!6zk65NbKslu+` zc#(NaZ-7tyf z5((fqh%_T75n4*$bRE8Wnw#VrD4D^BEt)--`-_gv>b^Stm>-y_EIZ(;4|V)^YY_GI($HJugwn~{&*YxQ#G7; zyDSADfF)sdOQ0KI^*q%$wT%omEfnzvH)c3r3Ww*$8#ho<>Z)OGaTF+P)d>$fC7wU)vd| zd3C;f^{cGkR?NQv6U-qH;<-E$d2a1iw?ARDWvxJK_Y2x%*I!q}Wk{?THalH}V;E(QYYU82gLP<}M z#0@Lemhd-@r*S7PFDjnS@r4}5!UHH~IbksrUZ)>IY2QTn9RQX3qt84s5$R>TpK z%vGICr%x_NA0AKDnw?%3906a(De~M0u%aHq7S3egMW=W%N?C8Z0;+Mphz@p+^j-t- zvU3uvi`wKNdgD7<09}a-=;3lDCV1(Do~lE;@Z3A$dTn6`ylt3nK>&mia`mRt5YXZnT+Bu_k@*PWjAqT&u$aR&If-p@JB%iCMqR=mp{4A`qYkMJ~ zQ+Jt&N_*_gxEcCX;pIFm{)H6+8?$A`ml)Dc+}C$c)~n&_pJIiNQZ@F0z@;c;L}f*K?G3AzH@C|M>q-ohi3J%}Qp3bqPT^nlQz%^<%oJbf%&t(n9f6`+Yo)`R^S-w;9 zzF(#k5QIQ4B5~W?J9Lyl_`A@8xDroWryUx&VPMw4ot`<>REy*GXYP)(4jFxv= z6dUIg>s{kA=U7b=a`YFR7hYUXT*I0Huz(!QaB9+K8FF4H$Znj$)ie7?+CPZ zMgUpsvB7|1e;z9~GKy*Kecz0>vd^TZy7B_5wh`4jF_LiuYfX3#68Tr)7Y{xij*2ry z7dznjc&B8{iBUr^Z|u^0j-)X73;PcHNz@|IhC3hj!W)Usis-YyD_Kv~&o`gG!$7!P z^_9;`-Tm$KPogQIc;eXP{ooGEi7I+d8A0B* zLUNk1AQ0!`%^wi+joog3<3$&OZO(^c)`jnRD)IY&atm^wj|{)1bVp~VZNI%5*A$t0 zRrjygXyZboiyEQ-J}9g<3DjQs@IfspqQ?8~3zDhb`lX1Ipc$A&Zm;-B3AY>tGnX1@ z0Y;1RG#Opp-xTSV#hcQm4*wzq-?8T|NRMf92$i$xRTj_qiA=uq_q6_)LrwQ1We`hv zanR1l`5s5%E|#5@czQ_EcJkjF3x#2sQ`Zr;_R0JbQ~%LEBtQr)^B1naIOn837ISrI zNd}$>$cc&VD>sYHr{Wy#IU*d9AyMB#UcGNu$!e*T2uan{U)J_w`XQmaW87`ev^|EA z!m$j$A{JYkzY)WyR!OUU|HRaN1^#chSe9(l>gwP4(mIQSE0SL4J4OKG|Nqf>a!iB^ z0lFD4Tzju{Fj+wIG(U$FuJ)yh_fY#lrA$pF=qs10;8ONDU+0V3zD8-EhV9OOS1V>x zI-`A!%1ee*lrQhuV2}{!#BpVf$VVa66I}^N>lc{lNut+*cf#)`w48R=(}G1vDlA`6 zyeo3T{SC46K#M9ZdNPn|VZOYdz;&6-LIq&GuYwz~GG zPI*5l&n||u?2umd^LQ3^TRc;&r@eI)C8JoICLMx1&$hql;4>6@$Wry6i^|1nC+-i@ zX|;5^>G32k&v*uPY>sB$+Bn@;FI4@^uKRW&ovXXSBFX-*l2D?0yhpjxU$#|6zm0eS zg8;soF4p;NuD{6oH3#oUNffK@_zhXv@tfsl3ID5mt}agx6R(7$S%GyKIGUczI`?0L zNwh^b8J7|;0iY@<)yHil<`1soNx|@|BCw)WtWr~s zN42r&>mbb@h1I@#hRFsBX=<-&yRkuk&wXm>el;rp2s2;sI(f4R23l^?VN{{OL8g_6 z_9)6BtC!X{MH{)+E(>sJQZ~ubt}GEg?9wB2>0pDlZ$5bU$rRCh+qK)#y^9AYS^Xo($au6qmFEa;&>rr^5!GYJ-aJ%S{4A&5RPG4gAKMvEM zoUlUn==u>P2-%g!XQytmw^9Dm+-UT`1U*|)!nEcYtk&|yKxW;_SgjDwh=%TS>(^{# z=F^%Isp;N2EUFIS!nfVYFX*tV{3dl?;^?cQ%34Lg7(!2?mXoJoX2Uc}(5Kgye2Euo znOy8aa7#c&aX7_1MrzRSi>rQX7jy^I|p01>MkuYJY_uT!m8ml zS8g@sVp`N^J&{Z)OxD@ZF|0I~Y2tC!|0|eaXc+!~)A03T$SU)9tJB=b4ss=2N1uaq zD*ItRf8zipaUK|9isIqkRS8*7m)V^Cw&V7Ir;)zJnIBwh{lbrq{FUq|C}*@8_m=e^ zejt-0WIsH&+q}VdB9g!iX8gs`+r@2fdxGqwYfE9{_aE{h-GmNo{$Kf|qHqabn-LUg z0VL7LYX+HuYk_-PtMoJ5q2LBa(s@Lq*FN1@@bx3I%2w~2$~zFyNUZm;gm8K9M7+Ka z@S@o5ZHye~NbaS#sZXU6ep|b6OTi-b8yuK5o+B%B+tv5p%L`f9Yzh|~p4E)`W|E@C zsEzWgn-`vw0mHyLCDw6ju2^%-IF-uGj&WokYC~R9OGLgIWbRDBK&W2VOlUG`?S3MZ zmJJ}-0y~so9QwcOi6Ifm5A4d-6Ykg-ZIeX@`BW2b1hivyo4&eT8vx-~bSWFo{no|IfgCp`!gi(1n(bnRPmq=YDbv6$lYb_~WsSg( z*Vp`WO97W6Kk{1T>8AW5xZCPZ#&Tbr*vH}%C}y4y_4^R{Xby|3zgOZz1ui1TRwsjk z!D{!J2$mA^20c%r^Ef*hSW5oM%5Ba(0HGUty`-RP{3(vG>`Bey-x(ZS2vG|OJ7K0L z80;M+^hUUh8SIC?bZDF@;5QemFGN9ZUs+irgkI(})3yNc~VA*b)H_&DL>*P8&C znhVsF#$dMCX!L{PpGfVE=)AOW^O5#Ps2U6{cQjJ*!Z@Wi8G(stfjqlu9<5z-T=ZRJ zw{rwH5g;N>@<>v@!3aO@yEjV5NUvPr1=2jm36aY@%}-4()a$~f5k(W*!}gx2Tu#Dd z?E(ic$#uAL{Y&pqAyTQ;mPJBu9J&aUdk^jq{u^@XO0~>Oz$?Ghk_e#}8dh_3`=Jsd zw@MTTPa%;%NDM@`>rwo-syL_fgU^zAiEMbe7^xGql~N6fSEX@y0uJQxFT-S>8R1k& zqvY&QkAFPGizFqn*ANI&FWvmzd`%%c+!mI`tnFk%*D%}8Qj~Z+{tj&?`SP+-Ro0=q zo0pkYz5*rJnm^?#*uLlUH<7Ro6>CmjuG?5ue4QSXB~y$j0#{8*4F{5ZiVWeBO9wrs zqImAHYWJ4PifQOuqT|{S@V3t+jN*(WKb4;ler^!bez*CUR*u_3? zr+9I+mV5-aw+QVw>lDR4j%fQR>l6bid_e)+2WG*~)6tJd_Rm5l0$M@)YA3r=jqD!i z1nF(LO*IB5tJ{7KGt8nIO-n0AXQ=*Gv(1g<4qq{$c=c8HYAJr ztUTz;BZ?P6Uu45unPnTO@vEwVwBt5DaByyCmkBJkbM!^bXzM7N!{EjLL(^NuMfHE* z!zvO=N=kz$-6=VgbO{nlDUEbVGe|cookI`O4N^l0NJux*-2+1mFwA-8^ZP#kt8;bE z#d)2x-+QmM_F8|#6}A_OnK26+gM?+z?sKheNR_+!OdN;OOB0cD(z@q6OU;1%gEO1ESjV$T{P%CfcBs|Zf*Zj0r$*Ib8xSx;$_)X zZv|ad-fyvcNJivj;* zj;^D=C*8g@`^1*w`rz4d{M151`CdKUbMeM!Z%8rL-Xv_ZhLqtSYN!?m4b4C*Wo{Uz zTfM|$#_(#yB71G(n;sS?vNc3mCY1OGP`$89$KZhm>!-$iUZ9RCa7ejcXt{^V>6_U7 z(G|DY$QN|5aVaqEXKB&?xYEKJMr7{V2YlUynGwmUB(7`MdM+>8mD%T8>vpTzA#Q1z%?^tJya(p;QWz?Hni zTLquiBtUH8(GDy==%Jd6f?uKsqNmL(biLsFVyD-mGd5I%DJOrfkaD(rcr3T-S2f9> zka_9gCE~oS1&Q-`PdD>JiwmG5xj{AA;U-?*^VPNLcTU2UJtzl($%fUtPFCW5JkQyMbocJZy62y(ao^m&5w$}^!OrvK^@cB0_Y(*~ zQD?#twVDy%BZVD^fBzI!*YtFEwLIvmeTGMVWyRGy^cst0mAhtq|9qHQ`XGfqF!_DB zer;~xk221!-OPQV8~>qmgsRVQ(unK9s)XyXFCt)1Vsxtt@`TdJd6XI#`>98S*q^F6 z?X0F=a3nwkNbvprzw31@c-qZ|!0cZ9ul5tPJq5YbWyA>R++dS~saWa8OlmHDTQRhy z_tWXm-{6+;7uDmGdh^%Y!Kk;oG{Fqc&d;G?%_-+Yjzt+h5``P^iaE7Z3g*cQBR|Cs;JfBBRg@Qt_g6v>v~KU0KG$ zVdzG6c(@@Y>SOCRHU%S5?yvDs!|DeCx17lORYOXCqIZmpKtp}7`4h&&Z?4FRzr9AQ zay!D`6hj}~xA+MZy%{4D8NH8rw8BXo%0M{%1rX-vzN8vv_O0R#22JriJNn?$2wC;t zC0RkP@yDzmooNSgXWK%2rrV>WS_(VEz)1|u-tSxMIX;4yP_M2hNxZjjbT|Q2uLVl*ZGLxG{%sZ7j>pnB!mnyP3GOFIJtIbq6oZ26 zItR^Bx@zUa&m?*bHx6k*biIt|J_b6Q(Di`EK0x@jWRAYlSgED0gTKv7prIcS{`I?B zg%luT-5IPZn;)$PSHQI`N)TWXCHsv;MxAO{BBh_#z`g8w5eU|c$2jm74s3yme?e01 zi@x4w?ue}{jQL1xBN;={cFXxWva^QzeC(}OV_l1p2u46s@3aTntrG)ubY$nN#mek3 z5C~SeXAw;(zUwF$I8Ao*%H%I23hfgmfusZuo#YJQQ96 zY8T&73a_zA?)>(*q6+ZxLV^U)_P8RSm1}d~YEc=T*(>>2pC;P#cB-8_1 z?0hoeQX@F!^Aa53s$(s~`jL#wyA=)D4;n|Vj_aTULFm<67hzPLna)zfocbAo<`Dy< zaOj>d($;jmmZ&kyZo``z$a7@r>BH}3pMrn8a2q>K?<0FUZJv)NaFU+E*?D=wjtZR+ zP>f%PFP#4Dq%7J*=^7v85y^58S&L6G(hCR-ZRS3Wcgefv_;O#vFc5^$y7#7C$7R%5 zEA-a`Jt>N5fP#`w$<6Ha3O>cm2HW9v&Os0zytur0VtQ^l3nc z^XWY($QD27VuD#J3Sa~EC;7I>*cSjB1-SuOCFmA_bH3w)b{uGSKZN(-4eJqr+YP6% zIktkaTu!uvodzgjeYE(ooy{I$m7bG%{EAdx$Xk}$<30m_`g!x?kE{a!ns07BX{Jk) z(@xcG{K~6~?z3&pBq&u<&XbRj+&_Li^6{PPV(%n-xQUqV7xw`0LO#(Ellfee##_C8)UM;6M==#jzQyMlpKd5kJv~|y=Y&1Xz|0kw((Gkiq!;cR_CX@20v(26yL=V7R6k|po6K0(~(0>_g zkg4rJf9(H0y!q5wBOtGO7(|2?clwvX^QZGA%fN9}>2>~(9@{OUXpT>-f>|{Y8Qi<; z;J`}aF>~7PbCR__d|#*FQ4JY>u-R(6UoA1PMm3B2csT|j>lojG*VSOD#>+-kcf7=( zyH{x?TiRl4M2K>jIw5P%kx-8@sk?%nmYY5az6w$ zY*du_levwPWfD8U++8d`ER8(Lwnk|`57<05MIM!_%ME-UGWYrNcx+Y%akU(6z^m|fsHIWRMvZ79C=Il2;ic@;* zpwM;&U~MwKL!-H*I?q6woQU07`N@6G$siC?%(`EF;NU@KD8G(tbpjg^+kzW8CnH+Z z4Yx0vYVMu*xAs!4a<|_twpL#`!LpkA*TW<%lMI@JerhSkpAwwLj%=EZ>@C^1=P zudFOo#)*g%0+1g@cOJaA0Dr&9ch|5wz*f8%IVx96Er<&Q>5g+Z*6;tQT*Cw%6By~w z0#iha513Og&b;phe<9@<-&~&y5{||2YMJ-ZehPUw(g!}cd%A6yanFFvS(k?p*L$ob zZs39J4Cy|IR9_}j7K9PD$mdRXD2Bp02oYpd4Wd-$xruK|D(8Ew zZ{10uQzKF9r$bNPZ&%02lUe4zo$-8{BIX=q^R_>9P|RBt`yFejwcK)xiMw!=PD#$N zjY1!35uaz1C*0tCozXY!8><1ODEVcHDoNQS<Zt{`1>?5yGz>xt9K)mXW(WA_Jze9HC>w0pdEK3X@PUwM#=o>QB|Oa4JXL>M%F(M zi%aAAco(90a|EH+$H9xQgnH-`q6Ucj$fUSKC)t%)F}M&z@v1|3p|tN{1_7 znI%~GHSIwNP7yEf4pO&)Jb*?TC{5kRZHCr(j0Xf5Ag`C!G?^zDXE^LB9*NSiK1Yph ze5r644wc~X`!!j_F$wdmg4B6sobuj)rT3$9fB3H-hcb=;y#iRPe!Hvmfo34jR28;}*-8a&?rMj0s3GJ~nI^=Qzn(+0qRr=r0zNu}-1qmjzTeD~ z`GC2MhV%jQOOdL(grIx%C3rDxUI=aOF7X15YwJ|}ZJ`esVjTGA9;go*VR}Q0)^9&> zavr08WFNj1e%Z;f`9=C$11516V4TSbsctvw?vbwpMJ7=P1ROH4isu4jry?4b-3F6G zg{K|0xG)q*7G@k<=rMNKg6OlQx_5Ev8i~o>188@S==y**f4$Z3IjCqd2`Q}t;yH3X z;N&XzYAN5NeQx+tVneIx92+$6n~en7kXRby*)Gd7M}%#zLvp_y1JL68RcFF;=s-7k z5P)|3a0MoG+mpWRZ_SMbO34VDb4kjWl1Kl9acNgWkjs4;^f{7PSC+}RL&gQzb%Noz&qUtb9#OEyjmnb)C zUWy~8@+?Y}dK~T2dX>Af}a`!6V8LOyD zng_btK4o0V=*F+c@ij5QnP1K7a;QG-CSF}Ykad-I*lbkzESFo~EtxNWUA^032srq~ z9B@^P?Q`W0+Iru-yWfsj%KE#EeX;~d&R+JDjXu|)FZ<#tfkRv=WuX!Epiu+I{J;oZwP=Twmr+ z`PxJv+ogD`ASb)CX1t5vdaofoukd*kof|c^g%Sb6 z^|?(|P;RMnhkQEtTE-u#5&5h7Ocwp-6Ndi&LYs?pXD@PR6cV)5jMHrqd4Mi(FZvazla^(&hDW!V@5GrRPt zDd0!~RlnN4dy4+eMzuCzmglr}7u|S^SaPB7qGe?0xohSWx6gPJc$~o>9CSG;dyqWT z(Y_c8L0=RUe3vwQD%_?h#+hqRg4P=&Tmz7d(pW$wa4=g7Pb{Sk`#M^4o8F}EX_3`Z z&{DPeyyk~a(JPyhGt|+{+vN-uKT?#m$n6~EgR1IR8jS(|Jea8nzU}_zb=+Ey*f@B=TcudEgQRkuFPO5eyDnWV2cZ$*AYAmN z*q4tUiJSFFeSizh@bDH_J?N6g1ATU^z;3GTfl8bpsdZ6QIb+Px(;C1@wwP}p$*VtW zd*10vsLbq)f2Q*7y1Sdere4kZ(>*Xd`m%ykpZn;@5Wds)kuE`5a{ zQJffGksuySP@hp)d0J!;LC7YqU%aQrmj@ENXCV4dvXa05yrv78zCm|SPs37}V|X?P z-An#H{#0i{QXN}fPQqGWmSRQ^6!HoTQB1sl?|BR!takuH$5Skv`{`}JUWWr4WlAbR z(rc`klGJfMF;CDw(hGwwj$<<^t7nLM{rH~9_TVL3Q*){3fg5I<*S|dG>?u652iA}% zfjX2N=!eC7yZf+FHvx8`gL-|SN=IOC=V8E3((uEAx4U?tJ4@~j$fiebCsV*1 z^NWiMAY6M4doG@9jq$kxiTAo_hvGm#X!oHm#r$|Yyn{5*5;)zDk-!c)vl8m)e7ji2 zVLJ%A0!(3o7Xulerm+|MHailDb~Ye(c}|D-6X9>Y?S2pu`e{S$E(Ufn&%U3sl1jzYF=kqMr~+wXnMVHxE@U!UNx+nF9_l&uZb?XZ$&_=(JP%(n9*3%~h$8 z%{y>hR|PrOV&nMlAm`0V!Vf=B#}aUHNyh||shfvbQ&E5{SteN(H39z1Y&%v9b*%71 ze#;SS9NFBzZqBU4)Acesbb5kxc9YbR>=D%Q`4h%QMY5$8Bs=t)Y%e#%{g$XiO>X_= zD2ej8)i1T8amJOtpT?4HJ4>aLk;t{0KV{g7m0Ov+a1SCNXP^G0C!L*Qyv|AO-rF{H zn@^CzOK>(%q>q?R|K+8K^(=9mag$Uqu;EQxGNgW&PF?{wNrR?-fBw^_`SRayI@Kb| zE-}*8JFQ5tuldx{I_$rmMiBj;8|R@mGg|NJ-x{HWI^jg33w;k_PMPE(VHz*Ny1ev! z?Jp7iQ|TKdmHrm^U2nwY{yi-&oEErk0#RjC2f|KB3TK`vi4OdRB_DTvG#Qqo34Drm z*zt_}ExvXyKRGEv?viPFwUpJBWbBUvKaoKK=CNzV4lFGVM+bFG-MAqP#pe6&?G%3M zfoUro%fLT2B{&3Nn?o@%<*+DmMcs@n>&SHNnwwqhetT=_=CT-?)%JkVc_xReadFal zX;58s0{nU7$~ubLX&vDsZ!gZCA~y74NgfUzcgJ{OzCGWpn}QK<08|H~G-ltskgLmy zyQ=*c%6H&YY1W*oDMu&m!}d(c*ENp@gY}Ab&2rGRE^+rw+vtEpGd+XbIkz)yAm|v^ z5;^HjycP>;A^@L4(>@b0!~-_(<9_D}{ifEGy5R#KG6Wo7O3$xgm`fx;+}XY^*<7(= z)gblv4Ai?A_LgI(AZ6Y^p#S78GV$bzC3Qm<)@Fjq;`yYk^~Og_$=tEB=(lqxX4{fm z^0WCu$rr#f@j%(1!h0C}F(sh8lZ^yuSC>P^W^Og-^Y0p#ckRX#m!Lz3L9ezwKcu>C zUi(G^-LDua+8GzmtZ|Mg2SqD9x)x?Y6Q*-j=+R(R??g zyr)fJ0Fo*v+zRU98xH=3_Wb7^fMR(`{i}kT%OwXi7u``Es6i5*+EEw# z;M+AIP-!7%8H9jqlOa!>N7rs=I^m6-i`AABxe%54YDvb3pvXcy*n1^`l{_?r2kfc& znNJsZa{Ry+sq_kxN%VP%k06_|6dHTWUNwEXypYXK|0p^o&d~@baU8fa-6TqhVLpDK zGGLAKVK3AhlWXBwp$sG5q~4P+w!9~hcy|tj;xuwsJjxfh^MpQ845r3*60nNjee=_L zwENYEou^qj1z-3dl_|#Tu!ucQRxTc8_#RM5HhUrd2I`$rCC)V#gbQK`^X;0vN97## zP}=e-Nf@cFFTW0nF!3)N?S&B*vJ*W`?q#1AV$X?+*@*whC@SKxOq3M40U!n5QKaucc@w$pU3wlaxd^}&-X-cCeaab1?uE$XH=aIdSkBqau z{{x=?Yht{SAQ4pkKO_-hk7@D86OL|hfn-tNYlK)Q$=T_KXpU|akb1gz)v#thIvu~?uGM)dX|M|7W=1u=m z7ja&*S(!e$Pmbr^7Qdppd&4hKeA{s@D5d&1D|bgEfOi&a z8aS&q3!}X*foswPNX1c;!xJYA`G=s5IfeE9)ZU83Ir}Qc?}+ZZ)LZOA9^|Bq{u-yA zjhq@1Ymwgf@&_zTwQ0RV?*z{d?H&x?D2ZzZv^4c&?0g@av3Q7|yfAMNS#A?6adk1Q zybUly;>y$$Su$e6Nsjtr{-X56<#3-Rt*V;RtmABtW&ae&ONZSsL!#JsH$FY?3B3iY z9T-|D-4|8Z8DE7u3XTQ<)jpLv2I=E#2Kpkt3oBVSPA94^>{K7z< zgJ*N7LmUZ`QfzU%CdmbVdG=b=*mS>F*GawEyUV+M;_-{Pt0)1*>dP|AnF<}TdU+(hbQ2O=Huu$W;h+6rW0tV9vlE1=9`eobHl3|GpFc|E(Mx>S&~ z26F&4vE!xR{o#hGPLqn6u)#^3ASb=~-tdHc;xxe8j#}p`slOASTh!=X#?ZJe39`>uxwPoPj3PFk!PPZzA(OPP@O0vc#xJ6 zv$+Yfs{Zyz*b2ET*a%z~>oK?$i{G(;n5m{dJNBndp(8HoyFQl1v~C?Uu~SoGCb^P& zMS7)HzqeJPt>TIUcfOgHD1YyI2D}ygN_ju;fUb5)h|Q(D_Hwhy8j2Qq{&=gus^ zB)BJsEq3_{mdpLZ76kXw+-nfDSiE)$FLm*hTFi-m z(vI5r!T!YZTLQ`Ae6H*uK)5zB#Kn_#U8)2eSUZq zR|KJ&jDO81oxBlk4t9BLJm~(ElC_y^pXY_&RnC!2+8bExlK;rC{ek+U54$vVWWFDdOmJ$$ zW`C86k#-Pi^x{uJ)vSi&1TB4=upQ15LQBlZb6%;~Y7J%-XUwUB)YH1HB7utZ|COq= zl~Xtvg!F!Zb7(~TeBK>mg}M{^aVKq`7YqvJ>QUaJaJN(oV}>kDg@e@}4!?rDGYPyLhI zg9m0U5@EyYB*O|5wI&||w3kAKM>B+{irjo`WWI*m2z-^^Nx zR8De8_pBAm9ds$1+TPAx?U^Tb=jzDO;u=hoAl+{XmfMQ9Y2o9!_$XF23H3KjeVE&} zws!kD+p6pQ=pmdx=!rM?+-YYZp7){F;tnUYegI^w!|y9R_41KphFR?RD-CO^!FZfX zvZ2F-gR^NDil2ySsfdIn*;=3(cT(V777YQH`%j;ZiVn8p@?he-`75)`a7M{Fg(s{C z_D?H-!fvI-FPSk*|8lw+F{V#4*XNH=_YmXoOA47-iF^j^0af#9?q}Axbf^_E?=>;N z6FLjU2nUHjX_QM{(FdI3+zzr96~+c^wa#L5Z&sDj(M`9)Y9ryt*R1d*a3>+HBwoGF zKL6>#2H0l}39-M#T5{*x=M4#+d@K+TzAcJ=%7ME(_Q$5xeq(x4*Zf8i&c$n=<>`0^ z+%?i;_?(6pwG*Ge+*T}F^?T;HqqH{%SAznVPPgh?_yu1U{84^Go~VgR%qxgVr{es` zy5KHdZ-d)Leq5k;?mm<&(R7nxO6C3|SK@DIN(oGb_(Sv8Q#i5d9mw%sD&w=0M^E%9 zq6pLEzzV)Tcl*QsC9ZSgclB9IU9CPoTA?CszaDF$yC4e8!&fpmMHJFKPMP`O}rxcjkzq#jRh6r|<@X2vHsqukgdM!KWO1K%qxJ zwDBZvqfNN`8!H#(8DzhW<31gki125c`Ht}7Jtlv5?_~nw{lp}SB8>EPT!Rf1=@L7e z0U&D?!c~TON{s+c|99KRECr#s@w+UbXvQcnQAIJDp~mNHk7&TQ1ohtZMNAOW=FQ^ZvdIAb5WQ;I=nn zsl#US&$g4h=BZV-UoodPW832vj_hGksI~Bu#SM{rq`16&xabxUH2qw>F zVDk>YUwx|oRPID0kBRTE|71^G)Jr|yrC%)PyeTQvT^7N4gnYvWbNPZ%c*i#x?WR*C z?m_YADG!I^#U4FJe=q!Q_j-vya=B`rTI77>pq3{hbsG{$SnG zx+r#8TQ7#Fm&s~ylPxd0PhJP1Jl{v}ODha>tU++r?Pc-5O6nc-J4>ghXrJQ|lCW*n zjlKx}&ac$XT!ecr{pi;>au5n{}q?6}re++#HUqW$V~% z=nuXM$(ANkE0QQxl`V-daTIFd`g;9j_UQW>#Gu~MS@UCH-~*;oJg>q^3x`~_Q&VPX zk(0DE+QVP`v!on78kY%dkpvZ7i2u&g|uAG9XA+ji3cTLicihGJ-)Vs zOC41`Q!AX=wFEo+eD$tDLWTXxuOsOJF!GE!0Dkrr@<6#Q+Aey(2%aILNk-}EMsUhj9?00&#eCjC_a1@kU#dLvy@fd@#i?grqh_%zt*nMAM> z6CvRO^@oHgK<_b?m!xieqfm4k4@MUuk@{j@+IDag_6Y6!qaifR`1XzO*#v*0Ei%!>&K}43p=}u0HkUuJ^R?k<(if-n z8`Dd_7t(6lWZ%8+`{lL&0+41jEJq@BfE|}J?v?^oYeS8`A^RK1KYREZxw=3oX*2#( z#l_>GbzvDo2~SkreW3BT)oLT^#+LUjN{_@|Ql63hH;#B}NT60VZCUSuevjxw9%-sI<%AajcQykkGbz>X(6O5urS!$z~-DeptLYsr!%lHOi!NK0)JvVJao~K|Pia+JeypB=jmz za&kW~tfYJ5)hnI5f{F;)rKM*~;kFsaR`&+4c&D+p!Mki}Yq-sH0WGH9UHa<*ri)cH zroFFsUNui{rd#uUl^y82ltD>?U^tBbGP@whCwFo~bU^-zF0TIPkF4)+KPQ0mhfG@; z&&HN@7agzs_Qo^|5u>1cg05TAKMM{`D0sDR@shyNYPnKu8w`P}Zs z#o%>(n#$>C?Jx+@v(Ync`#?6%O)7IJPaKV1_tU&03M;-%WuPP`a=5yAj1U3ZIYnPrb;6VjAwZ{UdAY zVc5-|O_3R6JU6E7Rc3p4h#V@)>^&?(gYQOHL- zYmhZ)LZe~){ftS<^}$#8ap)q*X%6}G(rb%zekrGGbd)^xK=9=F9XvyuSFU=sTr!dF zXd3N@sV5J9g06`tTp;s(0OB67?+3C8V_X!y)FLhGy*5#IVtHk~SRS?&33S5O&X;SNqCJW&)OjGuV5ZYvR<*>IZpM7Bh3{~Rz z%y=RxY-5Ae%xOB5tF7h zYKt~KfR`t!#q`E2DC=kmH&PoLO~y+uS5Z$Af_9S7BcALCZ$)?uAAnMj*S|{HS3E0n zB+$K2e$JD}YzR%`vY*{)72LX1Qqful$H-j10GFZc@UJuc#v=f#D#G=8z7oV(Qioco zSG3Apk(^;#EWq!ZUc+uGl0Gr!`_oY|RpQwxf?IVmQN276>8W`rw>-H_gT+0&LDN6e z@Ymf_x?j$zBeEg(Lg_iQK0_gsuTvrfc7E`p{j8h$Ukh|UcK&Nk%WrM1{fU?*h6N_B7~3Q2_1*Sg_fkHH!qnEQ0%aw*{5 zy7&;ZQXc3G3RYL&4nqQLiC56b8s2ihm&n8ttsxZ(5@%iI$Aq~}>ku3rJBNTci8maj z3Lyr~N|cr>s)=wF;Iv^d?mSr$GxDDhG*h1jH>ZkBnZ;G|{ zTq*rvs}5_BQ3c=<^e+T-hkhP(I~5Bb-2H4^vl1CwF5Pl960(|aVdAaJFx$U{Asg0d zSC_(1+Z%CD1B4Mv0Iu#kWqWLQ@`w2Dx|{BW{jcr=Jr7Ab(Z@VKg$%&~SGtTVw?2;m z1Q;bHmtC}t z9`br^WIoXn;9aSd{Maj+Fna=-L;i=`!Y!NA*3OH+H;dQpb3}M_PauKcyT9UroZ&h( zR3=Fm0l6JuGq2Khk6WmmQ_uhB!nz{E zs239Ef-0Pjn||9<)B}4Fi%4^UCV;61bSBatSW*k3^o}IUE&s*@%9D41I!kqLi?_G6 zh=I)i|BEN?2B2u{5fyEud67`dowTZIk{O%c@UbzuQ zAgo0u>|@)+={u$4vEyZq2L*NJ%q*GNnzuvR?35*S>@FFP!#}yRGHQD;+=DJvF9*L| zCH<4nN@l6=ihSdo$7D4e=+YFBqXnYlcZ(n)WEY`jBc{B7;&|DoCO`X;|LWgi-;BwA zMp8S;+iY+yE~oXEiGAc#ord809ufwolOoiJ$slm#K@p%~*p`ckE140^_(bd;j z{*;OV;u945-|7GS6SDmvAE#n;)>NXrH?7pjG~lZhhwxZHoM${)56FK+)b(}ogU*~Z zXMO&oif=qq5Fg=vj~(%*;E@ST^44$Lg>EAZ=E%g+Tacz;W2|3-A=4zOq2~x9Ai9VM z$n5>UCqw@yV_DeFHegfnd3rQab|k5dg`QEa=#My<jV~jRpb{gPl(t6V&VA$} z4P-^ynlQiYM~QzJ(f$oIma{|!hM>hNhq6w@Tc*vUtR=r^4Zqykph5>(N<`d$=2T3B zgDPlcK>Ea)f#~9A1XcwBS!hn`JWl=HXkB|X>Kx7LXvd`b=X5ngpC%X5_^Ks*E}wS& zb%JA}5o49gEHfeuR2nFUzdTWiP%O9tcZ1>The5PQI3Vk7#~`SZ-*We@IoO`-NatZ2_Qm^7tl?)wWF95l1%l>=(bH5Dly0YDROb6PE3?|YcU z(ls-`N<4#>=;cay8>ITBy5I@YGcpAL%eBB1CT<#h!7b$-NIv?wLddU@!3sDR`?7Y` zp&DW(hg-^muioO-fG@jk`2J`P;u1)Q63`6G^Y$ARv3LTQQvtobF@U|r5ch1j9(_Ww z0|T0aanVLPJQZ&^cD;rELry)N_sH2;ndjB9!WjT10j7qEyk%YomtQ`(MU3$%-u4Jh zx=dSJD)oxT0rpF_=BISQt_uYPb{pWHa&v66{A7hBmW!&JucA&tyL;B_1GoHTlA1%izADFzXFX0 z2SE-^f9SJ^u8X7f0?HLxtvOmpyMU~AMmNAb%(+fsN3I75$6rrp)lzo5UXJf2+XO=y zUal-^4VWI^u;>r@aNdFyyM+lk8RF~P!8v-AS@#I5bvT*AU|O_WDSlJT!=yBdn@*{yX1(Y8Gi#) zFX+a+DeTy8^vrQ2jYI9ye2QC(EBEh-9>-`Gh&50Ny;SZdO#k_gImUI3no(NM?5t<{ z4>2LFCd2_xH3Y|wM%9wtG+^odx?9zgu1x34jyVT!rGs!$2nMbq?WvHOU;6&e8 z87Edk{P(AMuWLR(resxdvtBH<15;}3c_kk|6J&|!1XV^?x^tRLx;~53FYrkp44+C1 z!CQZJZ0tynXk8a_@?>ZrROdV3e41z=S`ze5ppS@S)HsDpxS%y{hM4nMJAIE@LGS5S zCbp!2D{q>D*>;6q#>(PC$}fb9&oO*;eHA{w4%)69qM(sP?LPKIMzW$6R!s0R1(Skv zT~YM}EuE&51SNg;zD5SQGAOojW0PEF^eb%{h3P4y9$4&cU&iZa(X8B5g}E2%s{{JW zrPl8oF-{bH4^c>U1sEy0#?^}eM1HyoD2LN1cVC-*&vZeF{SmnW@3QxT^kcmhkHhtV z?db`@#KgiqYfvT>7kLOV4Vhb!2(E_Jp5ii61E8~?Z;-|i>K^`JUiYx!9bC-pr1$dDh&_ka1U&vAP!;iMj zHaM!Orls5jxfC+~#hzU?Ir$xV>ZrH9+$s5Wx0)}4=+(RDh52Y6!$sQb^wN91$GNian*WNX39dkf=36t6kWZL~y;on07? zc>ImGm*#=s)&6U|+E;Q!5?V)a$obXTl1``wv#DHfu zQ6E;o9O8Sqas-$r?gqZ8fczaBOW2$5>%+YS%nk;NFwmnJ$$@k;Qb*wfrR~9Oj-qS{ zG{?>Q!>3wCz;*u~u49TUDVl!xaWbPCBL`4_2C&%!kYd1)+UC><6{};a^rnCAEfP~A zn^26yYbq$^4{GRDMsYV;Wr4{v?YtwIE_Z2u$)fsy*A*J?VW>Qj<_XhuoptYbS+QW- zA!0Av!DMZEZ>x%z83j(&f@cMgiX@&Z&0$u`&#r-^DB#O-m5DL^ttnzJC4aT5^OQ|# zlg?k}=ly!TWaJrC=u7JDOS?(?K|qf}EZ8z#{YPk%>|~Kw_(@$YR)=%-=6m83oL2Vc7@bWO1*8(%?8RKZ!)fbgl@KLFy$o+vCG6ry;-WU3!!Z& zGJYW~Af>+)C)q2>e);81a4el#YZA4sWf9A`m&CH2^Yh7eZh8%N2{~9{$Qpd=pr-2Z z2e$;uBlmx7?VN9kw*<<#H6an;@`5gZ!~L7AW|^If5?(W(+C!Af^A8K1^p2Q0{}zze z9|FNJf4cG>RKl(5E!g*lI0g)uH~b1pGDK)?w4Ek$^es zUj4uD+{dL9^KaUJu4ZN>SD#35EX=<%=g`DSR?5uQhE8sc=`Va|I2iV~i9fltAR_X# zRj)59db@7Io_^a~=nzq}^GP>{8o&2|7A_?i?21xBsEQ|)+dmexkYllUZj z&Ng(VTYl}0@k5<1$Ln4ggjC@V69s)9>^}1SU>g5k)4}(1UjDY}phr1F>8&lSHh+b~ zgcu9xdabBpyjM8?Zp1Zb(_EfjMU;4aI{V{4;D95p`36Xb5EbgGxB^J1eseij;5vor zHg2zd+hh_FZ2l6V*4gxwi`UNfSr+>ubwlcl(-hDUfO|IclM{Nbb1FXt+&PikTLf2V zXkKC*0&Kl^#`tH@U^>IRNQxJ;Vg(-pr~3e6HZ+v2PT^@C@KNcP+U_RfdqDSV7uRBG zuT!AY$G!QgOCO2K%v&%HW(9Er=(vCCydo2}gn1k1eGeZ9pWU_m2IwGpnj}uCGnzw@ ztUc*kQ#wYW7SB|z$SC5K`+({F)(&+p-$S{c7Mf&VfoKd#e++~WUzH69v7a-Y^>C~) zayB&S3Irmqiu(VYo$)QcEtXI$QHRDOcSU2{dnHOPxH~+A(dy_`*fskikZ!@xc!>1o zq!25Jz?=ghYP4wp<%Uhet@Dbu4HX5U4-OJ)S`MlTw10&iac!3tUNiYC8Z6U8zI>q*Z^nr^_|9;4u>!se5u$tppO#8BKyLB;`eaAXg?W#`oe7yfadY9WgI3L6s%U^ z8ky%mkvqfA91%Mb^5r=L8Ea8K8W{jp>cYIdAB~yP`qE7l(Pk#Me@J_i^rOn0o;9!x z=t+3~MMq`^OC9nSJJ)7WRcFJRpzV8D&MwJo&k0e2&^)=2Vxw8#OW@NBQxFn%i?*9b z;6D;35));sfr08<9@(MS624NCYt(h3z)t1Cup6%lf8fc3_=;Q2S5F!lcC zHAjWquf$}f`xoD`Tc*E;a@*OHys*x?-W2*$wb)&-(M>|N`ebd7+DuPy#IEU7ReHO1 zqt1B()huY1J_FUV%>0C>E2ggsYN(YQ@(rGq46`7qlCic)*?_JW33eoe6~QPaG(I4N zpig2jXe1GUs^|qLMe26m)?>PT@KER|{N(a3Uie;)7(>pl|Lg+6QmpI_XSap>)-sxa z!^`8QPHhRaJ?&;=N)V}9;OXeH>OUC+Jn=vjm$<9x_9T9b23Oo$7-JV+zs{fwo7Ypd zRn18P0EQAOhZ}-aLt8G2(tfYwYWTf1f1l)c#%B-j#Ds#K7Q?>DeA}CDlTKlaO8CJ5 z-Q~;)P1c1cO^_mN+tPC7I3Z~MKeOlg=d(?6h_BiG=eGw47Gw__73%#2(63$91-jXe zjS)-ozokI5=)yd_{&sKt5!s?roYX_%h!gk;@a5x@Yvx%!n@ZnZhb5k9teXeelXcz~ z22Mbfw*d~?4?HAX;_ivqmc>Ij@u1?SK#q{L2~8%#aD-B(b7*fjZ>k2ri9>3J5y|UNAi_oa%H6@1 zv?*8SA^O!=lz47H=5~3UO2?> zyU%Z!Fg2j&WYGEDdL`Z1lf;il-fFp>Y5PUE((I1sP5OcDjl7~Kv@%tY`3Z{BL@nz@do;FY&!cn(i+?`Sx zDvS(T&NH8}=dBmT9Us&&SC2e@W9C-@CWJAV1)s8^n>@slnh=X2zRW?c=!C8-LQmGR z-ISblZ>%YnFrkX67eAuwD;K%bcCCV1%u$?BAEksY`ct3Q=k(%?z5u@0LJmv|YtKUm zW71qC73#${G=$&U?z|FfS+G7B{5t+(TN%6OU2TN&^tlBccD}WHaLI&IetABN?=Nok zcg?21%uLF0gV}ADi>)s;PV(JxlyXPm8`C$&5+FTjNXn$+fDyEox7bmU#oscnds@+egP0nb5AcA{9(PN;kR!%0TDDM zn_j7T@4B)Lm-VkZJ)Dn6@K_rceRtmpd7bC<(8)Nq*qyMNXUx5p{H)rVMi3Eb+QAJn zKUGu*C5L^A^4p?S`%tpJ`ZCMNpdu-tys6zR_ZNRK7>;p zD=k&s?@Qv%8F2cX=@QRUKDZ6kH0k<#CkBP5oyM)>S95nYs)xFovFui3I}DM^g?Th( zt7Bu)bjs6cdNap=j6Mv3Nv7ab66lNm3^02_Hd#@9vF-se3Wfm)Ox$3Q+w#~)<#(P3 z0q*~%%#V)97cl;&b)<%8#2KxHDUDQ*S+g>hj*joC0}$~7s94ayI9m;w4}kW~R8x19 z(ma~0(y@pr60_}@mFXJihK=KgVq?%G>j0C29a)&QV{88($Xp* z(%mtT&e7c=&FGHN1IF%mzt8*p4cqzN=Uhqh=cQ;Y0NLIj&-^^hz~god@4ec53uu-q ze_58e*pUy;pN0x$>Fyeh?V7Yk;!7%GGWk9&&8hf|_W;&Fra2h}z%DgZMIn$pV$+6u z%7J>3^x`)17eo1^q4`1T;fdqVHX}JuI1*BQ%!D32kU#|2U->CuvL%PxF^ln)g5Ms~*}w%;38EGBtf#wKd@ifY7|Y70qb&S&!h!9XT7V1eRSnUS zrJr`DpqbM@1_7SO>i1XG3%#cb#>-)+=T_^m)x}hIn}giPWERm8S;J$JsCu)wtb5JB zPviJ&)nyM+nT)liC=6yf-7@`z0S;K5TSKW&{n+ zOD~8x=plQeA7<26VmPO)Y85<+1G+`W*mJ*Vi(r2GiE^Ysh1&fpDoTo$7+Z}valQ+K z<;RousPV5E4dHGCoxLaBIbeMl0e^qZ3V{2Q>lK-B-D_sowVql?b!O3|X)8ax>2V8D z40rM3=f(drC*DbCMN9l%_laAs-$z20otzHs9H9%4SiEM%+W|58cP%E&fsW2=rg(3E zik+v^ebLCZr;^Fd`59Qj@FcHA#ob9-b_hT6H3#Y~U%Mm~g#Zc8Ft?1%a7O(uu|#!4 zZFmC6otd>7rE2$qxQd>30^1qih9fXJm|5M{txjWed^$-_X|N;S;{hGi1i$Go<;Wg? zMa};MZQ~e`HL$myNkCJ5cC&&R;}nj{CLyf%DKH&Rxp5gf_B@Ybu$9Ugk+IzM-6ySc zOy)dvM^3k>rQ~~QNbpn-cp#(hbn>$L{cMsHuh5S;#iWBkXv*(PGBf zZk8JTu|%90y(mh2R`0f3373i_Xq}u!SF3qrR!`6|uaOb@H1~NiGIklB2{PRg$+|q( zCW@KsQkqsPQ{ED(!!6kD!4%qX&S`|Ti5gj{>K39$V2i%?SlQsl*=I>wykl%e300F!D6d_@v z;3Kk5m7pzpV=h(y@g^B$>B~O{fHu>#>U**4cBHLuaLn_#6X2*>C2pLYDYK@v#>`nR zU7{wZ&8_wZ2z`9=m7<8rd(6gymg@%c+{$Hq^&i>GcS@59_3AN_lUP1KS_M-y(w&;` zbPMD$V=M+PqyxAHgm{~1+}9tXDBG_4s^74W|4ze&o%KRxPOfWe&nUS*;@w(30piPZ zte#-4R>cB|=lly&(tl(*(VoB9=3l>gYZI|S`2Z`Jfq4*N5DB>QEFkv~kVqs1qjyfZ zc-#wiYZU|kY>0uzuV+^Bm;Ra-Q!KpuNTU%1F{)Bp)D4&YQ^dv7=N$&YEkMMxA)aY) z$Mtmp-k*S}2P|a^HHJq#S?3t_ngc36Aoc(m&8B;%(ENAefpUf$w3TD?3`f)*rL*{u zs!*IdEgW)j()@=Akk5 z>wMrymHoAhsS}N^x0~ZE?GijQLTwZWSUb4C0sJEg62H7lb!j~Ab5Vg_B<`z$H7<9y z$CXb~u-&Y*?uky5sO6TfSZ@>w{#pL5Okv_#{@fhR90$XrQ6yvvdKkL+%Ox!H$X1Z9 zi@CEGUzGl2%R8bY)`{?UYFJgV*O~?);+IqciG^VLdU3+|(~qW}c6tyOw1En5r@~5f3Fl`%m9IcAn|$jubiZL}Ii+(%C&=sNaZc-p8S# zR(vYW=V;Dyb4OnK6O>Hh{BILG8<(66DOqIUs~R)EI>zZ1fipaEKu8BE0iJuco>^?+ zF3yG0DePVeu=dKw=TSE!Pv*Ggo1q{+upN?OB%bzYe+ZQwy*eakoA;;Z0~&d`yP)Vp zdJ}`AK(5N4^p2CYYnRa#_RAG_$m1sg_tzq8NoWtLZvhX{V>9BnM<(|E~ zDeb4|5&5D;Q@#qHfY-O73JYgM@k`A8Zobf9o;z`fp_%r`< zf9>^o6*r@7uu__9!HSExvG=NejE?PF-iU%W4^La?+Rn#lP!LF!3X3cn(8{Q4JKgw* z1{reyl-@@qD8HlAoUY1*V%iZ4)OK!w&AakYu|dGqC+3lgDuX-$r2`TuU!Ha@Wqku_ zBs;($X@W6;>w^7raX{#3@S-cfgHbt3tL!Q|D zMA!K`>Qe%KNtp-FQ%}K*#4*mW4G5er!(J|4Lq7QFl;N3SUj$Hfk@X*u2F6FfX4ftE zG?tv-!faexq}AeNM)v{lP*WdYL@L<7b8VozuW~h%B`g+$TtuB^VNd2(xGtkT8yz`K z7|!X3#!Uc$)wc(wQ>j*U#V^gKdtWt}=Z zIh)H1B;>D%87Ye=4gPBynp<^x?0k|y!b96ghz>Q)c1n>)yQ7}&7k=g;8q~4DYFZ>K zzZyc@cF*fKvk<6T8TQ2Lb%F0^! z5fY_wE+r=Mt>Yw8QpCEzHdM9*=b>O+_Yb+L-GSydQSL#B{0=tgCJ?y~uxaj(J`mpzSf+HSPDkeTbeu0ba6H zGIED4u;N@%?5DI%%N)5+^eN0lBtZIpz#7?UtB*`S;@clHe;WG6G=m zIU&`pslVlK3X1>+8D-%!w$67k@nf)-hrlts2}_^nLQwbpnZ8r#8+#eg`eU~nAE}3T zwX@f2kc)ceVQEj<-^M~n|K@oyWw?mv0rpir>FWL^Avct4EqSJ?VjuhBG=LT>Zzg=Y zSfg|XI6LBRxmmNk_kTp>F7GDP@(`l{9I9;TcY7HvuK|lspKnEO2)vb9guXFybs(aW=e@Z|QPWU}bLY|t&?lM%+jioe>Zp0cG zD>Vwy@Zv)?a|Dy;hN*e`N;GH!V;4uq6V!jJ|E8tYT9z3PKtV^qW2S?&D&hPQKqs1C zIxV8)?;|axUuCg6e%gJ5(|1Av%$t!|BVN?aNZ2MYm8)hJY8#p~tgrY!_)qWs*F=Q* zjN8=Dhi4k;dFF*L?o{}n9x%)oJH8Igi2^7;lL?}2KMjWrik*UWXAQ*P$Tw*-KrZhH zt!fs>)^jfBYj8vBu`z?Z5!El?Qby;ZgFHZt#W4~CajqyQgGlk963LW$*?6DM(!yY1 z_w2dU8g0nY@?OO03Hxs~#{=S3JJe^8swZcxhAoN_1nd;wYsPOEh#k+^Vl-i0U=o4R z^<(0+^DL*0Qatd(&+Ood#<3W}n6E}i&4Gp$Zx^MfXwEMe%~apNgba6ew-)vRcY(^p zyc6s<7OgnTXR&om+~;0CNHR{hQbRYDu@vFWABR3EEqP-v(V!V|aoTU=Dn6|u8LxM% z1*%bn`#Rs1OFnu~DF4N-n(>>EW6TNs2z8dgFDTjiY(>7t^8=rOC)Q zb+?|R4W&g5250EsIDoU^$v*$ax;D(T!=vnp#$3X+9(nu;U+?*=CmCrKaf9=T%@IDM4REy+FnR zM?;8nh_&Gb3mfjuma?;bMeUUB4Lv$e?UONP6O+)fIpow-F!S(E*@Qk-ac zTWXfj_Hjb(+HM9%bmn0C^NnHb-$;SZ4zCP}oyduQ*C~?qHxM;(!$93sZ*-=({I1_z zl6hn;rS5!YxWWA2#xG>OwH0Om(&Y+tDAXhu|2vIO)~j_Q0EV~A@(Hv^UARX-x)tYjX0LMG#ZskEgLuLYdAD7Wt*_oMeUfc?ylL#JZbdZsGx z_y%gJltiTrFuupHf5E!zkuxNjix6r&0?k8R1?oL-qq0msI%rALSP!{NU^GI;oASsi&?vGG;FczMH@v5VkGlRb}V zWpKYcjOGG6YQK02BSsJF-LRt}XVxs?EZ6UWn)qjqiBNAFiI+MLDo4JTs-`;OGVXLE zJ_XMVO2Tjn$;aR2XrzAm+?DxDHrIimPLPAHG_8-K_0L2hgS`&{s~wj|j$Q6%LYIg0 zvTS}3+dW|fdqBOZM&0N$4l%Af5aCPPc0UE&r6Q#yud$e>eq5dQf*7%#6F2|L>M!Hi z>XT=w2CMAi^4X6MiD?fcb=YH^IUL5H_}{8Dm3p~b+YtG47o%^z^rF zB=4&$zdl>NRjUXf>HyckR2?^ATBgy(zGyS}Y{1cTvEj2BMm%832)v%eD)E_~d*|~t z8vNMz9#me2Hb)1SBF@d<2k(T%3caA87S!UxU1=5z1Or3)YT1swzmhMdL*9PX!zT$SixxgmM1byl82$V_ zam>-jj7#}P12%IB)_T+>w?7nfe?qwitMxVYFs;Dw{Q| z3-MnpiPDeInf~c5nto2|T~~D&bqH`R%pTzWsYLUAm48-o6abP##W5KJxpV7wJ1^f~ z`beVgHg*5fCGkv4`!w=;PqiN%Eucr;!kuXV@C7onu9cxL(V_UCM`&d z{g|(s=6nMJ#70&5FX6nNulbYL1>1zz0*)y$3x$4O8|^^rxhz97`s?-kQ%x>Y`{xn8 z#Pg%LDV#pj5MIfawUshuMF>#>05A z)dd&VGS9(;=v;j=f!DV8-&SEb2LM;MU>|H#!?9a=E+&fv2qPFjee`6{=hr>hD%dfI zGYam^^tZ>3&rcd7l_wU#bUDCqGg7bmdV%7Rv0KN1H{Zsyk__ckHtZEl45 zAUx0h6o?k|R@fikhKB(~9zU+#@u-|`0ojOtVXWlNIerf2s^Fq^wO|WmwIG4Yx7cps zA@`A*!5_{2RXU2iqS!xPsYS*Z*^PFu4Z2sb7n_(7DrAd_1#4sNrwu#w+Y%TaCrt1R z^yC}9TGM82_Y?yunKX5*eh^!`Z(wDS@XUVk&yjbeK_Rzsq~((RAl{ig(hO*^rjGwj zFeW^aG)Ay9)gf4dNsWrT+0s>_dr{LXVrVjhr4u8d6Gx|R);C?pEnc~=5PqD~<>WAf zi`V??Jd6Lw(-hSFl&CkfY%DfJFuvRqAg;?!qp> zyAw7>i27Ub5HuQt^TD1LyoRKyOWQc?PK*&wu^ zps~Y1A4X09J5@6Ny46W;*7TbUEtaT*CVDh>sI%aL2JV|ZrAQXtgOTO|_C)Ab$T@{1 z#Cn`17ZKn~uis$YAMXD9gq4c3rTC<=(Y_6RJnaNG>v5!a1p*jRV9o7QCkvm{w#n!V zW6yPGETvWWhrx(1VM#9(b4Kw{W81xe$cftOSr2m=Hwh|O+wm!{Ien*+2$@yJbvQ&T zAk=z7?WYyn4aCS^-q`fcrG$ynNIU7IX#N5)5y{u+FJLG@aS}JVc+=YT$|Qkds7moV zfS`gm)3(ewmNn;S@E($-?QLQEc)15SLYohT!{C}IODt|O0ckZ(xkOtTxK^f%yS0boVpK4V8`s;%E-^SJxDrq}iWY-A7J2U^6fJx!(| zz-LnQx$39B%N)||ex*g6-=^U}#Xa;Cu!S!LLH%5H5WMJ3O!5%=PuD)l zxsCg9D{E4vJ{u5|@B1`funYV-YExCy#HR~n%pctSxjSNqjtcDE#*Ze`^x+RY@56t+ znY@TbaA#``$snuUD0Il@ykntdNt!I)P+klUw*PxeOoauvAAR7XQpQ-#E z2d&V+R6qEBsM>#!=hYY^9+N|~7&|yVsAKAfH+NKUv{jl&H@@0|0*?sxuWHo((fc>o zv|Gv%AsquCW=zP8Pk|wBSSkt4c-Y`ZEQF_PGsXfDM_xbMnHPxi{)f)QGyxMR zn`g8N2QmKC$D2Ps)Ud2k$K92`i&T9VOij{?@WX?hoztw*1bo1&FyF`B9?-JZzAYcT zEr&XECABqfNI+?U;@}{l=fx@1o!6aqf5#dH40v9xo!p}yWRw%s*<&dxrf6>sOLNmG z54F~VGumOd=Z+1nh6B0a`%xa$a;9nN*6Sh(Q=_xt^KGue0oL2D6CB}3e}!S^LSkUU z`Mm9orr_0d3Bf;ldw3yi8H|kp)Es_Q`m^er*psH6b@;~2wMD7GJHuasXIQ3^zMdK= zGX4m+C(09;@m<5OKGB%Lel`n8%;Ti5EMw9^kruJ)(S8F{kM)1)UBkV(=8xZUnKlMc=#zd~k`CF)VCd-VSH_5wUVe#gMw%z#SpyKG zQ?MfpRx1^{17-K0F`pY_BmjhHA$KdxCXJ#`>MG1Z3Ockx-|!E>P0mS7ksllm%zV8&nGOBvELE57=-yowy*5aYxlNs>7{bx7FwN(?Jod(#N$ZnZAW1?{w@L1z%HR z5BJHYACPvCZ}80Of3Die1>7*bM`_alJbO9ErWlsE5TU=1rhrNL4kx1vL&d|xQxGlc z72Ya7zc=8=F?$rJXj>sR*6R3Z-%*TjJxyt2GRt*eD$#Qz@q$m_+jd3)D>gO76u&9w z$*<}>r+}x?V)%1g7as&c=03_{=Peo47oRavrU`;GSuTVR#lb@aTpUw+Y>Ls%-}X6> zEa?L$gyyfP6D~Q?9HIp-%Okn+k6iQ^pEu*Ai$b4ue_#+H(tjP6tTA|Uu~ZB+Je$~& zTGO}@gvsWCtF?Dj9CNU^d+t82Yh)& zEKWAb?f5g@b>5uU(lGyK?JgXV=woqH9=9K+bNHPp(*E*uPwD+k)vU^XQ-**(*}W?@#Mr{S-3?5pts}3y(?l06&f?7 zPx_cm@sMOd@#HfriEyC4}~(C{}Yy4MLuWK0v- z)N|ZSj^9y*^2QNrxH;J!lLf>|d4)TJB;Jlm$vTBA?t>2-xlhbIuJq)2evzqI9zP5| zGI8PSbn?nN>v>x^6!oPQ)%--}JHw|;e>MR;hsj+B|2sFHd*K$Vj_b`98zH`QE#jsR zZS#7MIk06FU%)8S6}c>2#n0f8=KBp>hC&rFg~9={q1dNH=LfbX_SD<7J1u549Vdv) z!DB?`#Pk|0=0|uWknhu;)@#%l+;9v(m&M*lnku0gnOOrS)-rKswOY0aWBM~3P*eYO zSi)aUDmISSEeh$F!{l*!(8JQ=xKbKCS#f6Iz21#zNN1IynBgG(bAN5UHvX;pH)LaD zlfcw`Korrv7w&z#FiDC|ZZS<9Q-q5>W4i9durlHI!J;~n>kwC8{3IUnpTnJU zKY**_yl9A;i!EJfudALa9!e+p(i89_;(=c73;1A^(t$n;T!@aibNE9LJiQYX;7Sm% z!&P(ZXH)WPf9*4vwkrL4fUuUF4%S>OIMng1fGgocM|2AS=%X*4-MK}W!2Vw7p$#JX3v2_v}vDCL^PRA;P) zpXI;mPc6~=4m_nLz6L!2GCGk`hzOaytbB1&jpNxEs&ee9 zut;*^a@vTMRtXx~4Os1vkmI?cgkeKclU_-H7xfao_x!0qESH800IQNp>~N_|DLS;p z9JrWx&N(~2HYFXoooO9*`t}Lr4z~A3T<(dLp8c;m(+=leoy8NKSbzk*#_0$si3@FW zwc}%SbcId%)iMLeXRm2RVUI8okaOQu&cra;IkxFjJggt0Uig1!KvM-4Mgo0eXvh;J z@Xxc(!kbfLwY&0F6>$Y-;dKkaIU04@G1I*8agub5G+oQA)Z&Dxdi^|~1#Mh`d&Gq- z$#pYKWF`0hcEQNKKA@^iH7K7mPe3=53J3Olr!kGdlb?`zU3)XtJz%VMZv^nHzUskv z9$9`^!|1I|Hm(K;NVAPR>ino;e`49$z|+?a|vOmb}BMS-3HEW|e=!89;LXnir)_E=P-|QQn`+~$J z0s_IxvNRAdhP#2mdmqabwAx_q)ufgDWm8_$XS6H#^N1;d6#||YKhphoS+o|P*U-kh z7-Z3YQ8n(@oD(b>B`$(;NDpPJtn=b=JbIIY|Iy59MMG-idT?}#Dq09US$+Da01-Fe z+c^)vA?CxySBDgQe-3r2&9kj|ucT~mNSZVJE?}N>nCSid%{PG>DL7$bba=aYbScie z0$%URu1mHHnRpS6oqD>M7FSz?3IfjW^2TgYwV~$ynTeAY+j&pVY9-|+M8B=+h{)`$ zRmhf19xU0pV+bPn8sN79D@=USo;k7mw5P8{90e9f-Bp>dbQ%a!g6&=pw~=}9Z=Hv% z!IO4`ig)V`aeCPbNFDd{ioare(OT~kq?-60oc4lWoA`X1U_Su4BPI{c7byPN5b|ipM@;S@=N*G0bD;Oos z%Yokq9oLB|s{!M;7o@jz9SMpXS#O+A+1Yqq3`FeEGntMZnSQ=B7|8`a5=2?>Z$K~X zL(x>4jd}eV+_Q}AmwJA$?VpjdJ-a?Y$~)P5@Q*C(z%w1Kl`ky^K-ED{ShFaEs2X#q=G_Sd53usH z0$o!Qf?pD_O~K)eSHx zD{X%E`|kYOxuIY9mqY9s(2>c4mOZtVpeV24BSE)Z`N*V=HqaPMgBBMB!GWclfPIks zLdxs?KYztcQJI#HRu9)PLP{ZtY_n%fWRW0Tzy~4OCwgD-YRR6wZs20z9z*ojBgdfL zr;rz~@YPf%-=WAf^hP3^<3}Jw6!`k<1+PLoGIx5rT?7X50#TuzR-_%q z{lLh=>hCZBQwVU^Vc@o=mwxTAU?!XtSY=0FB$ie)bm(jk97JF@J(EsKvi`RQU?ZSy zx#($oQ7-F2x`Q2TAinATE$v>P4J$7>-@xh~CQ!Sh>Ce+J4zfeJ6k6oVpP%==gZ-me_&G5jS!fL6JK}vz9XEB zLeH|)4XesYOwBB7TbI%LADEyf<)2Y?WE@b0}czUtj+TM=d zZIqFa-#ps|rHFBe`m(iO`t*MP+_4A8galBm6NW^%#;uBBczLlni? z)3b$bauX69l}XoiOG9em=3Nr88u?{O{wvL`^@#){&-UB))?6B+)vQcUpr#&3IL6}ZDlG3#OPM1~JyFEek4DO%hdH$92? z&$M(EY9_pg>oMzhYke=`^5mo|3092@TFMaq^y4z4&e69%0KKM&Hws1PfBxXJftT@C8(`#IMwF+? zpp%|e3|pOH&a)*b00WTVfk!oKl9(GhV*|n#Rh&&IA;cMVDMZN5rLd{@{q_50K_?RL z(HLNZ=ph?ugXll&1Y~5)DiV@1rv~{mH4_B!@hKu8;=e^~|FZsG zI0Ogpj1;(zfH;gZBEXdQ>)@-|hlKT*>BW>2BFasXi0wI7S!hgkU;}0!Kbbx1o7uWG z6I*mUgc!0YVLis3`SU=Li3-`^_K-o+eGo3|1#o9JwFC+H2ySL zE)oqp-j?6G<}mK3zq0%F=h;Srr5n?OkKGZ>&e|w?*dO}YclQ0s@`p&B#mWYk)zuF^ z_a-4-79Yu#2vP;UZcC4e{-YxL>7iFZT}=^H8r|`Z?9fR!!&Mnc!Y5Nuf^L<`oni<% zY)HfwFmC;W8nocwq@t=)(;@eVuBE98T49w1C*BGOIz77338 z#Q2s-!>m6ay&p_<(zqwUE>O?8F*yUdj5VjWE7J_uPmSXnk&x{{t-mh}4`%{bS7^mi zpg>6B^q_*#yK!o-YukA)HK_<>61<3G5C`H4ALBkA`iR@jjtdAGy#8J)^}^>!!re!u zi%Tw;R8->gJ@-BMYu^vtWh7x36P2dDodvSb+$coT^r&k_^CaxTu9ia8hD^%>!9JOr49H4!-lc&&~JP{VUhL3^9SFQAux7#F;NWkSTP*ol28-llNpp_J#M!&le{{|Otj!#1cfQ8x) zbYxZX1_)SYPzf$5y2v=sN_=m;xRtMuvE2__6U`fGcJ-l<5E$c9LE|iAQ93PSCCkPZL1X9zdn0Dl<9? zOHH=wkTJI0ue5=AfAB24VoAGR=>e2(fT?KUh9qR#aPP)Kf~;bO{Ws!-z4J|G7f(p& zn{=Cy^NM?jFcPec8Vh!ME{xUTYmCDDNQLy7u1iMqefm;D2~4~D?Iv0z-Y(vl=&RMs zm*(Q;KJ=b5yNEc`JHWmNqI*MVQ`JkE{%7-|p$-_ZMdtRpInXFXcg&}spbIP zYG$QMyd^SExbT9zSWIPMdAV|fq&LKkr||@aTRLXcJ8;z_E{y|ldk4f>QN9e11t$N@ zt)$mg;9o=U&im3fH|m{Eu0QHaN4qOf;_gapy^e|x&Rd|vw*Zfo0_=<20uhE2SJ&SL zXv7NCZ=Pq;ZoQAmyNkx0 z9n``LWJN=N`8a|S8!xkevK3Kn_fn!OmV{#};mIpl8iG@R zH_H8ZD?!pEk6(ZF7e9GGipbN;U=_`7GJE;$!BO~l@qT|l(O=Z|#MAFuE3?~{(J_zy zr3A{qgmrEY5_d%jtdd&r#M%6#DDgvhQE_$r1}4r(>#VT;3jA-p(Fn-aMy@3 z$9pJHyi*BAH8`i&0rgNk#+Nf6Hm=BCcUM3qkSJGNuj8CAhZ6mwTqYHlJi=xh&1>=a zLf|IBK*$yENqc5n9ala^09f4r0Aqg+z&^hw@mJaaHd1=ws9bgAnWx7Z1XVhQ39>d! zNZb`d-u4>bA-0?xyP83u+nJq|f?UKH7wgIK^A=YcOUK7+3r(N%tOxj3UXdTx)|z+d z!$rTv7?x+s6L3Y5VnUwwgq*CJ1L}<9$ox#mC{Uh|7D8Wwhrm44G*CZ-K~~_bkyu^~ z^Ct9RQjZYLkUBg7*Vw*PZnDxEDE8LOmUHxY-yqQ8x7Z(F_~%b5N!=hy-9 zAthk6M1d_W z#1^y*ybBro>F;z=FRL;BAfd;bsZdAx0QXaX{~nxXgNh^Z-`aPz4kLm1O$<^je7KxR zN_r>#QvNS?ji4GvM)?$l+1U#T^;#Z%-yr`NoCA2S#u4Vk-szjETsHre{I<1V_Qj!O z`2}&ZH7W@OK4O$NHgYN&crR20t4 z4gXnbQZ^>o4Ov}oD^XoP`8ak(_A)-~_I0ji(8!MtGi)s`aZ9*u^^l}_h_hZgYOiZDmNuoPI+e#(2)dr zydZ+@9bR7&t$IGA42U$TJksZ9*hYHV2LDgzf! zcS?6Fa;$Ud6+HcLE57rC6>LJIY+EAQ>NbPvj#6k^sotbk+nQCWpnlgu#sgKK!WTM{ z=L31f7`t%S*q~g6@2p`8A}%k?vka$x5EwU}3tpC;kNf;vgKJs1Vx;b6rCqSCwS?0X zPb2;5hwAL@zzo+5WO1g!b?JZ<$UXBeUzG2JU|i5>*Wc(S;ARr5!rb_~Q235p8*gjj z81L(|eZ&bI=3>7oai{HO%ITl5^L6*ZqNV^Em&61%mqI30Jo%IpGO}S62{2h>Ve*=r zh?#`=cBpm;s5fl4fXDOOS*zm;(i10-$T^J7A0Q7gd1+T4%R3Us2@4|CF_%Lod9C}3L{wKD6OaF|LnMJJAx_6n5s9TM_QXS!a2n7t2d`N_%` z-y9f{+T|rtII)*N&zga{M9konMw;uuJ>>GpewiHBh=(|$Yv&Ep=;rfG^*e|OD%FoltRQ$VdL2l0zt<_8-Zw(3_i>ms3cR$o zgJ0KR9By0rQ2_JCruH51ekHgEKn+j(qn^+;Vp53{XIQ?ol{h$PXp8`GCluzGop8cd z-C;j4dilAz_X&fp^~PHWwVgSIqRVa+(P`8~%MG$H)`*@Z4~CCsa6|H%nBIXhC{W=q zw%zV6=@jb@sZmPV-w%;!6I5m~V9Vgi#&GmrCjz{W$TaWkf<(q+Pi*!ecV6;4e^Z&o zz$`bAMKfnD#R^=K*K0?_r*UQW6F{MKNdra3qC>x9$J?xn11dzx0{cK5|K9oOScD-o z{Wj0HB`Z6GcZ63RohQ3NlVSQJ$sPm8^)Oz9wc!HTA~VLzZydPv&r-Vzu+-_y3uL))sRxAyJ9{6* zhc!2RDy_mJR_qBanRkA!_+5f!8@D>N^pEGFheU*Mc;7J1g!F7!p?aJf-(&D1&f$Bt zDQx9Nhi4N7G`S_VKd9Oryr|8ULiG0Y7lWAbofxO+1pKvW?p=9UHR0Q_RcpLu7 zI%t6J5GnAkVzV#gc6BK5koP5oqe+31UK;ro{QG)yEmMyx+_lD#R4P|h+#GZk46=sgw_B2W6ML-sajV-H+ApW3OP69qhMmMos*M7zqA3lnAM#eEkLYOy|(U z`EGioBQC5k4$)7Q6FeZ0pX6^hq0dX1>3*4Lhzo69b$&B}PDot64T1oJMnh4Xk3?y- zHw-%Yc`F5Gmmfl55@7(EYq7FQ{>lheXg6ShZiPB_nNMGyeumsppeD!4I?j{AEB}(y zXEcXX9WpYZwn0uEkh?q2wcaD;_r;q4?Cg?+d3)&&((#6gw(;4^eNm)lbkJ2W2R_qg z%sOSIY*GY}NP=Biw~n#7o3X-0bmG#+-Ahg(VcHK;3q}B<*#*5d%)hKhvKa{&+|;eX zKhkSvxO4lG%X>PYp8DFhQuHue))O1^VwTV+rz!7V#mbp%m$b9 z&+YEM9ITfA<0pUjgb`u)hK!%D!m(1A*=vMOm&D?3c&-}o@HuHcbUs3`EO609) zzA+UuT}ecJ$DLZsK|X@IAw_0iTmWel(@<0=u^Gpi1Q)6=h=uemY^Wr6>fxtHXizFt z%##Ie-n8|3})!S9a;vi~%5(0wmGZ}Qa4?mS$H)Xj9DP{8(m zfNr9-O9cw1ebfYT96yih5h53<@BHK&Be+oYo$V5ac&5I7T)RMp@nPg5D4YkG8V(!r zzCy9)%p|&+OtdUmHppY*@hfPBzDEAE;}!@u6dKkJHsEOr63yJy`jArcQk=)}(@H_i#38vbic$2edUAGxDpDnR!r9Me&Zh<`7zpUOhQV? zXF<^_Akj^J@U!c4MX2EXW@d5L|0@)`ZaRVWBG5Z)fj+C%%*fo1A#>EcYGo6>epC)= zLT6;OE%a4;Up?s%QVDDLc%rUKa&>kM#sJ8AJjo+z4^rH-m`=*`)1*f4Efv%z%I1Y0 zzYqA~Ct&~YF>5yd1H8Z7f<_&hJ9^T`Nb{`f{5yJ8HGMpN9+K7VS1UY5d%iV6a;J26 zkPJKq#@CL#uj?{kqTep_n>0*hNn{#D>|hS`w(oXMG(W#aZKqlxozR$D_zgVD2@@;} zOJQXA`a-&{6ywnB-{$RKhD-vwY&(>g$h-EtHDh1I@tqZCoQ1-oEF20H&MefpbHh{q znSVKvKo-IRaM4{bPduKAd{gWNYsPn&VxoW#80N?SshPh!>sf}MJj+9JT~h@Vyqw?| z*sV34J0V#OwY6QJDs70m!tBKa5-mMxy;PE4(B?Y%cCvM)NB`|;$4lv*)^IN}ZxaKM z3VXQA^WiGFZg3LtaJGHq?2bG3PJ;j*vF6E zVRYNK`Q{9Q8fR~5%FR}m(mHda0ZfT)KjfV!HN06QG}Q8Yyj{<9 zdNZZnIY5dut$@GuhfWdOz5W*@m>1Jmquz4FeEc71D}jQ8(AsA1dx{$8Rtso$V`qbU z-7dO*oKNnXx|k!d2V5^pxyaGPDLji8m9hS<@)x7J83TGO3V@C)zgFygqvz*pKd{5( z`1lhz-^zFtA5i~2QCYqS2s_S=GIYFlUuH$SEr#9cvk2OCfX|;67rdX2dwQtza`($} zU73wtzYPlaDo>5!DLZ53058j7;A!{T!cxX9VgAU0+v!;T3KY=vD;y5HeK;*Hbz~!? zQ;i)&8cIm)!;DQ*b8{>3w+n!HC9u{82;uz6C z`${-&$f%Gz{eh_=$CP`vrALuBm!bM@^hquWrukF!-B)GhIoiz&I)zaltB5ooR@X;( zMwRVJ56HA>I-_3?pS|IKhd%W4t1dso6q-CNtU4#T!wv9pmnq(p`p^ z8^I3bZlvh062`5NkPN=J&DA2IQwX5U9JBQuI!T(LG~=tx?pB2TP6!sYd3MK+rd_C3 zLPZceK4An>C#n5k#v@r^>3hExOru5}Vi&tV2S}hYc~OfsWCMUFQbck`|1pr39LaTc zRk|QNM$FLH19*Q1reug5{nHlQXdR+eU3L)=2(r+*+)dJAoLO9BTzQc^{*a~4Bj?NW zp=dZMfapiTsN?;`EIk{)NJ zZ&5gbYk|_6^hh>E%WdTz{M~fb_+hYiku8`xhbA*y5Lx(uiXIQ;hDyEgKSn)(=3{lmqibxv4aJWcEs^Giti8Wj(*PBJxKADv;Eb$T*pki z&{@_KEuxuQlJ*rHT<(_6&ZSPCnZntXIcQ-&8}3T{LHqQtiw@sOtlzBDSjR01?Jhuol3}DKY_C(tjC_ZSu&j^1;%xX`Ye&AzuI9$h9HZ zpRxWol_V`$M5NjFVkSE5-G)}F!?JWSKP+7(GJ|mU5YWm0SWrj+LNon{IZM6qJISA5 z$b!xN6qKhcZU%xY4br!_e@kOmgz2{Z^sJ(s!;BF`D6OZANt7CE>v0A*gC{UcUv&O_0$t zt?JmX*ehgP;E$?H^pw@b)UI=%@3=qapKXF3`z&CG6I?xP6H(nC%Ksr^7RoblB${-( z8rLQKzEI6nX+eV;`J6wUe+|{rADZ}zT{nsI81AL29XQXsRD`u_RXbV$3PEIP)8AqZ z8_h4cBx36CZ9&d%lB+qSnOr6G9emOB8Tf^pbdHaA{W?0cC*BpUO&7Q9$iC&O6s;jayigx7LCfU&7ElbBefJ^XrMz5PPMh<{ z=yPv{f!A7*Q8v{F-W1+~Ccl_mV@ao&Yrhej9?;E8`vghG68`8U>^{Rf#kGzmo}y3Z6-#ApU?LCR|>V;>EwjadK0%{qnxMB7=I zly`Tf@q+5$`47XA>asl=9Yx+h@3Ud@ty#+=_Zcw~Hy>H@!7*|ecH3#}ZB{C}4zn7pn z51)_17>jf$5Xl1$-YfjSKo?c&gxMNdD)j5?Yh}xETD@X7Dbx?&mp(5NzoiRVK3jQ2 zy0E0V0N)h`SGC6V1>3b0U-OrgOZ*llj+h*Ayv*mXltrp5{$)C$CwjHyT{KP&ht)R2ev?Xi zn^z}DKz`C+`jA&vFbRUAhLW1tbl|a!SK=H}(Mvm$&noivpgzgpq$?N9l&Rm4^w}ls zH}Px6CLVrequP^j`aiy&qXTxE%^F~j@yDz=ZW=ee->E+PtD1U$r z?g{b|^8Mp$xQ|G7rOWOUjPyD?kbBTj5|h^mJ)`iYATTBM`Td=gp}LS^a}$dz^igzn?d|*UW7DL!LYc>1vnl?JC`*PIlqyDKx1#}_>0U@asOrc zaIbqxxRDTP(KJnEsrkh0OK zf%G42{ssJ_{L#c__^YkW!wRD!%Hzh#$L^=5U=!)a_+`$-Wu=jEP{L=zZkWh6YMf@q z9KnxwtacQ;B{NMhd-Arm)ly{qroh3ukmg{u0*kfq;QLBflgLZNee;B#$y5{&9BhWDXJ2pL3 zmqaM2Tt2OY1A7RclXDbmT+M!z{>4Dv5&ucGddxgl=wu5#$zX{N5(B_XFtU4@Ik##R zJu>-Sa$32~b=BCV%3iMiByS`0t0KNBdoscX@s)Z&6$>fN0C(KqdMbCNTHoG0#Ihg$ zd8HW&Ttxtd^Pwz}R6PSN*9`di!z=YWI@8n=A_yBlIykGO($u%_Vm$_c<=G1Me-$81k z-4L?3-DLlRgQ|rZd+~7_KJfMPmiE>)!ObGUR<%o6v#(QjO(7-VV(j)9rl*lrKA=`N zqAB)Trb|ZWU9gfMasLY(k^hK}9@I;NPZ*iZALHidNY6{k7)hy%j;@guCqZEZR{n1% zOUevE1^Hsr85d?Fy$q>9w5IrlGeNwj-=@|)VN$qDIw_nseij6OKY#1-&vq@qkjf~) zAi@?K`RkD)9p!|b@Kr}Rp3}{|JKbqga;RQ<$hjXp;@ zdyEapJL^kv9S*0}xIduwMX#-0WsELVa&=y+kCytney`W*1!Jp|L~W5Bwb9`JL^{xN z7~pq3XH!z=vlB%ax}PskAGNq`(u$byfft9;Ia88r6mRk8aGri~NsRp7k;liPT=6D` zK_qkotd9Iotd1c%vTPUKCM1bo;>_G>M|m1Em)$fb&2%-bR zYhRM;K=u({3u;8X%%CqH0m|8_(&i~4;pR^eWe>r%X&vv2FN&qw*PI6fU7-CDhEG3R zF=+X1ve(@Ueos;$gPx&$mq0h}$Rx&7Nl6v&o*eCT;$5ik{LLKhvnHqN^O2_8lUHJQ z-Lc<9_4-yL77OykWNzU0luGz)JRFFjLVoR2)04rHZ*slcM}WJX(Y!6__~F-chk;uF z+t#{&aA+8r@#Nt`>>p(6Fl&aR%YeJ^>idDRl(!XrVj%fT@lzOhOGlJBZL?eDb-1PV z4WOGH_t?+^1K==VrXRE*svv9&Fw#8?Q$5u2gz+3lg-uxn>qc+ z)?fakU!Uf@%&n1On5J!W!$(LDBteS`QAkpbp5EC?`+Ik-d^vPep2~2IVhdn@0zNY8 z*odGsY-ej{|5x*{VQi9rTFbxJ&4iCREk$q&941E}jv|w;pag*V2~@x7lg51(r_zY^ zjQh>p4FSVzacTH|z3DRLrr{xBq^?v#2hzWK8Tj=XJ4gneJC^2~(h&|LtRHeU!UROh zk;Z%c0$n;ZWIqGd5mlLAs%@P0xV^X(FySN^_o`|rbY!?dZjQaa8Wp#Jd)q2I@?%^~ zQF3|gGdc$?1>Q4^Nl96ugK@1Vo0ldtlm&lH`24t4N1KXN(&B6#%WnO=;@e`;is}}* z{77^2cl?GuQ@k_cPUXEyp2>_$nY^g!W})RQ@lYIzfh5&|Z`Y&DKyTCYrh(MndgS?v}hj z35LMxa&osj1oDjSrgL_8L^_uY7dP-7B7AJK$m%i&4F5K0x|QDpQLsB<0@50kyFCU~ zNUk=&hh*x)b2THGV`w#}I}~8p%VD9l83FcxyE^(lpXY1?&6}^_Tf?rf;=U2z7d}Pi zaU(U%Si8oC$O^BUyH92IuHdOTkLy~Dzv5*xU8teZ_Yy3dZ>BSi_-}j1?$@l#$Y2*X zmaaCBQ1_>GDIdFX6+VMXlP4wulfz+2Y4zO^lFa40*=&jAY})L+@4ZG~q&M%5E$t#< z!EKWkSaNpoTx84JU$U}$I5nl+Y+g=PVsNCu0^vVRP>&os=~ zI>3di9T9`H>jAlNu-gLaNPPs5f{aTc1Q%_6BE8BgJYiU8b;Q(+5E-_OTerfo%PKoy z|5B(D3i4Bo<0*d}yqp(V-$Vvt1bMKo){r~DPG_xwh;y(9iu<`riWT<`)7tvO1>oaF0S2cd;lJ(T6q!dfgng85jWCom8_m ze-`p#*#1Cfc@u`%VC}Ux4I+F`f$_5GV@792b*u}+b$!r~WSwH_LLbbi$jW+y4Kkht zxc_2oAW;_0wOJ{9RQiFePmij@N5DG2s&0cP-%Jyqzo}PAMVV!Z+d{>*Lt zk(qpB#o+K(6}3!AfArmsx%^HWYMliSttFK6#LB0#LOJD##%T2VS|SH(W4@p2BD|V!>QJTqEd`H3Dkw7 zy92c|aQm#=on=**hHYFV?DmJu-%x2GSp@hY*X=K`i(N1%@xF5i;qBuy*ra$H$cFag zTGI^=iNbLsq3-`3x4kv#eqdT1bdeumSV`i@mes5Aw;7b}JlsQC`1@LLeeLSYtC?YE zf*>_X4mEq5>@G$9zHwCI-VH|^$Bjmxxql}Ygv#(oIMGua3ykCdyST{#)2oI^l@jr~ z^~KP?KIa_GT$;2LF@^Un54|5_(2_R7LeFw z`z3w7O^cr*!Gve8JLMXgeCw|p!BvFoh)tRk+MrebijQeM@blAg_z_wTlpGeFkZ{=* zaApZ3tl7sbpN@3i1KjTlI&#M=>D_a3ARY5MRsfQyA6M9Yo=soZ&XJ+`De@X;N=k01 zMO?O*+4uXCDq%DAmBtt|X}x7cy-@5iVM0L}69MA(h)4>F(-PLmHzRBCjAKGv9#rt1KsW8??dMrD`I03C z<4_iZmr5&2iu!`}#F%gxt&$c9J~9){elGDX?I_|Q*pyVAw|1s@wdeQA z`|tQ*=vP|a8|+(xrAp-dFHK!|!`OctR`MgKT9Jn1mB)U&_`edYG3ob0Tv>*@Jx*}K zAjf=zC5Nz=T$7_(B{I9bmf0_64+usIQ0))pEw-6(r0-a9^Q0(JEnok0%Jf`xxzQzU zzvWPL61m~ikbQ?OBqeuaFui-J^&027(BeGiFMF(A3W~4v`-5WUeHk+M4Hj~ulta>@ z5u@BSDnnL1x^@qz3C}c?!r89Sjwsw!LZjI7i3sq@MRYfL+wn)!nUBip)u!IaRhNSiXOj$Z&&AWI0kugH^oM1t~ZF>cJ)q zKGn`AB|SPdEX0L@ZJDR;Ey`-IfwMFIjBU1a#)p?>%&|D>9Ef5c=&&^jB2cli`zp{P z;RVNA5xiGRLTC*;<;%v7~jEh_I{r;>VNo%r~0?FXCJNCYOR(nmI(dE6xPmu;{`Gg&SE`6R1ija+;PG>nCr7^2Ctco4BBp00^gzuDrr zt)@+d-a=~(Osw;K{p~jRZza9Nd+7F?AjLe`>&Z4UZSpp03YKQQz;PS z90sXrqZCeegd^S2#AXL^Jk~coK{wSqKp)eer-M)Q`OlFPSRc_biw&f&0j^}n*CcN|2wDD)L+I{7-gDy_P(;=fy|JlBQKyhmUhg> zu5I62FwX6lOr{Xz|CWAPxbP(DUk+CMN5%Y<0~Knv@~zDzmgJW*U&stQ_*u7Uo9Qh) z!glp9A|l2styfmkb&W*eiV{i3C{63QHif_m;jm%8e74q~dqMW;=T{?lNwb*fH*Non!wN)yVl+O54|> z0Tr*JwJW9W>tr6;dbD8833d+UiKc^1eObH+1}wuc6~bnda$2tNCVKa6V9tupFi&o} znXw$-xMJA#;ir6~Lw!K~geuN(-qoDhW_sl?rbym!oT52|6Wvg!vP*2HJr!k zG9nw>W~24${*}^g0UKGYD3KUy53V6lVE%UWJm>=y-LS{&0=^aO58|pH1BfOTDma+E zrUv-89jCHcIcY19q#>}1Qwxmn=a+yQRhG)VR^)QglTNht9%rbN$2ITtWQ@iWPMd;4 zBxp{ySNDGHcnR3t3QvEN6C)XBZvl}Is<6n36u(1;&^Qc=3m%I ziOp?h#jRi=@I`Z!51_O*lFU*$j>wOy!c;jTV30pD;|UZ^Vs!8{VkmAS@T_C2bvzzN z%%2g-1Vo1n4>dIL5uKDo!Po5QP zx#g4*D)08P7J@n0ofS|hq&g|z`njFX5wvQ`ra@me%Y@TzeiK3dGZ(zwVBl*Qq)Gyt zD92S6nt@AZ&2Z(LL%?HdWQ~8xl*tPD&Hz#)zU5tPW`-YOg{W=>H!l0 zIcw={dlS^M36UCEX9y^uL(0|d9BAR;T6Z*YOw-I?{ce-b!k(Mz=40cOx}KgFqJZ0u zN@+|Cu5EbtP*s)Y^7OEV0UHXY(3H+_XFVDIk_&qifAeki&r_eG4v}ibZ1dC(m$=hs zr?GvNA7^q`314|*yHuWM@`T&c9p@4?c*TD)_CSz zLeB8~effI-<6JmY)k&c_3nmN!@97yAZUQO9dj>Oa&n0Jo zt7U_h^~iCI_0KGN`Ry1zX)f@#^?7!q6M*G=!gB4y<7q1q-{5hrm(mmHFw6Mus%k^* z6=)g=T)I^m2~);2N6hRdDnef!u2f=$OZR}{B^#4IRc<1XAljhD4i%>6KCAkP^+n~I zft^e(IIZ_P%9@AvWva=&w$(IGB*m~!DzT3Mmn_GtwC}%K6XQyWgwVnX zDP^-`{{8OW$EfkElVr+`xD_YE9h(v4)Ztbu617X)&l_#M{zm>Zv|eo*|K_;?9$%gl z??&p+(WDaQF|4P7Ukl!3`;`803YO|b*TZSq^81+K@~^B5JFk}{b3|jI*ny)i^OPtSF;|#QkQ*!-*}w&|g>&`IS;SyS@>5J??do)bTsaBlY-d-43HJDh zCM{eI`#~8g(iv9_!qaXaZ0fB;fp-Y;43x4lm#Kzqm-(w#-wTN+G+L?zuB`~CvN51; z_tP&V?uTnYN#T`uYwMxW5)ytH?c6c-|EM~55oqw0X)PGM8v`lSZ%T>7T4!mCuEuc0 zy5K)i%{Xin&Ody{6F8NGM=bEp((UKX`>;_pyL}UmM+{@f`gZYHvqH1L4ehxS`9cW% z#q)zeRE^9c#GGeZ+g3Zh{Y~O{q4Jp4VoOF~s!ClSMJ%uIwJdfIZr2ATfg{Z6-mU{% z4BQ2)jfcbhAiae*gP&4qeuIvXy*qK=?dUAUgEDNvlx4+nw18HfuZCI*3-?6MQzXh{cu!NJ~?M{v?w_^(h~()Ld$ zTOjg=_*?>%9GNS%&TUhrM|v2Lv09u({{q{|-x_)-_Xxmbo~;t<6K)H1!@a@acRS+| zz}O$wk7isa{9X_!=&&7R`|$$3!z|h5#IzTP3g=6D78$w%;L5Fm|ArOzdXWLr!UF^R zh(hwi3kS?09tGJoMr|!^)qJ)AaDQW?DN(AJ*>STS&{Mn(am@GxuXH@=)NHHiN~Zct z0Q7mc-XbdkLI<7$h3CK!;Si@jJPLQ9?(O=)1(yqQLm2x(B3)A^CQ0L(^kQWbl)F2% z1#0sPPfmVjTsPUhqRx5C4&}ml$3Lukmp<@VajxO;A|)_?w_}|L8Hkk2mB`}(*O0lM zh;$KcfQ}lg5k4|aJA zv=})fUhgz7AEU!)>HY2~!=s;>r;JJC|Fn`s@`(-<4b(~Bve*98LoC7QbNBZOc6san zZ15hcz&H76Q^S#|j01c~1=TZliryDSEp%U0BniL0s|Mp z3i%x99bW9?`=a15oK?fl?|3rZiKeIYq+5R;VEsK9b;7}v9wogrFgPKDo{!L8XKOC= zzma){^j|JRv-pMQ-Xp>7j>fuSR*mmq=ln4|X~8ZooDWQ(YIGgzSzW_Bfr2WCPFFqx zTcWm#z*x5p+qewiyq1l8(>NM8-5~aQeSR(=*c(SHaR+q(LQlKUw$S}dO3|lTn1A>V zmi-Z;alV&T;XtcDEp23(nV9UbM?-UysnO_kzjJv1GnjGmZoRhdi6LleH^ta=&A8m8 zO5MyW|1!Lw6`2x}T*YqF?b=e*=*0Brq@z^Y(-kCbG^Xu_ZFc}P_$bu3Ru^l1-<$3b zrk*4%&p<3pef;D0FC|JZdXXdJoR(4m&v|Ao5B@gTv07(Ym`UqnDWQ)U1(KVJ6axob znO@^t+qEHy7r7k$viLTh!Ft!l28j?Dc$DhzCJo`gedH!Q4T9(~%pW<>DW#L3KmZQ0 zF3dRC^k_oeNF@B;oA#0W$=*f`{fz7rb(>b}A>3?opw{ujE|B%pt!rVft83K0`h22k zfPP2}k;IK+5JvJQy?WsGwrm?by7E$1*hXIwVQe0H>%&+7VXk0%&et8PQ7l8e#lBui38{OA)4epNB zOl}4TzlHUjMBr2+G&~4b3Bn%0{RtcmLQM1mX1}%INyNP;XWBL<$lJ?jllGpAKDJJ) z%RZNd?WP&omt>4=S}2jIF2m72zGbVQ@bpWGa;2mlRj05D0o1Y*HeLo9Em;ICeWoug zIl7nOOwF3&re@NLO`Fh(4e>S`S)TqE0On+}7;Bim&!t0p#Zv{~8dN{5tT4kaQ)`S_ zIQm8s{snP6YTj|6XN2}IbpSNow&*xa>?c0ld_0pb%fyy!d@Z!I5^Z6K$7pY#m%>2;ULp4p)v z8dmQEGuB4~CKcaf6)A+u7p1BkOG9F-Hx`T(2_A_P0Vf%MU!%lNDb>W76!d-4<+%>v z8*F&R*M>HVPpPo$0-N}Ca$%1QQv(iA+5pjnQ1n1fOzaAOz_)TAt4X?Q10KPDAoc7s z@r&tfVrQw+1?!9a-@wPvYpwpTm^~tX1_!HT2xDsY9(^#14}s0s)%q<+4vu8M6kUN! zn8oU+zgutS^V{?auQpzA;D736Esq~-iCyz?vwA-ND80^|Juq>OTBcm!u)FrIY%Jt0 zdFeU0MnCW-7$f<5vhb%HcYxJhqG>b1gzgU4!s~&V&#!yAv@WI{`s|kxB@$!?LvMKS zl;5-_TAea>ydfIjC~{%)INR{xkB5!i+gy+k6+JwgqQWCLO~=|!!Ram=-JWE+-f?o0 zYtxA-EzkpPUyp`P&5eSX7n>xyFJ5&|GZj=_7C&bfHzv%i9Lt7$8_Dsv4@f@V{arsv zXLBUGh~%_%2>TrtnDt;`MQAiRJL1_JtoW_kmR!msAUafZH8LGJukpq3(P&gAFI=es z+SP!Kn%K*1Q?o(sVIB(dZ?CgXeQ2J5E>q=o&G$P;V6vnKNik)ig<7Oc8ox!&Q7{h#uVRNlev|Zj+-4%v-E&A(7;E8eqw?{3D z{^8SVxIEM;nLp@)c^iqOvrmq4$trt-7`oGQaS>#bxldC>4)$O7RWL#M-y_#)`J11& zft*M1$pz4~4Y0#O=V%sDJ`ScI6yWMew`Vuln|wr}3VLW*D|QRKMs!``?BfDn-Om*| zPyye zC{L;ds{q zrfNYPje=JKj?{2W#3T-qwllPD>9My<7d9?daj<4OGoU<6Nt62d>FI-^jYkBg+Und;So45fIqiY>#H)Qzn!fs36g3 zlibG7aJJi@ATHHKdKESlSbN^Jee}Y?%s2*l(=}w zdx|8G;eNE3fn}m=HGD70al4llm-l5Gx=n$m8vA#^BndHT3m=n8NRrD;R=z@fjTCKn zpU6{XD2;F88FYhnIEA(_#mbz?vTU?U!{H9RD=HG%z#8{+TuAbLu zkDk{biY@+puM)>LX4W&&n9wAvs)ubNT>wr@S}~UGiIJvolu)cIn_}nFaMS*hdgVy^ zJ^nMN8B+`@o&Jlik+iDD_ck4&Lm?Nvv}9C^{K=AR-RBE{nRn=Jf{Wxbc>x`L4|CY`bJ)?aGKsPJZ>^(wV( zKmV}XEu^ECKGR|a$*6>Zzit60=?S#h8C!4kHo`9;hTEPlHV01(`MHKvw|7>`%@P4H zg=$xH2zBvy{xrQcq#AJw=py^kDgf2X z+@=`BZ(k%|c%~D=nWhoshRy7=|8WSws#SWJ+61kNs>0+ZMKA8V4EiC?leR45uYisU zwAa`;iANA-Y~MGuWwkN@EuW%?gakqZ6{iwPBfB*HG2>+TqVlI-wFyzbZ;auxe%M>L zPAQDhTwFQ&x80t1K%E9ky_s-xM4K~*yt~@Y0(gZ9p{zJJiZ<94%+aZxoup^(h1p^G z@1`tPNC%zAS=rMwFc(|k3$tXuEiPJ|`df zTFDVy2es;7>V?~$v3Z^_yf%7@<|>+MXaP@#9j%uNi>=6-x=2BH(}BttsoU1b0*p{FH$)WPL)QiDj?e++uU4Zs zKb&508IZHiXM}yg%9RL8WzbK~tT|9$jeFAlLRG}gA`$&wKJY9M0fnkA8q;!iLBLRr z3*@GN^vStUQ!Xdv8Owl&0=Dw=Sy636ZNK@P7Ua1M zy;~PgL(ZJ8Vw&`ynT*^Bgba^e6eCOb+5fWQ^Oek4t*JS(PVStia#dU@?Uj_>U+&v~ z_xu=i%yCgK$g$GamSWlzO(YfoZBQ}4AKpOBv`Ri zYQ`!PPWkrl>!(}Zj5c2an<)*b`cp&C6dVr}w%x)hjy_eAl0KMzP1R9i5^;}(W${cMSJPx0cR?2?%3weB zS?f~MF!StJh1EPmUmX_3>?Zh5dtwg+Ii#C$ilxD_q7rgI61E}A_zS8uK%9^6m)Bv` z%pBhjm5E4}P>`KTOH?Hbo6txg(im&`-ex!?7YYhz({AhkIysPH1i!}K23{d{7t?P+ z>(Y@BJivJdL=Pvs*^6HWzA<^okUddGTJM+pds1A z3(;DkkkEDGzgv*u&qqg|9=&a(2^#tYI;G|=Z;DR4A&4lQMphR;ORM;x=EjB9%oq?^ zt=lMu|91}hu8D&AW%4*>aUPB?zsNvy>N#uRppWHL_;dVzKXbkm;>w|9db;xSLKhRf zjXx?Hq8FIb7Q%@h0(w$TYAmHEqEa)abq5%RHSaO#=_c~EiyCFCTr{<`T+l2m^*Jo2 zL0XyUIO3wMtS@6=j`_%k2ycyWe&54x&CPFil~Nalomp%YgEIFtK~Yod=UxYYqv{mN z# zl+eW|OcE$XLq5yXyrhGdob7wexKBpO?N-?Kkaq}a0*0m9b;nYlk2k*3XACs1ZdW_A z^6Ynd-&s?62{JonG4YY&UCiheMlbu_y0=^m6MPy1lk0j-kcc~f`JotZid&kDK zEiN4KktDjR#XqE$CTKFPnkb9P1)pMHm!i?Rqb-;M^vOWnEOv97ciJY-ILk4gmW# zk)X6jrpw<4==&Q&h%8ddlN0TC-&+(rgwxXof*Ihnf{68{R8NDl@{mu~b>dLqf~>;h z+iu%uQ9n$8>WiDUi+T5(6QOL63lTr%<~k^gi&QI+#E-1I-SNbnlwv^?uA3(P+R-{Z zv1>0K|Ez=5j<(29Xc}QzqGb2qN7CYu@Cy(9^EPSeT81YgN z)x%>ypD9*Y-UL>*0MiHLmp~N_ku%s6_yC;y+AjknS4j00fXSuV1r|1o9Bv?ERiOZ1 zACMtR1gV`^vTagr)iLT2iWj4jproL)iU5zbYMhE_+L-l?i016RbTych7PeOsdrbyl zBZ{~`7BZU}j$)%HM*u;zoW?Wf9}DmQ_9c9=4SoL>caqj_2WxVo8QAw$gN`ytK5r-V z1B_UiJF-)lU!;nPJP|zY)jsEcX%VL}J_8r<3|$wi4USZtxcTL|w_&|=Zb0F|S}atS zeHtv5YN4?9N4r8vwQxq(Xi5vaH_b)QgfbIHRsa%ZX0En7z-Om8j(H^#W#PQxSE7W^ z_=qEAQ}87PmWL&!`U8&ZG!@d0?xhUw_WS!@cffj9%`#?JmMLb2&m}pP^MIDpq<}wJ z)T1|`wgGq;kCFNEZGkBjn$yJGOAvnBL=PC^>*iC1 z4Yb-B2PMgtI$o@N1W&fbUdJx+MvpV{c}>Q0?M(<#5fohi=dXQ zr>cx*mbOVA=CO!0R_m?di#XBD`6xr26DdeaNX4(2APM;pPZ-=0!<*^?%+ zR7Pr*E3R-p9Aj1GspflMizf)xt}_-pJ6lU87{*YQ^Ft8!r#*!TLD7p9&`KzBLAbpk zZ0Ys~y!@ajkXl&s%@=-qBi0L8Aj#)*h>3f)O~A$m zSa0!pq1`FdD#E{z3|=}tz0K$$uPthLCzOMqUBmmM3y`CY-p;eud}@DdInERI zV2sD(wvj?sZW1(ge+$Tl#yn1F05`}A6(hz}#A6@ufz{Ar*1`I-r+R_@hugOBkS;Y@ zo>eJShcr`r9O8T6LY93ZFWdWPdqK6@7mKjBH?jjUTG?;Y-lDyvS5Ev$BSrRiXpNP1 zqPNPM`gBVw#HGT#XYkf*&wX&|eL9Y8hoX~}7upB?BFP|c0S%t4!$@bweM_@fwhCoHEE zt5Sl>@GkV>HCb1_t7tXZbl>$?yO@;Es8(Kusb0YL8!EePh!lzV>66>p*+D!Vvm!U=aNH1e*^$5lH=dsVfN(HMh zK@Q>9^%u<(760ZI7Hjd0aXoUvCF(L<7Xi_}XMrObUjS7$`T;Bw zdJdT;ZyQa)f8n6?ZNN1{@*Ccf`cJhQyObDFfN=_Fov0RQJ$w}UqCl<1xvUotFS%ju10^k=gShj6T? z?4I<1hsXlQq_XV|NZ9~SrJk5A8_(J=Ac%qEF>kT1hq4huo!2r>&qf{Mjl@aX`?B^q zZn#r+$DT%gQVjqkIq|qUhk3)CgY${Y`f#z;GFGK}5{R&TonH(JkRS2}@CD4@kyK?6 z{XCY!ys8X|Hxv`$qll8-?dvxfPf=NrCzPo!{@TM%s_ihOYPpT>xm$OT@(IqaWAJ-; z*D4KFCx;E4JLgRn0~WR%x};~!JAOYRvrtO6qN#+@v{s3C;L<{_}3l{cMDb_gr+}+Zd0A z2H|{{%omby=w)5Tx+;IAPp7L~X#QQfWy`hT#qabYF`43Oz9cHX>{fbm&{|;&`k}m= z(NK>cu*SWC?1Je89$a)n!DXTAF`j<88zbDSK(AJsTL>>Hq^&^Uy1m|`V_hl)lQ)%Hwf1J;Mv2E{zlEYY^7{& zA>|Y8vctcuKUEp$_IzFVCnk`UOSq8~5qA=Fr$jn;6z?+6h(!R->3w^OnfkrqE`Iy~F-k!1~0zEJNx$jFN64|yz5ftM47#)4Sk}-XF?fB}V=vY2$ z1G<@12QV>dN;L8u6(722)&oM}LVLlb}4?6qzXFoY_P z{Cz;BgC=xJYHPF8K=Dss1JxGhBUq(n8d1AGCL;9hqb+er3s>n040;6z{#|xT+jj3C zG{&9Lu?%c4H@Yi$_E0-4V11RMN7~;8qW5_xbB~wEjOGEk^vyTgyrP^ZspnTfO6Enm za_Z_pT_8|te*XRj2rR1pi&jp!wV=2K#Ho@R#sVXLR5Yd+yE0nLH~f|U|{jv+|7DoUPP|(PY3Rhf}x9ZEh3vm zstbre42wk&VUHHY@XCp$Y-xV}JoO@ao3xf9T6hzeK5F_h%0dSHsbB01mj|~$&p^*# zxUTCM*DvtbVj^!Q?MDY{i7=Ye0niNyIw7fPRI<`g3jVT@HGr>GsU#8Bp7tGZg!Vb< zL2rwk)za4r#-4oX_!UFU zI@rpyBK4o-=K_XFnet8cF}OG+x;NqS^Ca$gnC!3pk#oEF4pdN5sWo)igrtUZjxFnE zD8?}}oo&rF_|1*Nl9IJ^n@Gvlzi??LA(Ivj9>(z4IaJ^o0t;?WikLFSbC3T?!sY!! zVlw*QIxQcMx?3{ylKMcf>yX1;iJR>H6{+PFY3u^F!}%F`Cg_Vx;9?M1o%T6x$=f$x zV%!-*|GEt8NsxB_nrDy>SF#T7Mcjd=w3e1KMD@JdX8P0Fyx5)ixy$@o$GCYbeU}CQ z&ootyT&CP&d8#Wdg6h8N(7!5cl`NshpKXFJY725xI18<>iVxDUB(Quz4f7!@739I) zF6l{pZMNW7ja#iEb@Rt^X%7M85B9pbae*ACh^imiZls)KwxLH1Ct&&Q z)2r;MdXC6LhfvOP@>BIPzzVcoq&;`<{R3YtT=FfB@B!L_r#j8;de+Df>qGA?ST0>R zvzF2hCT3VXixN*Yb;NogNk|PX@adg+p<2^y%daI#UgHRGn9gek8k>&y3iCzjwKELq znZ5Wr5}&O~IM9C-JPpV!@*^~IMwo0MIB-FwFpciNDH}E28f|q7;wxlDI9H7Ad;u)N zEhidmQd-V><%y^%R|M55q%YYuG!zxJX|GtKee@c3>?Oa)8)+Blzyp*Vy#|jK<-X)| zO2pw+Ua}9LP311-RLk_Xiskv_2EOdm^Pu~Fs=Q~w^=h#HVpQ4*``5#LY&1rDOJ>Yb zIhFyAM2mWbVRZMVmiyO}H*w0!72~45?&70H=VA#8ZzevtpOn^pOsz*V>2Su4Be>a1 zCLRk#1sZ z6KjuU+E*EUzrD`7Hq>((;ST?1FQ|n)P<7Ajquu9rnu|FKb1G0zi%I3Z2Patl^~kt=i3Y78u=wJ3InQUA3R0DlD#oOirx=#Az>f`B$E|ebvW$%(C{w z-2~U$;!jLj3gptq4X)4V;U+-=$LV$w@vQ_E=mnJNs!G(~g2Lhp?Pi6=4{B8ld8eJt z1M6Z6+=VlMPsKQ_VMz2FK7%;c$iuX6Q3N=p%$?&dPylRHH!8Nj;O&4Agy>li;ydBC@+{U;b-U1DA zZu7GJ4@p=3(B%8IDM4~dNHZ0Yln|w1Dy2w>bc2A1NOz7#TDln>f~3+gdJ>Y-lB07Y z2aG-MKJWJ**bjT|bKloFSDY(0ENjbOPqq+QSrZ0l!d(nx|H{>+v^Agi4``>xI00^j zlr|zY7Q)eKI4|HeQED_k|_bulqWpWL)MiItx5SKsk=7o@T< zknfINHm%yGeguUW+X+Qb>80Q?^%iM9@#{G!qce2(kAaYmkkz*w-LiR~FO<|e?Ab}N zTW%l>7zGu@#9t83*bx&ftrMcjIh+fnS(!e)$mu}d)v%bE;cHe%wEmzwn-G~p&z>un z(UT*c$Rbk-VG7>)An`^TueL4m4k1TPypB``IHqU#q^XFX{5S(!sn# z^5uH|#;FIrtHkJ@o#>gOAXhognT0X~!eA(@-9^&TEmI+cOc7K=RrYf+UU7zodo|8s zlXa~pr1Eyk=gPa<0!3%3oo%l$zs}sR@rO?^nNv-OCO}BfU_(2D$2~cGuxDoIo+l@N zhV|p^LgSpPL($8`BR+LSLt%~H{&KS}tRwOl+pF^a}*?$Z2X9!G8rLgb8 zYCh#%b9lUpka#0;FPb5H_3l;3&FH5q?b#bBoS&zXsgnQO7o--ioHj1#8=dN5`gWd3A5X@;0*YcL4ewORO|Ug+V1 zlB8QXE~%{N*A0l0*Z1E6KIj`C1m)UHazeGBr6;-n!mME?9^jEamcQwjyJxzQbUZq- z^KBJsA^`$2_Z2|0odGnkIM2ISFo$4Ez_z-sMgie<$aAdk)V3`}=9Pi%Kc=d?fb8ni zbF<&t@SK3PY7)TmcjQ+g+VNTikR5}wfn>iLP4<2|CA6c&*0`bW(P5T2sJ&+6m6D4| z+h?9_tJO~mbL-aWF4~;toSO0j_Eb77e@^7W47I{rzGx2Lliz8LzM#N7>=3y!oC~=X zsAaGD9EV<(@vk^cDAzUOyfaV;d=WSrxq zz&Mx?HX}2QkR#Kl?2Cy=l+%k_75^13I5~5y71@5JC#rgxppteKT;1{8NY+y_Au3?( z=f|C6ZhXZWk>O%n3t?6F7JHA#{hB1A+bYJsZJ0cD`{Vf}-uoHBq$$}or`N?Fd&9qX zVZfmJQR#(rQm%rJ9&EN6<>w_~g6WJ4MXGVtQz6}q%X7hw0oIHhOIf|gcCYmBS#*}o zZA|ffpy}X-y(j1qM1ybkscYI;TQJcTomoIpW=Xw~`~%m;-OuOn5~`e*sBSxx1#(eAw~QzA zT{w8)4Pv`!t8=^eHAx07?ASTwn9_dZ(|t?1(YU$2HR$mtnj<)r%F+KL1sPeAd5?(P z2Rq03$76G_+02r~ErkfsPl{FMoWBZor<;^lfETTLQ?;OyyqKf?LYS{4&IEQ7p~~Sx z>x+Ws*Sy4NIMbQH9s^*=M;rDkn!iz^PwZHO0sZu@cGP0muM5EL!5OyafK<}6AWt^+Rp{mSPkKfFzBPp@@0V*-yJZrZqMNJ|TKtVCFi=zm;FH%=BC zSiLpp*w13Mtj5N}wwf#!Uo_;wXOi0}$arCO1BrQbqmWm5iOxTX#l}Y-pWK z2-Npj1UtTiba?1b%1HhYS%TE{NETw#mV=-7b6`UpWnNdez=1U(NM2#EZ+8!x1lQFH zTImY0#l#ZlK`zm}*w!Oi-s3c>+qis0>Nye)XTk5<;X;FJ9g0S{b2@#7=B;_vI93zf z;XoD{>P+Z>=i!5t403pRd4m7DZzoQ$+$;U&a2sL9qXr zMYs5J=O_goT%i%7bl_{J!k#=j=vb&XsK4aum#wJ?4w;s<4ODCK!~mx&T4TV4 zc{>~E)_a1#34J=o(yfQqQUL@@T_lvSxQ%QD!# zzT<4ll-KB5;CsE4tU*`>_s+!`686-+BtW90_Cw=~0b|VrDq!+QLiy+4HakLLK*JMe zuoYYN(fd+?>;kx?U&jyYN`G3{91b)8FjDq0bEhw|tEno*9tYbNNv~=UJW|h3# z(7F(6IV~Ib^LVoKtuu)TBU_DJmPmEvucigrecC^@w0K9eMy`N)6=`c}PRK7fqw879Iq>*B9y_Q11Env;r?6vm+Kfr>+n0%=JO^k7l=oV zgDj5A-j4;1U>6DDB32|@#;gfq&&AJIL_wu_U2FAi?jHn8W0Fc|VBXn@4%q8Hge#^R zcOZ%p0rBiMk-)TZ2jK^mCSL~JGz>9ymY(*rDjbLHBy$p`>LYEFr={abw|xX%F$Tyw9w z1tXExHItPa-1!jU4ceZqt{jp5gV^*o;j+MhZvGQsDlPMpEK*~>i(D(kf)~HhGv(~7 z0yPf!H4juEpo3{A6KJtJ0D;g3;QG(hunq?=S^g>dcjI7k3=n^2*Z$y?Up8@EdIegK zf>zw%+i11}CA3+EvZ~B1pwI3?9sSeW0OuijSw~ZATj7b2b3g35a zyCdd4M|&&bAGu?_bHf!C=4_z;R-RAaVxmxgGVE{WrV3Ui;{2WyfUw&-@52QdV1v7& zN5gAhHW&!Js$tLHvB@Lfcf2wqa3$V3YI2FE= zf(1}vpo*BS(^YuQq`(HpZ*ol0n=fQTk3w?wW`ov4mG6qcIwf}9F6?=dq`%Y#c*$Jj z2qlBEHwTiuXXjFNM_OL@@W_yrn~F1w%?C$V=5A}X5%6ExZtNp+k3g=VXiA20=gyWhtA=3vQf6`l{c(jrFanXH3ifUT7f^31pbxmF!%V}#-QMTRdcr34!0O$-7W{sm zf)wPSX)mr&y<569)5}k8P{v{K`Gqo~t^KO2hbHR_z!g^d&tDP7fVog1t2G(i7pdB3 zR3+pdpOBmdhSnf#5nD}iwFQFxo$R+d+LHlb6<^V)LXGZ7`in!g9tF&Rv()E1+@pFf zyHs=AHCZnPSOin$(Vr~+6Z)N?r~D|OT~CVlxONm!7KlfvC2KL#huaXHJQVe##=)(; zT5q6EVQ`j;=I{m$Ex_y~YE1&9H0{&F-wAhE*xLq1w<^4R?)@6~nm99%T5Oik^q@Z_ zYEb|sNUkiSp7ASh4S_>$@W*5F@;eGYbTKcYPK)eD2nQ>>w_FpAk-8tj*4w3 zeLWF1a0m@I9}CvCD%bYZAY%_L6xw&}txCcTJ=5Rw#sE{*BP(`h3xzn?z;ucaRbnA#<-COi2Kq9bcGBu?9)b7iQ^@5kN9qdX3Mi=rcn*OxW| zGl5-3q(-apZXb6{K0kS)wl_2c$@oy!sLsfo@nV+}S?*n!PMFte!c?$-NMBx0^S!Ot zD6KfC=$mNY2lhKz8d*P_DtHg(DeoPaM&$iQeEb$t_Q{gLc)Z3ux$%M*@}%^^k5mSG zV`HKSN-|+5wm21a4Z5MtDG@jEP(J-z9ty_A0sBYm;Xh)}gx$|g2@QVPS5-dcM)0hv zUM99Bzlj{t$6t2;HChnGMJlYN^Tm-m52H=5rsRwCaPQxAY6*$k`rCsB>iyic-cIif zkV-5#@9 zebBimt-|fZEEx5ZQ{6Xh!sVoR^bwgC{7gB16UDtO84kUy21m3G1D81Z+*}__7uk>l zQG4{vxX-*h&CwEbSI#w^*OGfEB%mP}jKh$~VS70)jT?c4X4B|IVd-D(g~+VphqVsb z%h9tyPmlHXKQZcGCqFG0m+-8HoLO)KAibd0$q4CI=M!`x;B_TFfNS`v3``?o&fB4X z=?Tfm)YT19ySdL8VaTeFM&0Isd(+n&4IhG-ALhpr%R?BTsT+rMczT1j_aYZq0&uI)~ zB4Hc$p<=$(VZ!1snx8rp9NQSSGl6Ut9t)8z|4IgLnLIyMKdGUQF;#ru^wb zl0SDn-B7!xQxV9rWNn>JSR-I>&>&uWItcNYpUpFJlJ6Qd9^a5rC5?HbTcuS}>HqJZ z#DAlWKs>a7bXrwJwv`yung}`%H|orHk38*=W~asHG-k6&NtqV6wQ6Ml-7x9MH{q(* z9Yid;RA7{mXZBvtGsM2#y_2NS*7Qi|n-4u7p(Vvi^+%2SzgjDfr4cr2{QaatOImW@ z2EU?vMTUf(622j=<~^{pa}hUW0$>6NL@o$i8Mlg@V>=XjT+;|b-8sV092~9OT*R*| z;YczgI2u|!5G7fjN%x_rdhx5EjsVzU*x5QJz|VyO>VHnJyBOjqL&^fv(bYFh( z>DaOL?vgF`&h9Yxc`d2^L*6w9%bIp;K)p#Jm>p&r?}kw2(Nqh>Mcvuz$p zceND}?KI=bUOS>z+l;xv>vkTfq^;uNys8g(rd77I~9(QgpNtVahUkQDOU32 z#svqhIl;^r-Zbftv3tm+MtVCO#n6tn0wp(9%#7k$HA)ny!GwVA z=hAV~U{KTzo-LAHO+kXQv%M5!(@>+y2@tTxcpD)$;_C9RlH7!%)cp@ZXwdZ0`YBPw zS18LK`ju{6xhuMQ!gj9znMAJTJ<5x}dPC9LX?sj3{Wu253`V)~hvBzcrqO8D7Pyfm zAUh=e$N=eLbO?pZ;1E+vm9%bh-`q@pf2uw?wqwaD3>0E$Z5*tQk4wDdwVRQ*RL5^; zV+~<8t*f(tTDVzf`R;wlwKgw5Swfn>8$C4_1%k3^UZPxcsEcnQk-J&*89D`J*O$Q` z__%W7-C$V9>j0^$nN5p1L#;-#%Mt+BAsC1E(uJ=#e>UdR}AMYCX)9%LgB{LholY{L^uK*uW zqj99sG_39_Nx5o`sIQsUU&GMOcck{MQjSd|Xr&`v=;B0+IH@Jo#mVJ7xj+kH52?IPPhB#WR*Ix)6bK&~Fu7lb7CIIrWiW02QU0EtX2ZRE``8%#;_%C*YMd+f znilYu3m14oH@-@|xMLUr1qB~8M2j!E*05C7`Zf^I$E*uaOR4zTTAkHwTvAO)qle zMMYhucU=364lNvj%lORKe%xbWVmNvqJEH?ING5Rm!h#hk~2 zODm=Kf5Jx6!2`I3m6fMBi0NGSIXhr471HsG!QQR%+D%0{-<3^!z>6qoGiZ>hY7#(j zl8=|Bs~3Lp01Cl9#B=k2UIE+k-6QW>b#}m=#dV$x08%l)c%QW-Jv;wBKt2VmWSzzhMv@ZaxT!zmh46T5h%pSHb^ydM`vQ z8TS%Si@>fmCeJFq{+Y||pZCM!M1;`sZE19v51AXm z9v#ap_?v0$d)h(_%diPKu7}3$&o}qbDryR=d}fyiJ0h>VZR1%Z~nwRfMp574up z^rD{8WwQO2G&ANhBMg^355bL_|Mhgy1eM>LoAGbxo)CI0X=Ej`^Sq-{Lw`45sp&n^N1 zy(l1=zpr~S-D_QQwwwXBI*WQ_cLn-5a#nFTuk222QH@M^JWDe0)Ps0TFktlM4m=B&w(wIoC{$ zc5Tdh)JI-3&eITc5i}~1A4$jRd(A%GuYK?E9m2P;TX2)QA2PW6=`X=dGG--KzM6@7 zs5J0QDL1S&iy%0A^%o%mQ4zeH6$j)v99J?+_JlYg7>jH$kxlIJS^@erOYG;3@D?&N zUq>>J1{THQ(T=oHr`n-qEPjeV1U+lYDl)P@eKm#S>^NFtk7(#&Y7+Ic<5&Bc@WPsj zhI!@y;(>8`I?8`lqh?Y zJpel7nMU2qbqkK3adwJJP7ylGTh)tV)z0K_W8DXeQSs-VzP>DnsQTh>l|N;pgH8Ve z$`C?(;=_lZwo6ikE#ja}s1HxMuH{%1RitGKWr|-WJ+zb%Zwm#$>XBp8zhiG2F`mau zyvB(0**n(|3@{S|T+Nv4S>GKaU4?ul(w-+(F>+(Th^It(r{W-;rRDg=NP}Vo*Civ5 zY|kuA@kALTa5eX&2CoUizecb`&^aKsVy0hhN-yJjwndDqSLu@xCj_GIn>!S;FDG%w5E6vivQn z-m#wB)A+ORF~M7!yj5BsN4SbvtaUAdS^inuE3^{Yv#VZK@ijzl`O|1jb}EKA=oKjg z9?D!QRzjilvm93}ih1$XR% zLi15E6}w3o+#^lxFXHCm-HAXVZx!!k)Bby;en}^^EjZOX6EaTHkePrMm-ovDt;a80 zxCXRkw~JwHD)(AkeDgSc{OXcz(pPWDCTp02VXGw48lTwQ+qNQYVxsB5zP`v<1Vnu{ z6uDhkX)fq>A#Qb^A6~jbAe3~N9LA!$@T41ZoNtQwjmB^Zkr>vNRu3vsmampmkY<}{>e_Esn zUk{<^-y%PfJUrjocv}Ls+3a#3rTY8cbk>ZmTcg1K;C^Op6zq!|Hh0FJ_yDqzf5r#* z)WMSZ=eynUsC3@&H-&V4*Kiqcko`$@ZboNVWQ}!=97yHIUA6f58{jp7AuS;btS3D= z989Q@m&UWbZh2}D$(;-t_)7qSE((tR3WOF8SM6@Inge72B-%Fx18T4+K4tbV7`-p` zgS(9aJF_JEWM&>9iynAL?&pJN!3-(YzSWz_<7_A3ayT9Q6Cw2^`xm@7N7o9L)d>XjWrf%Yk!sH?){wev)wr`NuD8faJB+%UQ1$gz1o#Qy$aTF zW@Ex?G~Nzjvzem)xkj|X*abh>x6*he}c!jT(E;>J+ zZdjC)^Er+jrY)uK_%)|wF6AjT16iCcd+c${j>F=PuGR#I7@n&W&TYOJG?EMbFM;!G zE17eh^CVh>QiMfo#8%vyZM&5KH@6e}tNwJE4}0=~9*n!=d-(!jiuX>lqieIOUl`~E zW2YCL`d;z-;zFKse|y z<_1CTCM6lNkr>yp$sQ&Y3@Au5UD;t8r^RJ8Re!5ERsY2qEfi?I3WBQMyC=z;eV?W; z^)}94?sViVE3pe_HjA^vmO{3lBu(&V3atW`?M^`>ehxz`Nwy8$hpyfFW6Jy!LsKn_ zfq;fV$^5Grt$Lu0JM(etccQ-bKWiNyuAz&VttOZf0IfYnYD0*|i%W##i-UYT2D)sQ#V<0pIv#JHhd=aw!U2y-+*7xf)a-W!hu0?{jGTcc39 zA&p6V-UgX>v9l(hTu>r%bTLDrn{R( ztV2yyxXDOk-6}V;gNGOdKS9qLarMc=s#PY=86gBjueqAbkrWWJ0RC`Ja|l-S3?bof zj8N?ZW4wwiu5ZHX@&^b~5mTWmegtzb3EN)~7yedjc>b>9SthRI1<}S^mgzB0_s*jq z3~f&jC0{b@G453H5$ZHh@l=Y=XY2CI+b%!5Q*Qm1RomcTTubOJ?9cMca?EABgRi$E zy>YY4e%oQNeX54oHXXk%=3f@PBlX67C{ z;B?H!9r3*3{5;bkF`L8bOYfB4(p>OOju%zHC)NS_36&2x>H={&tQ8G_TTn(}GFp&r zyHEA6!N;!^wI50JA>FJ?E{Q>g5!$sj7zMP8hZzeXSZFYzkM$jy{(JBH&#)u>ZRw9y zo)MaA4~JIlHRnIU4T-HtkDUn5LId0guVHh+?mh>6SZL)ndVp`AW#y?;8Y0V4UH+NO zft6irg69EW?iWj|?M*BoiRZWU-^kD}FWzXjDRqC0*0b0@5?4AzYtxyUm+Tx-hTzvp zu4CZrILHL!p%qDVMQk5Du6lB6*GmyoTDQw2xUF}&w^gkNz}I>Lf4T2{lU{-Fa}MDR zY6dO2cmT=-u;K%W*B}a-(7cH;J+oOTp4lrz!{)!IjN<>P+$yqZ7(%W~Z3T9jF<5%! z7iMlshRRremm*}6#Ygzck{Xck##OR5uGX4fp156Y87%7ub1(tL)pL+>>P+++{O+qdrS;$w&$>k7&$q5f%uDHinR=HDjfcEs4iZ>@ zUn}=wdrNN0dXbN*B!1A;=9#2485RsoH*1bZPEWX3GaCqzitrlGyscf=($PMZHrOC3$YT@ zm9MtE^GM4i<+oC@Cemcwhh4csEE>avQW`Jj*y)qs;ry@_DUvI2s{ix@a6_!9NBu0} ze56@NXQ#;|exSi6z_!-vko{jeAk|ppA~WU`0g?3!b((q?v}TZZ=bXO zJ^=USu5O}BWRoxH5%H*ZjV*@TkzqN$_Ym_566N*lXKg5pN#iZRvHcf=#=X3TK0789 zCO}Z~rab5BMTPlela^|zg)|$2V_t%-kIY3u`ZxHdL|uq|=Hev&BkBl;ZSGQ@`gk!1 zO`)Lh@5Ma1iSNewniY*6Ksbt9pu%F8uB4xT4jVR- zzdl^zQ5Bv>AE_Eo%c_cclnv<4dU=7_h1T&Dd-NO>hW?2~dg&nnOO~HE6~)!5g#tzx z#_D8Y=|=<(e}Piz1-c(hj!+x=sjS#&*WILn-+w8qy+0YjMb3f8C`V3|?;XSUFRKfI zBWRvNSeTxJ3e+8QAvd6B=G`(p(++@*HOsb_qKF7TM5 z2LqNJI$=gZ4X~mN;qy`Z`q%h_jYNYk!DE5p0VUgT2W*8(aB8uZJNvh!tJa66O`NO( zxD%=A*9H+#znIeV%ZJq*W!cftnQOfs$oXYFOp%v(U zAgA6}canR;=D~H{BDq6UdAC0c=!;jnw%k=A;fX8aai)v5Swc--)tqsicH z-=_fI=TwKZTLzDb*wtiGL4LgHRBdfh88JvKTknzR}$21{M28++xq1=EwS;BJS1Osn^tq+yc6nUkavjS83cfVl>61grp4FJS%NY zA1h}}bc}!LX<((?S*lkWf^+-aGZBP}N~_8={lSpkrliDFJ*DE8kpk%FTMHxdS{GKY z3pgIYzQVwLZAi>+=3h27kZ?yh(cWQv=y&SeoVPB89+g=0nT#_PI%aF)*ju@Tzmw}6 zp$s~^ZZ2x$ zI?vwTrvk59W!H-OPKbP!C(j94GbSwZ5I{eg5@Jj8X!-Z) z8XVUTGmwo@c8h1Rnb`IdIIj`x=!8o05F6UkoCArNcxI)`=OFp0BC=y~JX-N>nZ&9N zkckcTh)>YCwULG%^nR$N@Z4ZHYkmO0DiH7`*fn{$8^<@n*t_Z#?Q z>|_L8R=3+v{2!Hd2-tC$PUCEx9f$xyE|sH5ULkA1J@2#(#GfRPD_dP@h;Kn@fyNO$ zUWp$yeSjmo22IrjVQlI?TdLB+Kj66yM=>1C?dCAVfhwZk&2Kvm;wKR%eW6rhuO7GH z)R#Zz6^kKLcImZrkMVMx2%cqA$+C*8*`&t#pDHp($fe>-%r}LMbXe;sY6d;M3S6F8 zH?_><%CYU~cR`MEWDtpP*v-D`2V|4u>=-^Dx#ebSFFQ&El=p{7;T(@-^0(B#J}uB9 zhK)k6KFiz<mE0gq^j z7=3#G?Dm~0-_l9O2cn-CRwpP@S>T%PJj5W0&?COIO(Om#Y-U4h3jw`*f|&C+djCP~ zwdAu39zlnAD(qtj*XXaHms+ntFje0VrWwON)B=j~nyHP0Mq7U>>en-(7+?Hrczi^G zR`Q_O;`_)`($7Et>jB6A#4iTbdV$bv)%gV&0Z#-mH-YoRcX3W2(xvgx$ls!A1(*db z$7~sd^wb;ZSd~s&^li@&mI<93<6#=IP3M{Ph({1NGwEB|p2z^V9wTc;6wNeS{%GtKFR(oF;4e}Ujel|ubVP88v>2lc=YQuiXs=bsa;<2Te17csi-0jBhT*FOWkaH}$rt3*^hw^U4KsQkWHPHsZB(ntI38=J-N3q6s8 zylB|>Jgc!*B0vcwxp}wDPcRP3F8Ajg%=jg5QS5-w*4(33RqU%Aor%ycfDA-@F8}iL zt!G~0K^}5^=PzYZ*wI@k0}fhjH752D0T~ij@Mc(SdWlcgM4RA z=rT;Qgc#E5imMxTeHLhX?(&|`Q;0@QNAhgSBr%ON=Iu9#hQ>mX>$Vne)&IP07on^O zIHj}$u?IW#y~2}V{;gi}sgSQC%<9I-POplZM&s$dNE!wX^sZ4iG445M<}hn)Rt>A{ z4hU3VU;LF$ef?N){)IiU1?}K;!ft{s+qYDWJl#rEH8svTFwmQ#oV&H6Zk-Y3VJTZPm z!$=hyp0o+YwOe9v*QGUrr}NOX`R}pEUq^%GJ||U%`}{n(Jcn&atAD+ojT}FYYPIn6 zPgo9tSY6Xl)6z z6|+4*+*@y|^JTe?^c%C`q$iz@KVDI;ZEt@foW`YD8}|c zi$Fsd@WgG(3fO?Lzl5L&DwCT-8a^cYkU(xiq|}tlH=O_19=gggHo4Hrv3hI zGQy|d1x(dr~85*L@Qc}6Qr|h@zK+%>1i{Ot818xC{Q}7Mvd{A3ABR-$d_19 z#~kff`r98sOugUO5Wg0DXqG>c7BtL)6(_~K6AP9|70CYLrx9iYE!H|c)3a9Q|^Y;Rzc4n2*FVUu$B}$UgHC7y}^*RMAfk^Fz`bO2N zxV}7cEr;@5xzNzD6z7ay+`7&it>;e9Lzq%pH7hi6lQfju;wY8#3MD~XhkN3eL;Hd2 zqAO5Qv>7$aF)=RM&x{O97ddeGMxCrU#YQlnsb|_lTv*N{*q7c&=6n$)@g`)DW%ALL z2q^on%H8bske_P~zuatiLq~>9#U%$eR?r8Q&VSgf9H?IWP+QxwM?g05TN@eAK1Ic7n~JQI~iYULD1FPhhLWm zm{vr+x&!OC$zg&PLzMT*+5^yNwt(YkEibGa@3R@yvJDX5!^?Qzx!ab>*K&5z?ghC@ zC#34@$AHs0sLalXaQl%*o=}N|86J<-VD=^Up^Cn@ z$~6S_ih~_s_D!;>kYfHx`$=FgzbX@ zQ{~$4&mu`vmW-^mbUxhi-kR{;l>f6mP0xi`n6q6Of;WKRxJH^5xHM|2`p}(jS2|L# zW>6lZ{Zsz^qsM9l6pPB5#T5}?MshiR_~63u_#OGgU($WmziqW$43)wTE87Wn>y%oV z-y6b0xC)>6>h~Hj>I?o3ou+n3%&4^2VJjPdc=X<2_!rT~Ogx{VbNZ(nDo`eV7zp)J zLu-r_OQ^qyqXUJ%HO=){aA}s9d!8xb9iQa3{Y~tt2zYPIKfE=a@kehTWIugnL`X*0 z_L++PR~ho8Ml>N!!`^_gfU~2gfE$}zB)3=FcVZ+-1f?0hHs-iEf7NTAT0nXxR?BQ0!#%qT^GkC{+)#5MwbP$0Yc&{8+rQSKPB^JOK zLpY$G{%9A!P(U0V;0VRXXVQ87y*R~6LuA4Kj8WQw}e{1#l@Hr@XCffOg55jo2cN zQ!e#wu^wUKlkKFpjxqP=Ya$iG-Y?nnKM%80j8 znckg1|Jt(6a?dY6Bjoy!_qW1sM_ORjY?OOE(4EiyDt$gnB^le}E$ug0$e9nGo{TV! zfI5Q1D>^>zYS%`uff1i~RAdJD#>BF!O^vRPUZBPJ?u;|a<;Wb@VH}TtlY5ChgzD=}MR z9-I4zVopvrv>w{4Tez;@V}ob60m%wB*$NUf#(;ZYDrWhd{hMF)U#uIXfNvHII#TcE zec9`{|8)gCJ(sY&+dgJ0^6=hpY+u-@6>q?<#E(&3K9=`LVME1^=w*YB=J848ZI6Y=PfqtP;JtE`J}6^9XrC&K|0FxW-Ddll}{m zbGO~9ZH&2tXaDc5&X_&Xz!!@1nuig)a_m{R$&AEYne95~U|D_0nFfOUgvPDp)(J$; zRDnBt?O6`%edQ)cKAgeL%fzIq31w#ecxZBUaiT~O!(}GJM^t za;Mc3Asz?KUb*WdAhD5NexH*1=HSaJ{`q2xUn?h}S+74w9O;^DE?=WX{7yevtT%>3 zhm=e-t|r~kMc#s?k2UX+uyWLSykl?v1Snf}kUi<^F=_sBINWv{SD5|ABy{{9pl$Zb z^6TD0Y$IUtp#MwXZ4hwiRtK4gcyEOfPyc$lfdS58a$%0pYe~QB(cCT=^qLv_CqAyH zoFwE1>WoEJ>!K`IKp)8m87}eZ_%~sbBj+_hJj^lRBfklV_*sps-%pr>>jHphmw+klC*wahZlh=R7eF-yV0?&w1o*ok=`CBMrn9&T zpZw*F<*q@W(Dl-kb7mAQEVc(u@9`GzH31ZsE4uI<$571xUj5+R_~h-INvC6;(Y&kj z0DL_lArtrQH$Q3as|=Pb&KKNsAOK#5>&jHUOxmts%30#a`nGt)yY@q5c%7csVqgxj zMZ74-S^)%5#Ak;Zy%8HBW4yN#Z1M1B4Fi!f4FB13#Qgc1WdWL+|8MlIi2Jxu9H3QGr*D}#$lk0|d~N0HKFSR@@6#gox+8G%VmD#~ z{h4E|+t998gj%~i^jorF<~#C- zsvqn0lMmWaQO87D+_7(xlWy8;lZTzNMAROxTXaI0=EX^Y7g24acbQQd#ZGa2!DGcc zO;0e&F^31D0Xt@GbQsj-(|;R`!Uw!FKZJuuDsqAj!;kr_HRwX6$MhmSGpojbXT0>- z8SeGd7)^B}k>uV{ooK(d?4zyL2(3P*c-S6ANPxOpS(Xc;DDiqfA?1OINZL}47-C98 zK_}EcJYoECd@EBOp`qG=SArG*9Wr%LVBfg2(+cg;ww%8Ni&&&(0HY-r)U-7(l5UHmCrA3Hu~$%w%jp*M;G0W z-AMlmSRhrl^)5bi!`;A`OzS8eu>zQJ0B%yTXIa9-jHVt!A|{z}coFTgVI5@y(1NLc z2>>WBX1APikyk=ts3p9c{0fNdcg5!w1>@9u@x^f6^LP!);JHw8m*9439(o`KE8s8n zE|$y9R*Dom)1$Tu5q>)^&HQ}TM*DtqYR-w8U8fT_*F!zh^`cz0*)gCdMR5H@oI2Z}b`2IITo=OM)t1Hy2h-XHc zxOz3ZU;&F*iS?HFf#E;1I5lU<{yQ5-w~eVfb9O4)y zNC?pSnl$05d2DZ+6w zjtTA$N2ItR|H#>q=5PMYMliHxML{>q7+I4)Nr3_LjiCjpomn;~BD5=PnV~ra&P0}E zZ~uQJorOb_@B6k91Vj)%ij*)$gGzS~R6trpx}>{7+R-ST(%s$NT>{dbqjPkO?fLEd zzW>6rJ==X>*Lfa?fIuj8<@_`)(epbl7uEXNVzV;&U_&4MbYmlx_wL%z9POhJBlGwW z0Seh~01lG9VuA=)hoX-)UiliYY-1v{_Z(yna&8P7&DFC+hqwEry#^h2tV^qF@0)=fu??VUgLry+N}+YZ}uw1gOnd zD9GUOXeR^e8bPPrsBgcZ#v; zZ-Bd2k_T0Apib{0=Sd=Felr6qDpI}Me)HnrS%RW+Vs~dwkjDh`uYxUo4)iFgEpNKW zJ9N-iaz08QeQ{WOM)Li2vKdaEdf}rce(iG>B9*EUHLJ(=w<9CCJr@Jf!My!5l!bCS zWK7@6#;Fbg|MA$^_OmV$u6%wwy(N|SEgLspMj-=F-C*Ncr0uBb~eH>p!!#2=e z_@0kX9T= zT+c`-)yBs)o(TuChjv6v&3iS(4#R+0T1yYJzW+GgUQSzv?!$G zGB?hFOxHG6co0ChoHjBuo39Rp)`uulW7wApdD(Z$M|((C5D4RhM0{quz}#d5Okg5o z%ruc7wRxb3z%}m86mkFdQhL z?yB$LJ0NMnk}OYOsaUZLZWTip}hbsH$-VayFD;nfm3I(ga3*r_xL4vmLgOmqg?3q}q zbC-J|tG@GJlLV3#6tu`Q#JmVcXXUnNR&USNvD&$J_V=48$&+N@yyvH*t+BWRVxpqY z9g~U`|Ay3Lc`GR?w?-libgKCByZgH!o$L)rss8t=>p%K za1Dy|0m09XO>XtD*&CP9Z61m-RqB{$dFG;T!km)Ec0sEQ;5NBuFq#wT;FcCknZO-Z zv$fgb5sKY_q)de=$BD~(Ou{I_hzqfO6ASH_THi31X@uN3X1cb%@n>$36XAq^S`bV| zJEnhi6*TF`P#L8tzP!Awr{DSkj5Fn7Tj$VWKuQngTvZR*(N0raey%?e*Z(irdW*AQ zKu;%zfH6Fqb^Oa-|9bAYpH?B6UihuVfhYlkx$GV-#0$p48r@a{^ApJMyto}b|C6D^G)3QWbTcQTVgaw1!6~;g9y&c3`c6s9<%^i61 z-!{q6!AC9hQzy8lXe3hKo1~u#3-^lWiSKVmstlGYow=QO^M7pr*K-{IgGOMCWhezt zk%8gEOHk>#39GB_4{tLqlQcfNm4mtpySVtoOMKxLv61&%KCe86T5xu3>a~OQ_Gw?N z$qQ#B3EnaBCmdIhA57TT$+@8tADLT10eYnwBjx~YG7APwz zdG5H{+dsv1lTPR9Jg(xxkNYt}&C$}3jJsBy7BpOs-Z^MRYrGH3b;S3=eSg6ET}orr zasCDY(leR(-`8QfNch)o`S72+poO+LM-6*G6gHLj-g@aCOT`RXGTlskx1ZariG9^t zpenuuisJg}$wgYVdO#b`1M-g`Oe$Qr$qf^n`YztKuEHH5iSYPlV!VC5fw6PQQ08lE z)RHF>XJ;X8P8V`V#r$LvaEH^#D#6J_76&fe8bEE6ijiluV=)wZ&aU1WZb_C{OkX0a z%GZ7(3^iBR`i=-S$Bp7hJzruCNZx-A!=w^*cQ@$Y-#)%#xbyVnJ5!S3$#~=rCAUrC zvAX>exj7K|UjuGP<7w392`;hYG_mp(v&4t!@ONDZFmF}8GcI-Heuwe)i;?%P7A#fz zCdeReA9wenrT^S|l!Yni70zq~^eADiEYp*JPEU`6VHb@J7O&K8>gZm$?jaE(>E#(X zVgUz}sDD-$+k30+^Y_gnvZx8+bVPlA#9v9&khF60|*}VQpc3D)Oj9UXmzwhL5u$XpT#o z)cCu|xNWfQ^&`BQ>y!4l;8Q5q90=+4L)$6!^kYAmUcM87$Zb0b~KS1qZIBp0p@A2{9=W*dn`XuVC$@*t=4bql^ z?RqZdLOsyzHu2!G#Zdy^=(xUY0+-`jQm=H{Pi2igca7Sbbd~v#Y3%j>+?aP@ns11y zsY&&zt6EjJqWpu@wO$jT?32h)8KyLz;hahTEgT$c zhhElAMK!>}EOb-~9Y6D@T%E3Zr4t1kQ^|E6qF(gfcs=CtJ%pRa9N9kh7j6A(Z1tKy zlxl!Y*`J`O#l638{bJ=dXcZ*#hs9X%8b^mJiTx-tjo}LVi7{L%?^%6>+b`GWeM;(i z9_@-&tuAwcOmh>)jhpwr`*eHjMk5$YvmjHN6eCFePEge2!E~7C-xJZ*-%oY|j?H|+ z-}E-a!U#h<@Gml5^jrL`rxwEl0=&)z>O-if4Mj4RJr95fZ(YvCx&O?oIgN#HTYlL3 zq?m7rb2}zei+>VwE(V5CIdfdi`hN#|xzY;BERW$8Lv&N1hsi;i0q{O$<)$otxK|;J z$S4T`2zI#t>ZsbXX0NPwl$=SQ-X}5?j_0YFe5+)aTW`D5g){&;QI2^|mfk#TQQhfv ze#dQwf$FK*-x}9a2x_^c8R5MJilf?0{96QJMIx&IWpdvD)(ijnkOs_oG=mZaNkrI@ zuP_dPqx)BR$>>(@;<%7qJQ@443zm`Al!IYd;Wvi>-)XNQeZUn;PTwRkk zSHfd7_GdlbP`1OuvX%0{oZxN7%WC*#7S#JC&DiLP*(JM;PEZCXs+wd=@+vBtO*unU z_TG0ktgMq-%+tnu+Eq9zAOou`5^?pn*rhjk)1=>0^cq_LA$mL@bp3_a?p@M^sus*< z4SPD9wI;3Js!V6p`mpsMgL8Q$=!zn89^=>ggg9g5#PR9o-P7oCXWkc4=XLANtsyX- z&!fpXleowpPe(U0WNy%c$mwz-EX=WkVZdWe@eg?AVBl-w>q0%n-i1$lYK4v_b*Z3? zNiqdzo;(AsgN;0|>2MKrK2mpjcA79Du**0^Au8Os^rtL)B{{Vl5|3?K)U9w(Mw5g4 zCnw=UM#~tr##PR#%(SlaoJ_^v(ci374(k7Sh<7wrTHOk*-7Z8HXSGENUmZn?j_;KX zDp27Z`(_!NnQityl{jSJJAW3z`!ZTMo9c@spW>T^(SWdkpDdy_n)}lvZ&Pe&=q{^anTg=23;KXDvIr2f<)gw0;civckZJ;}E>3*PXxlHd`B$J$Ui?{yw%bo50 z8ybCbrGEhXPOn?a(DN+8*j!FgZKbFjRMANIO&A6WSvqUM9rZK@qmSb*Nd`^FNT%q0z(c6g^6F%FZBO*}j zWziiNWLNx0IZ`ItiNrnd3V58y<;rX-WwI?HN2msCe*b7d{CB$7 z4GI@&g;|8??IkJnR)3V#mk4h${dP$I!S2|n&#+7~n8c30{4#BF`O%|-^7ndmHiswbw-<|Ggb{SjVv$~h*<0Zn%v{{oO zuJ3ZsCQQ*U`~BBXwRyY+@MzWtyEFG19u653ZEO%TtKdsSx(x?mhU4moHc|@#D;lnY zCrZwRz1Qu?m$N$dpoDG`GFSiUvS4rr^m$Zf{pu%fd`L$=3g9CqZd|w4wdT%Q*<0wx!alh z5~WeJ5ApOng-_sgb`DC(mjxEk8$iec9PF`_Jsm&lI^u(?G0ZG#|Hi`_w%}=)vSUP1 zxd;CMIkeSfpb>Yx0;FF4PGj8ZLqYgT1+I-KX^G-Ng+GaYz2a#QShCon|CGAGAWVnq z)&kp!zEL}_oaJgc>zRlJWqJNCHZvg8y&@BWqIa8r4ueXY#W%RoM{+)`ZE=RnF9-!z zXO&mR>#V$jN{kqhw#1MG0;x{=TgUpeVI%57Z=I}ZOZcMY9x)Y&Eq|hDhrIgeJfjJF zNbI(OqrcNQlXaxvkLffp@n~B7G+suINuQa_&y|4L+Nkp>8N^YdH8eom56Z=UF)rWP zfBIn;1sN@^8)Ui8U$~`?umPaF@1j!5@4v=Syegbg%O_gn&95*53`UL0D`|E-3=;ZH zMve6;#*!^Qu5lb30rL+66|&c6Cz=D3p4I%~5+`VwV!b!bPPAb5HN_~c?+IXj&Fw>1 z%`q1_56?vSdr(~>WfJpGDB)>XFy%8%zGA;pUix<8##lW-$@ zk>gpRDJ$kRXh-*v?i?`Rpuep!+7X#+BAWZcqo_SkH`wI-zxWPISc*dMlt1u+Gi$ zh&d$mCwdA!N%U+`O+Y-t{2aa@rhd`F9RUW&eCmxU%3Qv2xkp z4NDDgr~l5of*e67y_?JYt-ICAiMXHx*yqrF`TW-SQ)A4a23Un)0HwL@!Y|~dL zZ3yY>jkz#v^Eu1Oz_TU27W*TX!__?dj_uRl#qp!c!)+p(5^8EX4*YciyRe1nEMkk^hb?tp!&=tS=cPd5>c8h0`5#LVvbjF?b6@WAj<4N%RWk`=s+`i*3K_8y$jU)| z;wd$_T_Ck%43_l8_uq2JO1h8AYB~7zRosRawK(NV30GZm9t!A2GBst`=|HbEaD7i3>A`oz2(F zOwFZ0Lpvp|MJpBa==0zAPQ0g5o;?1p^k73W))B99w!`~$N~=M-4U714!)vfw)lX!y z85U8uDL1|W4?hre)dQ#PS4@_|9AfTVg>CoA?-tbeN5{vLZa!_&QGYDIq)^tx$!7kA z@itd?AWB`(P|%o4c-6j>2hUAEGktSpOeKlsu75&_=ka!w4(RiOH8$!ES+|jgcp0BB zocu&$4`^+-STFT%KSf!z?~l|Rh^1|vx17vW(X9;g-byiJVk!OF04?cTmWtrU(dpNt z#8Cc~`*sESW`N$@CM&)&)-H?ukb#{1K~$7>%)vM7Xu-$V_YxP%XOs4fiw%OGv>jwn z>8)|_!Tay=M35vm+h&5eF85oZ+9%3X?hht-YWjUjY=e5G^se>kJ(WGcxLpY(HZlye z>P4YWpw~8ov2|r!uSiplM_Ht}b@G3YGtUPeo66&FLG%tTyV+Q_xn<=aJFKtQ z0;T@@CeCp~pAyHdoK9vKJoM&A64_T*v>?11b(A~SV0}>>@0%w#XmsprmkDrS?PW|~HmPhZ zBo>bhdzprO_eq^Qj@J-;QF8{vi2C|kd_lui;e)4?c+$l7B6AcAt3YXVf7JH4Xyt*d z6t-6_ozT{kDNKP8oI+XsD$(Y6fQTP@uYgj8yBSHHFt9J7G}G^F>Su(b?$|7K+biF4 zwQFdE!CQZsLLDET=+^-gv<0kaB1Tj7_xaqyZ%_>)mWm@lg1Tn!HVOeq)qM!MG zg;lHgdH$~We`%C1vpTMxWJx#Ia`Ro-OCMnnAq=#`4SxedCKT|bvqE&YP&o$XHqa>- z4>t(O{IX;o>;kN(7uvUL_)waHnrl>woGdF~oxw6i`$TiC7Qk&s_bxOTh~=xw{9t;Kw|Q3jt7#2D{;x-&}IZoyK~7;*~C zjZF8C(1HG_{{FW<*Zeqtc=iyd@oYCL%w2KPu57eI9k5Ep*zT~s2rmS>X1-cE+3!G%-L%%uez=X=7MuM zX)3G({1!HsWcLVIk(Mj0`henk&zmFTEd<5DY9tOpO==08#wua#9WA5HHAm*!L?T59 zK#>uwl)nq4{RA(6dhZ*CbB=fm{^QPyFF?L=M;sw(W^B9!d_A$-9!sc+2?^$bm*mcp zT`2th{#w(N*3yZQ(59<<_v9OONx{SZuXl<^4~o7zk&c4)g|%UVrhelvDas zNS*aUk<~T7tw4wHnBA2vqQe{K`)lp5biZ-$w=j$5#%9xrJc<%JCNgGf2Q?$gVoTnO z`|p_k7yml@C)0bXpro)JW2T9Sd&j-c9~VzoeqV^cAb5EGOBUMXeEEZFdAOyHvpHdJ z5M;c#edMDy@t_Zj>(H>QPA=M`4!xm~FTc{sYhyB~I2C`6;-Dq9Uj33Ez*3>u%x}`d z>dG(a%Jdy%i2c?mI-SSu@M`)?u1;b%aTICI<0|W%qmNXRcEfYj_3+0?vYhRMb1m4M z@FyQT8f2^bWa^m|#c7+1>76JrpuU|E?aGzYEsJy(LYSF&OocK4>Cz8St!Qg)DhiXRxKw}_6qIcrB& zK)EfOBi_GD=(yQ}7*-PjBa_eKKutvf8F9{Hsk3CbX=H8j$%~6? zu_)cEvvBQ!arrv27u4nI>)BoD&eOqP%ddHtBR}+XwoEegbxT$LVuq>qxe*Z!IM_G- zM(@C9H}d907uhGgJyG@@*RPdCM3?X+cA&4XJbOPzI(ya}GtI_=K2W6EoQE2l+qO0U zYuq1+IxChKh{@sKFqzl&j%kD^C4b>7eUNd~Q_}y-koA*Lzf{@d4-TUX+B>Or(7CUq zsa!GzG!nOdQ?q_=g=7dl`e>eFi_b*apI)C9vj1HTCu!B$6}-3w5&G|x4%N9&!GehZ zIylYLNo(Kqwrq5%RcY+P=1fu_I)ucIEh`IY^Wc2oPs>7y7p{1t@%*FstonaHrOJPs zWn$oio{Q)c`-%MLWJ$>1I32c`&Mz=NP~(y4E_{ZNLI9G=*!8ea1+s2dnF|S-6%&=1 zKm5DqXsxY}K6NjB=ghG!?S~o+*)k#aCk087fbffyQ#sMhYaobS>C{GimQFX};i?G? ztcBXW1Cs;w7ZO|B?&{UwlKLbdSZ!Uw*|miNl9s$ z+B(CR_AezLZMTelK3_BCF(cCko1fw7UkKyQZ?)g{g?T(fwdWUKzs;N~ltY;+X8%Dp zd^5BEj1$IFJa}pOB$O+*<(bCi#CR_tyfl?~`2Z~a*b{C49PN2M1P`hWL-JHOxZYI` z0%vj3tC^haJ@U6e`w4)!YNMffrG2Hhb>QIhwU(rEnr}t6QOeJmQTZ8HpCyN zj~)J)xE1<+tu*RZU2!Bz+6jto=xJr7&g_3O)0ThwD8R zzUMYTYVp#OLM4=0j>1VuKBx1IX)3KzbLI3&Y6*&^KQXZ_FM9r%y;FU!xGiJlWo8mv-L)60|5xL#oLk5_ z#%$u+jeV54K>b3&sdL1ns1FDA*A#8(d@mexUF(h;{;gDRxc!!D{JD@0lh2t;+NV*c zdS2H-i^5&@MulKH)V&>LMNMSy>n~Kytg>OOucE3>>c@>!ySSfnWm-`&x_#@g@>&%N z_k+hChy5@TgwzrLr9Tb-yr*eHH)2E_DdlFD8hIXR=1A?9XrxCLrY0EsWl1=8Djeic zyMbhH3ccNDNhtmpT}#|XZ}sL>K7=JCjuTHgj+F(sNY(5ze@J3WPyY7xprB^vNjhnR zh)j%fKEoh2gT3Xq*_6ApoZRbstF@iNv#*Tp``@A_r4X&PJi(KBFCyP5!D-uD&6`Hu zXW9)&`Tfp7Oq8Ea#`q1z2VpZZb#Mt6agp!N|J(;|y3-GDPnCQ7?(OE45V*wdH!gU} z)MLFSPfveP_Z$Cg`nzcJ(uH+upiM@-s8sSm3l0+AyMZfs2XAMK2nuC%*P5FwAlfn!@xg|+Wkotz>&f}ko9gsd-i1u7fET(6o=x~omyf6bOV+SczK0Dm=GCXd z6)pX_8_d$0qZDZv5bwI#d zs=!i;*SYgPn2G}sj~3rE)P7zs`w`3pdO7}2_n5=9?;*-EV@y4}cF>!kp{u^xi~8#5 zU{RF)-;<#iY}d^D>~?KGjGC7Uo*2c;&b^Sh!EvnD9q=OZe{nTXkjq|L-&#dC;?hK~ zasNVRIS(3W%Qjhl;_{35ZGkxMB9)cS4)i~+WaZ-hA@Ash^6R*=l}5ky27?bLhRFK1 z)1=0`r{UQwnfn3R)O!6Q%O1WMog4}F4g2oYrx?Uik{){v`d87ztpupY?+?OfQy71Z_r#?G76(BJ8D65-svG&S{^kh&zLiITB6V zBxY}#?Xu=o)aeRhD+8|6ez@eS*!YTlh<~{aS-Nl_%Di=@1g*=WY)>`HLOa-4I?0iN zFc``4X*tcAJT_&;54vb&ydeGU=m(u)CWg*;*Fd>`IMO0tpqX`-89U?To_W431JnBuV$24= zW8TY2V@$bjQs%Uk@G-eD%|ESX{k1SUXx+4qp4#P!Xf&{4D6F5*84GK7s#32VD*4uT zWc^!U$6tQQgMA7lw!A}Y`R+gaI96V@CrITi4{|Y|0*$tBZ`YLL|4tEBGe%7aez{?x zRf;-r82d=YXnb^KwC%miF@Wl`l6A`B)LB?JZRt!xG&B=XP=a9DYrLlCKFiPPla#T> z??^UPhrh&1jf61qc3%PI5$F}4u3Jx72Qz;vx#K7L2$`xfZJ}O+w@S1H7Z@IMCa^a- z0aC&0{R<&C$`}#@MF$itx63zrRxPT_!J?6;=AQJoa|XIQwm9DhxSRE^HTz2FZp$WI zs)QFN-J5!>ibeE%bUByQ3zqgp>BRTPd1Ymg7DACUe}Wct*aw5nKgk^e%#`U{RltO8 z>Xp%!Ysr&g(7iv+^;shNi{lphN54tbelcd>&eN)mznJk66kveo*ebnw_)mIJD zSUkTLOoJS@X{~U65DppqGL@7*7e>Xbn2IRjSUCI{8*V&5NazYcz(f;d{Ek}UhhZNw z`=htj8YM2K_4+CkXgQHMIo0tRu+)rPGFLr$9ebpI1NYpCMuZFB;+dkec04s1y7Y%j zuP0sLcT$-kb%X1UibA9Yn;GZ66_`2GFET`YFpj+J=Z3EyieA732{DEb<*wu0MZuXt zl+SYhR%gsPDf^flT^4FfhV#UAw1p5DpL<_vap5*$iUA?C;G^+D-p`%v@%k=eo|EHa zxtn9&PyLw^Z8o_E;fYcFM}^ znx4DlnX$Jvc@I(bs(u6}*l_{Mmhw&p_F&=t8oNOdNXtxHjtz zT1hr$zrf551| zj)vtGYs6+%U%UAqfO?;Qv(FlAU&3{2kL@)lK?4$ZBHwe1RXoY#^J zV!4v6IwyikN2GJTZXfrny0XQ&2|g;i?cNOvzPa?QFBz91YDso7Zs};jvS@~!`m7JM zOwuv2mU3y%c?%wF2|6T%bAv=n2_#BP3JtmK)Q6-`Sr=uo*-KtN)*@Gz77v+--Flx2 z?(rTm893J1a4`?sb&xY_^GRk<$<1iE?|msh;mo4S@&3E3N)xB-0%KrWR|Tb&sF78s z{!8%Q@+G2Odf=SmN7L40If!;C3x?M$kbUl? z?jAo?7f2F|a5GVrFmSR@JoSeVI-RLf3i{M~#%h!e9>^AAkqY{W`-cn1)|M%rt)+Hp zbUOZ1)K+F3EJ*H^0nm*V=u3%=5}TUNn(=K+FH?b*H|wu)DjX z?=#cG=2|;G%$4Tw^T8J@(EW|>UKbaHj{TVn@c=_EU08Lw)t$`pa>IhGXkE4Q9?YjIkxJvQ}VL1E;rk}`D;m}1SW+~+(2V0$yWpD)Mfp4~J&X((hrW&NE_zEdh>eeCy0 zNd!fS^*PQ{hsBx5XW11xp%sq;S>t2g+8$ zyvq$2_-)>U<8$8GR}{VqNsj*sO$U&Ng4t^)bu$mt)8eDvhda=m*G=!pj3j0YVpw*6 zB-=Zl>6=7B_utpqR_f<7C|IH(d=H%K z7ORVGfL_dkMbX=V7y9{t&N*=J27fy-UV?%kJdgLzFHdY|WS5Ii#Sf((b>jK8nYvuo z^S1!wte>SdW4h9hkytVorNt-pl^Z)L1a|f(s&h;8&Va@_eLMQ~^I53s*rr55aSyUJKj<|u->~WLUrC?BOZY6!sBy5 zD6m65Y2z!Z^Dyo+5DYUxL4bzCZzVH}!f!&?(ZzB&Bko^4chq zP*TVLr~WUjYZMfo{0>Pe$rlS!QkMHkNF67XS%_`J3ifO(s00j#O1t@w`hVIuBsZtc zJ^+Ir>-}$ir~?RCD-M7{L5u=`Bf-V2t$-to^YJOU!tJv z3$#TxDj6yjmro8P^!wgK9aI5eZ<{MgiBn$;(VY+kJ9!oIitaP}^p$`!6r(JHeX9rs zg<*3P9enMfk%uVS=_oB=aEz@X|m5(#acWQ--GaZ5PlN^b)yks#`6t$9GkLrjOh zlKiagr!2m<8xvx}lneZMZ_H2+fXs(Qle4&T-d~|_w)bHx{I3fQ1UL$=3({nfFhqKJkA0;mpI2s_Pf*p8ng;$@5$u`*JX#VvA7vQzCRQs!$C81 zcV_Fw1fsFAV|i3(tkhj^JK;n1+7}_hL|SLuE>$$>$IVtX*+(cNRmOIcI>pvrtZ(83 zrU01(dr{vOuThZkpsRa=6<{72y8`SvEb(*{Del{Ju$ZviidkOvmmQ*&R^SLc_O2_S z_DdZ4PrHQcu;adS!@BsV>~H`)H%;}RCt%htTvpVkUBLLGIQ99siy>!AZ6QFEOr+5Z znK4Q6x!mATwW-jEu2=f8=b4>1L28C^FE-j^knN~l@WPeyQm?U`!r<>Cbhwk-e$aK> zT}><8loO?_JU;<=eCGGm12TO^&?D#>^DxfBsdYd`kMvQA1qrQK7dD8#oN^pNL9pYq z)omI2e~ckTDJp+^2gm_n(@W0O+JcW$qUGdMrJ_MXS^-XNR}z#w+0|dQe1)mYF-s{_ zmfvDpx+ocMZC@SqIPXd0m9bAN(5PLMJlE{6o@*P1@#s4(c}rois`6xySxg3Ceyz+o zp0Z$2ds<}&4?o(Oaa)ZknnVl76={``{WIy2;xeNZ;n^$gOF;>R`>xUt`_m)ieYj>+ z+hG!Qy~!e$w2_Thl#j_j%ICX(1rMbw%k14qs}rJpfwBHhPmQBIbQXKlwHuOy5hbKf z5wbe6{}i5{pQ64JRCXp_>BqSj9+9$j_QQkk9Y-1(SKw`V_mb(IdDC|@JZ&e=lNg=+ z$ER0oX#M-dauFFCuz*2C?CHT5$cXOVF#q9bczkYmKV(UW&aF2aQ%0$*tx*TqwN4vr z|BZf0qQ1OqI&Bit{B&dkSd0_$zBpG<%o1_GbzX+|o<;PGZ>k-!2Ld7X3Y)2&uDGXb zsn5%y=O=~m+RU`z^egLLsq-^y*>qXR!S>^OgM}dI0};3j@__V8C*Y&QHFU^^4aW77 zJYKC4o@cmV!z05rk{wvXw5mf(#axY?UVt13BkEsAprYS0jXx0Jy zPI;%Op&$Esm`mPkHwLbiRm$!;hUp#j=7Ye+ymISEE2I~K3fl`lJ=`Xn8Dc+yE+Kn) zvlIg0;n&#IwbV=#92NkZ1Tk9^%*DKrYmyq05`v8*l%7}*tZ;2Fg$zz{(LGwrvwUj# z`DmYl6mSVKh>+Fjg_>Xpk{?6)bgPjv$mxPh_0hUeR4E)l8wX1gU@*qE^WAS!1rzr+ z*oDj|(suwR*8aTew4D=je6{#3>>y4`bl4aU9NZqA0gaOYx?@SpzBBofy+WrOEsMBp zD@FmM3&4CcFo7RDRsX9Ql#iyqRRM1!X)U@SEBcQ_H{h@0i??V25M^XLVeYItYyUExf{s}O1`Q2pw*w}%PB6_z=f@XWcT<}G;eWS8JT{DO9J5a<&H z5!~(V3s?d5D+yP+*r-7z;(nUhjp;0#H=}uX9h~ksT`Jq}=4!t`<+gJ-v4H~+QpT^2aF{*5bslB@@)6!v%!!HTuYNq3m7q(FSmV>tApHvjj?N9WX*}p0ML7yQtDjfAqXMyix(HjW|Aq`gqCL6xmTwLM(241 z*4+i#LI9^`W9cd->;U43?=HxGY?ybZ1rh#__A+TV?I6lI=_fw3=`8&7NEjZqh%Nd~ ze>0HhtRQ}C3u3>DKA+u?haPRV@22n2W(-{q#|b@dLT~#kK6;4{e3Q;_5?XBI$0oJ>4Rq0bqlyw z^L7tgouT;Aa>ti=@xn012H9JkW#TfJ~Pb-4nJs2_CSg!R+orw^<{i4P~5c*pFS z&uHE{Nrf4Gih+Vpw1>QQXyQPTy>4{;W&8bFB}2Yu&iP{zQ^R+~bQH-&!rGhr*$R?} zk2!wB5lJjGpFREbD{_iZ=QaW-LzpcF;OBE99 z((PtAxjg}A9mZ5*|C`m$iLzvL`YT#ZEKTg@@px%HnC4;?;<0!`m#S;Hy-40;!mp$& zgj*bomYv8vF@X=rs;{iJ5&{#MZ2to-1aSD6YD{$^?m>6=h(fc;KH*3CP4@ol1Q(7l z051CBQ)!XcYTzC80^ErW^mcl2uu8yVaU~QJH!HFm*OIyb6!en)aq(;=$l!=+>})-? z$4;#6Gh?Oxh|oOB z+K0L`vhYQ?lE_~d*TiXtEs>eGfdHxg0BT~~`#5@9L^Q!%SP@?@y24=!ca-U_%Ga+# zr~(F!JBF}lN$9;~`e(ccwYGk(MDVOtfB@B9xB4BhUqDeJDvqB1Cj1G+qB;kFP~|c% z&tHeZBHVkmbAQmokV~LGs_Wigz$th^tci#FTCk@duRNq1XmskoLQCp`H`Wtvo%N7F zVm095Uj6{|z-DZwk`zY%hd4%KL)6hWVNbpdfax6EpR`q5v1?_1tq`YspJ0UM*Wm!! zqFi;+Tr{lV3Q{XnsOqRdO4f!STX$br6KIN-#8J2-8XN8{iu>sk6nIBy=JYEd=A{&h ztR86U##h!{hWH9*tkqxBMV9NoL{TcH@iUrjh!Q;{=L)8{t8RW+z7EVu<5tO%<*Q)P zPLIG$?Moymi!J@b=D*pEcn+yqCr=ruh~040mU!j!V&=ma@#OzJK70DVNg#Q}$NK(# zPJ`NpE2Fy+qA7(N*VkK$;BtKN^VdYog>kiReXm2KN9Ua$zj9SMy{U|0<%&-M7Z?T@ zQ*bJ7aS2}G(0_9pKX5$_28Qn}NB(Aza34;&*}qOofL2T;o17M8xqEy*$FP+y(1P)ZLVs=t)Pg3>g|`!DNTuE^D^fjAn&9gJ?^cgQ1VNr@i)2XE5Q` z_~o3cp7y5o!|DLP^whdHXHe&DtJ|i$!9LT!v&aviDt66ECUr_?ZR(ZOE`d(;7P}SL z5rKn|NQ8r%Ti(*&-tKOO8)yX)(3F)MA&Oq566?6fK4tPMO%+`~G4Y&f`kc8Nq5;jy zsCRIw3A6{U4H;+$!#EDrdZD3Xu3f9cBlf<1JbEEBi^A(D*weMi%Y^SFkn@@F;n&w7 zHqA+o>0u1yU1t$ehT5{FSh71Wp{@B*J^r0d3-Z=BmaVLmR~8%iQkTsUNi_49{1_5c zS_2GA7w}6^5QRxqECG8>5;9G&oRWrm&u6BaWz!JmLix>pbnpKB6N#vm{wTA4gi%F~ z(c<(&M{O4jP?wmZS_qFNN8m0?2*w81j#gIhXXiZA))1fQT!By9L*p! z_#YIX2+ebZBH+rfm$J$*j30Lx(bYte#-=~Jp!$^>QBW%(yITI*PIv4HxeB{hp+`j3 zf9ZqFMc{TD+s+S-IypiOL|lU2rza8N27Y08=ii1ut@{F_8-VFCB!m5J7zc+77bn?MDhQy|@kZy}XIU-QV#z{OflzWdQK}zwDBaufHM*KzaW~jO z4tkrmO%j#GRR51fNWo)cvhPJxpvN!buO%nek(^4g(=P`VqIvFvAGOJF8f!-aiSmx} zQv0SC7VzSh$NhUW#MLNaOdCPkLf+IU=4q99it$(`%62AM>%B7ND!gU zH80QtwWjylA&qN`!K>}(LGUPUoWlOUqe%RBpo$!}E=wgX>kl{>^R)4I4L>P9%2L;db6O5^V^e?Q^Zm z;h8w6KTPA&^odY0B-w1Al;f!2k;-YJsr{|HombT;qS@d@eHzO@zk6iW)QDx!gm%mdzH4P(aWz)Ses;o^~K@ ztOYn6*{uPCm#FL3qhnwXY9rvtWyNL4zX7apZWxH6ZEffOubJNkQIZIb3!3V+`-`c3 zcbR=wIhgc;B691sY2PExW2fgM*bSz)ne+qG$eToh)F{w#{ATwY%+F94&gKdAJPuHf zhJgpUa*UoueIb;}pt6;l{I*G=eIs1|1o$2K^HFBYU>XIge_9S( zl|t?RSUT&lCf~P>(?|;lNDh$@>24+pqDY98v*ci-Rf9?yR}j{Wys&wX9zb>8QP!u;clL^x${Ymh}I+14IZl5i8& zzB`QS2#KjX84Y3l_1rI%@?izL%x9CcvW9iqh?nDL3SU}{WUpN4dNHatM?(vPv6S*0 zBl=ru3IYTJyw0?$G`eB#8-le_2xn3*)!ioFhd|ETOu{jXa9<0=L5IHdoyge6y~6IC zA^&@)x6{R%^CkO@ggG@p>&OWu>niE9|>FX6B6q0<^ro$$nfMu zkSqy+M}k<*26O`l(U24->seOLm&!Z2BkJ$n5edB#UF&yUcKZeM#xYlFsJ&ZjpBsg; z(!-iw4oK6EZMr%7rHRwfddWE~BbZ)81|?EoS++d*m4EDwghjXeYMLr)rg{ciuxnvA zi!pY8?x3!bdY2F2N~Og#%7=%Ey`o6_U2(m#qUnxha@{wT8C8>nXxyO>DL53ks%e3i zU=L;AA+?L!NyFD5?4W7~9`UHN7F;T{{^Z{f&Cr-v+QOaj>=vut+nYSucvR?`P=KNT z+`<*AX2<5wEdfMdC}J)O;7(>V641P?Hz-Ru=^ui&FY{uS==jBH+Go^e`WjyA!~0U1 zu!nf&BYNTS;T4}sKAvmT4#Yw`}aJgr}~wP z{A=}g#_D+>IRcfexZ5zrvhKq$E*m?{yu@`1F}i`gqcJfpWLZrVNU9Ec!+N}t=ObHN z70Dv%jOTjb(;iE&0Fy+(dG82-v0+!$0Z>iDV}Jugm(z)kxb`ezKBmEQY{6?FDEKGIp%wk z(+URWVlPy|&#cBC=A7;&mK&*}9ZXhV6Z*Ymi0OI&t3#Dw+?)?`=Y8=mec}-pu+;?XxneZuKB~crm2CUXvaht+|sty9q+nmAYs@I{xH5m_#-x8VgWx5vqFjzR3e2+UkA50d|Lm`URZ?jd-Zz2_QW^W1sk*MUnaCC(9sXp4G+OiQtP%SZMx-gBEZpF31Oz7lR5{9>|@~oKVt}c*YB!@XKtumH--^dmj5; z0kl~H;iIc@Uc7;=HjdA!HWQmK+lh!`1Ilt6tW>PKV?g8U&*dl*87Bj#QRy42e5|An z&)Ixk>!wg^LI}6$8LaVGQo2;s@Bm1ijg-kR?Ik@(D*bdy4J&FDiVjA!2X*8kRzBr^ zLL?=d=)eCP4$(o7twWu(j?_JgSlU4?-Bm_T?vy|p?~rN0&O=roIz7G2Z^THdB!@(} zsMv#nSYa>xX_o1odI2@v+;AT$$m|1NYtB}X`b2N#kKZ~bG-x!iaw6a|tk~&E{CX$; zYce4xbm&KnRdfnP=H+^Tyu{((m-K6;T&0UmR(H$%OXwn_NtOR}>Xxgez((c|X*4pp zN3r5Ea&eePW;DDVnr5+l;JwIX7%k2ht zrmE9Z%V5irJ{YPUTORd+PgkFFI{I_yzT%V{5&w=bP4;#W%m_3>!_Q8u`%vp*<7@G- zCQXDQYpb_Ar9Wb99l7vo`O=n;``7$y&Q-2!A1xMZ30w)~@y+rYJeCb<#JDh}4@>4aSj`X%=t5?6u#jC0 z{7v9{C60t`RqWg$q@Ac$OyM0pvvIAq3+*F5y|J>rDD-qez%0@5S|_=At-pANFnu!& zz5jglU)&*t3MJ<)JE?_E_9|I={%qwvCK*1oe$MtdI6j`!@!MqdF5gWrC1UvEl{EDQ zOl~L|RdWRJ6x5& z<8?EO3d1S}w9@VJ1U1tS_1%Uu=?)RuuEM|Vi_;r;ci3rNwD=0#zQ4*2ztzR4*x~%_ zldca#RtP(+;#R7`paGk>RIMlrS|-BrZ9#-2C3T$PuIf57-{^M(|1)Nb8tjuwO~P&!OR{hf!sTp z;>s=wRQ`|biYAp(IEtUcM@zRb_51TM$tNaX-Maz)H5floio^rsM0NUH2f$ncU7eAs zTB5vgtcS0N9;J)5pu*puV=EM0=G%6PrMxaCAyxjlapPNzyB>ANXb;l?u%bX&nNa#l zkFiu;h;8U*QNq5KI-GP@D0#7D{RIejN%!L1hG-m6DbaiU8;_t7 zZtsWi48WE1iu*W`0SWCM^X(16(4m&c*iDsrFoK^0hTLB6)=Gfv9+MoeKzlV|Inhj= zih8u>sD7e&LKc4iw;w8cV0wNr`)Fs)3ahN6Q>_ScYr_S;8|s(E-*2o~VwB2S_SP$` z7pNc*q!Jan2pmiX%s@^bXnzAitF0)3mMqfb2XwG@N`J<_pL) zUh1NTBg6&CeAviVD1cM>h%loI>ooykBSoo(#9^~TeT!_^`h_)=yEm)<{`M_vv+v)R z6_PHQUqs%BjdVC;l4V2OA=+gj{XeE2-Tutk$^(G!^Y{0qzAXUf_bs>E4iV}J_Ea!v z2L<@zz+6=v)tvgWL5Mf%bMFZ_7g&?D5~|hL_9qzvNSD`uTpu-FO*d~Ldco&T!jytW*D`J*QwFM8>g!L8OW z4&U(EiSPMwJ*+FI$}FnGH80l{E#+{Yub67SDXUs(30|`)jfpAJe@WWbo%krdMxvc& z@-{|pPMZcD!(I=-;Z*3YP5wj|zxBPVFZWAAtcUdJVixX=WUK5)Im#M!1T8S>^)(SezZwro-kq}5~pl7&LIB-bwz_4`(o zDx19ccUi5-5fayl&gNkcnmu7oUxh+7=xb5*+h{{jE%h%+1sh+tjh&`K{-Ud3`+$&S z)R_x)p+t4HG!Z)FsFNovMxklI9U3p=NrfonJ@c|p66pv?Wm-%Li+PDgTPU8pVxid(%-QmaW1zF zdLSM_ng3{g`&cq3_aZdAN?g{{ZFj}+1GhqcR-um>o-FOurfA6loEXKrKDgiY3#G>? z|D*Q!`}*!N?ylERH|Z@Q2)%fjqQxEH7e*kN#Up68S65EqU}Nz^q>^pRe^|Cz3jk-;>LDLS5@}V=b)Ru802}) zaSsgJm%I+c$?0h)jBJ3e>N%6N{nnE(mn(}OfFXQlRE*`)=a4HZBtfBZ4D4!O5If^f zH@CqNTTHDFUT!lO8(fe~HHS~lP%e~UpkfdJ*!?O;!X15@Jw5qyp+ zF%bJDegSyqld*oju{t3<+Io!x%RhTfP8vw}l%zH9KVet_-%B-v0DRBpif(31>*0I< z%2`oC>_XoX|B?eAH^5P^-H_*MAvgy;mWEHp-=Io6xbm+vmOa*2Ln@}& zCNh~aVCGx-lmfmq?9j={YbO^VJxvu=#R%xlRzI>x3?Dd~JMlWDus1+$P`SKTh;n;Z zA;RoxzeAyl!~Mrex^&KdmBmX#wtB6Vv=ExLC^D7TRHYW-ydIo_-u1thDuZ;xf`B$WnOt^VuH}F|`Iuk3y|&F0ctcIMlGQ71wH)r`VYIz| zYM(#2N3tov>Asnkgw%=&m{OI&im?zRgT{HPbdwCv+c>aX=g$KU9Fa=DIt@D72ypPJ zLF7cFzS}Y;rQD%F@2%J-+|(>|R#v5pf1k3Nar-CB5+SrfAF7OJAZr@T^ct-L7|1!t z4wcyD%;wfrE_C@H95%A3IBZ(sGu!5&k9~pq9B`3Xa}<*w^`IG@;N-R)%nqD+-;7;$ z-~*tx&Pa1%H9O^-YsV8}A#UurIbcW$nGE0}GyB0t$WwQnbtrHXjKn}(Kr0bSwLjNpYGjt18+a9Ov&o6^ac5@fz3w#S$$9v&YzieDMH0ct)O zEZKj~ll6<0Cr?$Y3gynIFMyy!mo z-}di=zGT&$Xi~{Yphn8*>TChfQhhv*_hF!b?WKcce9pYlA|#)Vc49Nu^jom4!r~ko z9?ABR5O6uUi-eXeaA4>DP+vg2QOUNJdR*g#b_ry?{Lw?xd^aKjx6Q1m(W}bX;9rZ} z*QoCJzo*jdc!7QKF`EF%FBZ2oCTAZJ3---53Qze#Gb&=-+~#VUY3d~QMyMOo7yT~| zEniob$Zr3VIm_X$@mhFQR#jenZw^JJGl^wjAV1L*^Kc9_a} zZ^56|{}K>l+;?4)75Y;a^yuCDe8!UW4SB&n&EgG-#+E+qy`*zr6|Me!I2BazRgt(T zw}<}x$%%%bVbrW@4Y3AsWhSk|CiA!pV(X{XLPolXC)?L%%3qY0x|2tbB4+u5IP4n7 z(q3DK-UM!YtA-vDv5BuNaI*KM?8@M`rO0tahe?Rv*dLWOpb@`dsMRTTE^NW%`bMe> zDK0nU{&jLHGse;xY$Rz(qRYAD?=?#cfh_r163Zi5^gjR8NjmK#CkXRQ>y1x3|!sT5Uu2BUYx!Oq%9D-nkFwBxa zo+)+IoB!U(@tXi$bx0W!#0=VB-nS~*@4fJ2WR^mj+5Gz+UOwWB{|?eQlAJ~%ze=EI@c&CGSv0*KsS?__5XQMmT`{uT$_Cml*clD}fXhmir_#}Bt z&VwTe-=v&|bQjA=_d8&MH{BR+T+!Gir3Q1{7qsTe3QQ>iazcKIzpt@!@t}8@FXwBl zv?4~is9pxfiACaJK7BBSh@wp+*bQC(cEb$Hx*0elDQ53+eU7KGu<*LGGyqv#0wt~N zU(UcKaHSm2Mr4uR7_ZK^ZN4K|^Ym*@2d{`zq*#M%+Ra=VpGwL8GgMx=n2k>@AZH6$ zKGbTCCU5Zqpr6LxT9X0Os&e~4YU{H;0riT1jOrXY5&U2Mk$8;>cG7X7%LN;}f$%8C zcP`-jjDJA;hKaC_41NKKcJ7AZ7vaEpH%!Y;70(hcM?0{3q@zu*s@tXsB^zYR^sXV+ltq+P{JD?FBRu?3^ zFUv-4(KH2jQAd6c+P;n;@1Z8msrkv_4bkB9X#ZK>d$!AE!jPs;RT#Y@&_{n9IU)IN z>50(O%n^Ehn}456c7t;Cz6z~W+&(xMxEnBJxwz08mVK_EaT6inNi;5AZKxn7o4{6$i>RmWq7to+rUt%MRQwsz55oA~gpJgj-vZjv3 zK-S7{#of9@mi^-VifJuZV}bFyHSg;s59@#-rCW?gMbG)!C*hNq4B59)$v*4Hld{Z; zrfsh;%@m$|YLo{$BrTL5``st4=}f(3^XuVDVlzSr6CJhEEi*Qu#)7CQK@H4rTYIoTaw zS6T&s{9%9yMIfxOF>j?X)^_&3O$c?$Tosr=;zol}o4A>If5~cD*$XtfXo|LZ|0;a} zl62IVX3o|j_wVIQQ2h~DR5|OnnfE{V#l-`z=QT&*Ph)p1Ntt8tt%(%|;Z5xW4Uilf z8u~L2;K$GmvIZ34JxfCn3aS*vD<>Wi^Lz{UQwpU@IYp&Jr5U{PiUdR~p*uLp z&1LE4f2>)HAcI>IiWLu^`n^xcN_kBO&wUOLL3LO!I-<^3kcS<7L-vm_1Iv>%l>69V3S z2_<;RZdfmU_3HT}1_nAl$M=h`lk^{!d&TZ|(Pmb1-Ls-wE~a*kr1~A|J6-tl!<1a@ zgTi5gLyb@0)hB7b+oNxh=%kJ)5@tvEyQIY$4VNc%@t{i!SSP$a9?d=#?$uyt>1YU) z6E*+6Ve$2u57IQ0^K^AVk<$J8j!?0rvxKu&b+>x7)o*hUQd=N#p3scs zuyWVHA3NcIPCqQRW}EddUO#05XpUy1?~5yWb2jjL74u$G+$Cv!Wial zmFeN({_v>R-ZQL?w$1r&a#9@BpYDPrlLZEon=KxBU*gh82DDV2j*K2hbX$k)-p2igK`5;;!=l*P)h=Rd+=l31hAcSHD+{>ad#jcsD(BTPKG2WYNZ(vtVw!)w92bo@h=vp9rQ$UXy zxwSyVEQ!ZOdjeu?%eSW4S!1AMnts4zJ~eo0?s{OeDHUV`G?U5#k(JcG4(A z5}MZ9ELn?3x$51|{%!nECF&smyWZkm;k!RGgI*WxJ4D_H{HPhm717AG5kMP#5dNRM zG;m;p8%gx8JpO19V^*Cv4V<^6r+4tYZsY)E9n}MXun_jEr^uT9&N2Ky zLYI&b?;8lg1G`n#O}u6CzlxZn`EL#oL6c|rM~hgjtp)|{M6<}k2mw3~?C*C**{!{f zjevaNf|%a}kPXuQuNo$Ho&Ms_!QrwhZ@@SBEJ}rk6+9KhU{nusFK= z;i>yl5i@1-*bymZ$v~G1`m4unJ5q{P7Ij@BXgSbN%Ym3g*yK9(!FLABDYst9!@{Jx zkF@&>PUh)irbi;WR=w_D0XCLW7Us)bE#5uA3PHB}_capA zr-;6Ma2U~iwjcCF_r-N!KuZ)DcVY9O#&VPRSuV*%t2fHJ9td#md%NGKyHo6PZ%Z2+ z^x!A~e z7d=YxU-5POL*Ot?HwD$2@BZRz2oEgxVw;0&lrn9O02eT`+n-Fvv`~ zx9kKz0#5*9_18WZfV&W`B&k!(stbVag`j36QNOg4j3~K~HGBWtxw*;VHwo^iD?Zpw zG$&q@6xeEN^Nb3VClc9K-$sI-Et6s0nQ&QPD|OvLxSvir`pOpyf3#BP51&o^{MUks zOO_shlrHIP3GK()ABId1O&L-1*v)FIJl-J8`kk(6odR%+6!YKtKW`P&#r_Rkw#ANJcGae`WgC3b{hGX- zFM*wP=jdjqYwjgV1mmV0JU*QJ@RxsMREPhgEU=w?nu9TDW@&dko%O9#KetwzJx_nur`%zEH6kaqTV9W9&^5i2GBb#z5 zEccnhF@ITYg8$0=x92{VVs8z96o0N{`{U5I zMM$bbmEe#>`BEXK%vaTZog9Fk!rU;)0;Hc=pA9G4ket(K@5= z(2-jM|IcRYuJoS`svVh(lT3o{S@0XoCB}GitcZU*lgGQ#uie>jKUEAszo?2N7WRiE ztunJ_+#``tJE4?}z0qOX{_B>X(I6T$Wcd*GH=;Ts3mo~t?y>gFgvR<<^kj(h64?G&QjLxmW>al7QW775zZ#FnQ?%Y3s@oQA!))orL5 zSo@VM(MIzFSAN)UO}MnDN<%NLa`9)vTsj0|&IedTeP9xi{}gmz1Gd~nkAB+#XPMuLf~*oSE|1I-DPul*Vb z;jZwHV0m!xJoSEq?Gs+9hhEe^sSu7~qeH=KKZ0&BbVi5xl3>VtMerA;d?_LJa3Q=fUp(*0#GSui5Wu961Fb ze=kC*x6xa7bszB%30178Z4$VTemiH?HLH4WTy`kYSzGzh1`Bj_JyMUkws~`{(8a&_ z91d3gkXqe!*+y|XrF)#zPJz!*D)L}a*8Ky!@_6X0YyaTN_$Ze?^-o|TIl1YEhvxMv zrZX6+1Pde&J4aC;eeC87jN1_@w3eUS-0;U69wNz?) z6*1#Rvcl7q5tUrKi;&*%@qncKef(7tgKBLIoC$u6^;x8V4aRCh5qetadzWDop_gB$D!|q^+xXq26&2i z^XVjZt^(=Ht9l|Ye8`T4+{HqSaAcc6={3;I3TWilv;fJH+;bdP{qIg*NV0MuYvS1d zLlfTx*pZMaw8Iqv={c`dWxc|PAAV1;3C2DDfHv|gbr;7GPWLJ$hT7*oX0|BL(;>!* z#X_D_=Q;yd7Si|9fXx}+QZAK7YL=n+!U(}|Qi<`%5s#mvygphsdr!UM?yVKu%m|4p zNaT(<=kRJ5lH`qSJ}sB-(0?#C`=X#?a7K+RWm$3m7nSy4CX?5<=)Fm;Uuvo8nH$a# zOvvymIXmAJWec-qBbw@J0_qlRtE#UO?uZ}njrLv$`Fvtut9&(L@=C&V%+yM~5@TEc8#2b)6i` z>XbfRtw2W>>{bN{cywMW3y@}xJfm}mx7;wwY1wC|OK}34(@&SL*82m5{!ZH zxOP6Idv*0PmD41J6M8ai=P2pAc8WNTqVNqw?At}ZVm9J>?eIPQ$twLxOZb|p2@Jpj zI3e^Trp!wd8F&Fz@3-pwobzjAwcm57jqQBhl^vr^Rp0>p>>4Q%^BJ97@5p^*9W_N# zJpx!a9*VtS`prc8T`y;lB7?;n#Qb&(yQq!I6d&d->cg}|()O0UGu96yOsZ^JVHq5s{vF9(`li;c z_Tj6%#3EeL>iMJX{xb=yS1e=G8kq=#az&{M3#oM@*6%e{5@cr2wzJ9ZscV$%kt2kz z%(_W5Sef!<$?!z3Cqhi!YY87_3)fcfRZ8&i7igIfSnifH5vP%Ti(|5vx8!G(g}5Dj zq0`p0$?I@qCm$Lm;0=sDxs%}jeATrN95;HQOYDEF+q<@S5DOH~S9oP?Bg+TCse%fd zoC`Y2l$>r%xYT)}QD$_^8EqO#)^4>HT}{JCWIDS8=w0BQuR5BY-jX%w-78aLX87~B zO?dR0rWW`RiCb}K?wedx?TK8cP&PHbA>M;DUvwh)C;ivtV1c*&D(k|YYMFS>`Bx>C zb5?@@LbpPXltx&i0Jm4^)Y@hKvS*oI%`L!kewDSS9s1Q48LcT}_2lZNkIunH(!xmn zpVTtfWZWM-{(%^BUcrh5fpc(Tb3(ChCg~ne~NC^mNmb^^-scq50%{WrKfS+q`@UyIb;_<6|01;M-_@g4if1_Q0Ep>bb)!+o+lN3j-y&24eP z0t0XP{O?KDT+lwPZ3k1v+qX(C*D<2DXvop0YEz^mv)ljq=8PfKMM(uHcfJ~KN9S@k1~|qk`%EL4G-Th(qESP zvd8B#@^by8iB)98VXCEyxovUqK*#s1@uxyXNGb;hZ`{z=b}sd{J@I8^71N>2_SglJ z67c~a5xS{C?8(qQfeW)OKG*vhN&@RKoL{;#7WHabn8@2DSEyb;&UIX965uQ2M%(%A z`;6!1uF)6Y=P{MN4P36ye{c^8CO`fQT5xIkLv7OYp9~a&Cv_cWIUNzV6rcat0FhIX zg^8yR7Z!Mg)0n_S57E73>#IF;)o+YQmkMbuUZ}{uV>BeJHf+QLd) z4ULloRUE}aUKSWOz2dSBL3GvAfR&xr*C%_Mlk2DS@D2SOe(#&lsTj|xp7Yz>CU*`` z5KEc+xKM3XVb|BkW11Kkd5DIC^XAX4^9ehEory*7kbg`Jk9jO&K!VU1w*z-!nDZsx8v~56yZ(S_h^3P_azJr*Y-z~Ya(0x#W76Yo$HRx4CYN07j*dAT z1_5G}ZkM*(8ew6IC>ZFj#*U|K)))0X-}vuotgS?Q(&568VedZL`nhdM#ZfJ_ffn+2 z@S1vkwg-l5uH{dhYNIslF9+SFG#RLgzIlK9fj&(5EO2;Ar%{XaCb*TgAFsMZYgb4= zGpUe+DAEU~zDUnwbBC^dF3gHMviM%V6*A2r@L8P1Pbjumfr8}O`n*cvUKqoh}OV_NCzxLvlYUFXjp?{w)KvlHgZ9EL0$YcKi zO#Yg0`03&@zVgu{oPwM*Qn%LX^qWJ-KjRPs;bO#E#m>bSKUxl;|0AswFY$}6TXz)y zJ~kQc^5EO=IU+n;Y{>ugTJ}&{63t5e{%WxQmk`|d>~-n?#IWiOWECXJyoQ@!8K;%W)ifEhPnHkkGVW4qx;Qj z+*%MRe2g)$)r01$ZPg^+xO1M_xCj-9b+s?WEO&NoN5`!>FQ#rre*&fiyAk+lNDP)U zzf9%ffpQ0q74XL$0@0frpxY+?g-9=(W`EE|$PLQcfHA^Fws}ddSo4+D z4}i`j9P;TpZ2bmU6ZPGTq;6)DTAPXTYlH_Y=M(BonUqRAg7Kg zM~{zKoMXU;@tf89H(!Tqjq6;ip>aSQWTRvQB+CF;hD@VjVd&hHhXW=Cf71qLf8ghTL$OBB#=>eV`Uc za8TxCQCsVM1d$cWpHNxtBg4%!?cLA!C^BY`ee}bT3w}exkq)u$xLhTb0fnhQvn|@w z3lq0*q5PZ^>ft?11HN@OXhe2+vn`qa$09DH!w=>DIdY`HkA9fpm{2l=L%T%keR|UQ zqvtS}BuKEV?~@?EFv!!TLrLr=6}NI<)6CEN`|p2aYktwnn^#YLlXhwLFjzQB{Z(S; zX27JVLxJ<$p8vT|aJifKi)ll;{@t3EI3Sk8{O)FgN_Yd9?IFMoA&&Z>K>U)irpUoF zFDFZfN#Cgqvu~G)E2$asBa63c5N?-iV@LOta~pbB-|m9OUvW`mx~w2n+qsQa(+2}! zSGDqmKAkDY2>a{9s~)>0IV0|dXeGt9*7~%}P2kw&{`?Z6y{bN8IppTeTe2y=HOIww zu9qK&Fp2*A?>+bfzWwFl7>$OYw^LXjLAyI*>r%ML%){m=NC_`LQT)xwv7J6nctcjK z_lDjl?0p#UTaRvC40k5`o`!vg{}tB)UH;%Zot<2iSl9uUEmSi-FUcIeU6X9{J}XO` zMO*@_m)NQ8fD1XuU^0`zJ=wok#tsaiYj~2mw`{ht2%a$p^X?&LgH2oh&DL$2P*Q%2 zbWyaW1djN!k9D6HH+A8bbA4-U#TM&Nj3>78>Uvadg6-dV4WVfw+=oY&WJ~Z?yg5cd zFUhRk>!}p%r?{I_h%zE$ljjD~LWC77ADJben*w&fMw~@)tm$+9&|hiFx9(r|H0}jY zd*HlYG<@BF;UD~ogTGQs(+hd9eeNb= zy17I->q_dX$(SIDwk&uGD@%9B`+Kb`>r=Ykd4PQBF7409@@Rf&V4@d6*H(# z!?mIfAOyV{j$SPTWq-@$C5@$jyyB6+tr+G_%t&*eDoZ)6BD0^HR4hk<J4?$nDV2rDv9I`RpHGZnF}Ms2V|(U)MJZUS}kY|M334B6X0 zPemSsLXrAA96GnSygqXykLuS6IPzJ(?~}O@cg#KzWq;3sLmi$@8rwGeZh1KwtM05? zU>!Icr*|mvwWF8E8zJQP5)6+y%}s`Ywi-(7ZYwJ1MgiXin2aG>xM#YxV&RW7!o96$ z8+4W?DaI7l3J+y37ftM3&P|aTQ}4gzrBW&2e(JXKtQ;r>@P6EE*mhNDmuo)}8XiG| zvLpVuhuN~@wxG*(=AKmPydnEZ2YIIfCQPRXNsDtE%%N%vuS}&eo)tbR&N>kg!I3vSviW+IjGk7FRN~tLAElpmOLj|J{%Vi-o3FR{+VX4#xtlw@EzeShz3~Wg?mBsXf<0Pj~rM0qbJG8v0); z{Uk~eoX9Y>(!s($T|z=WI8Ee!M0OaWtnm*_*;Nwff?d_dn%@YTl!B$lam0LMYG4(s z{%9s9;7g`VA9%AH7auwL)%A@O5;`2dDf%QNv$)7|Ltmmr$Zh~|Zcymdi3LKdw+vCc z&vl$C;*3(|?!5ZGt@72tuPICO+I?~&H9n|5^_e{|Pll+nATLHbJ;3YQh+u?>M2IDUJ+z&p^b<6a3 zmJE}n1Soq|abL63jMn+rSF1}M^3CkZTwBu~3Vh8Hxn7bdP{?gk=uFTMY0}-k4+~&5 z`IS!AuJw)Q_toQ(u`eHljrF%L+Prq5m%)^1;s@(6iP28X7&EpW+(x>J-Erf2ypo==xSRAE?vatw-k?bq7j!usE8FSl5lox+#0dDxE* zo*<61^;xy?x{ol=KU4ere`%3p38GLibZKU)Kd2v8!61>eeZ0ci&HgcF?)R!W;wZ~S zCD+~gUyD6iHdJLkMhv9AUQr`(dj|SeER4<}UO)HeUB;aOUd>nlpTXU(iA|ZLOFX^Z_X6XXz2V1@|kwgnbYG*fWpWK z3RFLUf7OM1N1eu4_&7S8Q!xjNfZmE)ZP2`o+ZQ(3hqz4>i^TZ)Rf>-nEkw5CM?5FD z-+ceza=cZ30r0_0=m8na7w`2VL+G~yx&i>Om`@nC@5MhrY{&I%y#TB%Yu~UuUsU#3 zZpDr@**qdT7mbBc;_xEK73`U}B@(6ufKRZ_8-PX!K;^va(X;!R&#V${ZB@Mi`=$Of zDGqoX6oD3-)ZK(+lx#qpS`T`G56m8)Q)Qto;@>%)nm)I}y0)7M}Ti z=k~*r!N_8_r^*HwrjLqQEDAM{)QK+(?-4O&7=5`PMxY||-P>^aePywsrnLM)H}M=* znLvN>g4nB!r+K@D>S2EfAH5gnsR|VrBovg>9rVa)TZH?+v->%1`Rfh`XomeC5#oJb zU;R;EP7!aj@4E_lwgBqcz^QQwaJjLS**Ky*U6B zQx@By^N1q2d5OW3d(z}+jLL!)DC5^-Kj&d5cm7nIt)Idt9wXERo1mFaTQY0wcDaVuBs~`7Oe$;0$-tcg zuJOaGCclwqeN@#xU7^7Q&2H!GiF2Ar9jR{YO1pW}O7rSsU8*G)ID1j;v}lu5IY2z3 zrYlE%J66`C-qIR^x24=%i2j9v6AmRUVVJ>ND^kQb2nJfv17PR$4&&TNxT}j-B_K~A zY2?*gO-mnhy{dkaTAU|yl`^f&RFR~y*{J?CC%#?-qsuTzT<}tp&XZiyzryhpZt<1C zdQCx=8W77$;G-lc%*4?bnTcyt-_9134^;>$)}As=tbO`*+JXX3hK6EiOrCCg1+^c84Eo(;0z{6*OfpMP}8 zKVlGo+u!4iVu|{z_AjalY|cY!W9*s=73xX+^sk`~(~(3jNJ+@jAo^i^KXT-|)WR#x z{1Tq;8C&GDAC;*hvI8uLsE5GK@eNl-4hmMP@{7ePCORYN_e;j|eWS-JD$WMmoi3x$ zUEhw3_fbk7&)rSKb(C1J33~bRaGgFdt>WP!%^Ptq!mPUao==f#y0)n(x>q69dIG@> zglVAfT%Z@V%hnJV_AXp6b^mX7QC!~$9jEs?fp9^t6Gnyo1B4@lgL?bb>%Td}MtAo2 zqru=Tqw@JO0!XjzBK_d=0{Ox${@?Lcp8)f+zO4JwWS)Z$o8~xWSwf}WG z$;7`QsG8$G(9OE5((6jrK%GA)Qr`?T-Z-<~q}?EuTA{NkRtA-BVj$noo-eOE<$`P7 z$pRoK`tH6mZ=oI6&CD)TqANNQ#Myn>)$U@)&a2!~)AANG#(9astS-GklH^M|;&MaZ zIv~1OIdEWH?%bM;)I81_n`zxM<_79I{mqHS$u*4@q6nHiqoI>Gwo)xh+0FrP$xzVj z2n>pzc5D2obwlLzkHrkOCmflaO8ohf`2KwdYZpt|d!^O$6 zd6#T$w%pUPo0RlKhHA6CEARdBIN;gl)l_yPrnU8AX?zfgb)cbBV3tmnS$Gtya$C!@y4dDd&^J`AKAVAolHm*TG+4eDyxw{_ZrV8x?E+a@Fxg?j1lv#F5>DP9h;xXH)D^ zZw@mkaIqT=qqu?ii#6&!J$;A)@QvfhA@GDZ(zMCX0`}m{$$UE`bUpB5PzC5)K;!GD zmL3iHIu7I}04`xb3}gI}_tSD`rlZmg>sv2T2!jF07g=iHg+U_V5(9y-hS<}S)nz@v zcYG`8xlu!8Dx$8H0xd8oQ?D6PGI8K(5v=gDAP%6~ge-4DRws3)bzz+(te;swu|JSv zdH0j|W3Eh4uZPD2^^r{a#~yG4f||n3l&pxacjiOyAM^(zj|6>)NDy;h3kfD`^XI??q+2AEZjcxuor09KC@76|4y3y~wlSn*BL^FM z-hF@XwSW18UEA4n&VAqKbG!p0oOUiEzYQ^PJVz>MaE%+5c4m$1^N&&H+>ZV9#gFRE zi!swgVZl4M1Pji7^BR3;Be_%gR;4V{f3jA_x>5f-bgl521pWeI$c)LyqK~AW)Cbd) z)iEH--T>GmzU|na0Ge-0zuvr!VDL^ug2aebdLEzbCaLB9Yh^_n@divoJ1MJ%d&3Hh zJ7xwfBtxSj{-CG3w0|_4pi4U~Mu?<_J8enT^<0%o1MpldG##|Vu1+R<%uH5NwwFjS zUgU~=BaDMEp0Pgl%Za{&W3A)Jxi<_tPI+-iC^Y;|LtmUxF%#V)M%iGm6yQ)zGr^@B zfphGJIhHSQ2>gfhCkKq&%zT7BH(*BQBzO|vRfuUh^mK%TK>dUacTWSW6&F_K47 z%e0?jdLS9teT?qMD2j1x?49RZ%#~&xG+nM;9JsBscQuV!1JxjUR z80Y&27kEc?3kPiK9(8rJ5yRhQ^*;dT+PSer$8B+)umE=PkHvw}R!zD;`LtjJNPn=r3L)+Uf$1vF|v;L?E}o3kGtdv3lw_ zu#;(K2((@T9vk6-Hb*s)H&KTcvhGJ*{>6}IcoQMR$ujgj34qIr1$eCq0UX$bn-J%=jg zKYH082W}R_Ehytw9|d>VT0`5$5%`W{GoSk$9L&KPlzgu?G-2s+*+(hWT=GM|0Vc5 zak$?(LEkI)*y1}gk(sOdXRY+*3?aqt!O~%YFK%<4iBk2fdD>k-rJ}v6|KurO<}%eS zc~?>#g$BP88YYQ^%5#LKc{YeAZ*ksF$$JgRXK(NX2Z~@<2!HjD^}qic&UX=`1gW|SSjV^$ z1P7Lr0hz#Q4zd{k{K#j0tJ|g?@a&d#CA+t5wj+9JqM&D`{{kB1)qC``=vB*-&%4Y& zB;JK~m-G%6D$e@mOE=5_HmNXOWzS<+VXA(7S^9}a?MX{W)&>bljoIMorym?=Z4E0R z07iyEt{or!EsoYl58*|yw26TlC(^G2`hGI3eQA^TWV!v0so^x>Aohz3#NMfEo(B%! zJ&(cp?P)QY5Cy_8;F-=3Kg{|hhVPQyh$?x&nN3p50u2h1iH=Yt-U(P4AS+b2cgM(b zt9%Ayj=7edj=?p=;ImRc_!#D?KPK_ss>H=2g>YaChk3NQq3jjH0iqHH9O0w$qKVWR zQCSAD7q6y*zo5Cb3W)Ivg76T9iDM8CN#Pvx{yH9lz!INP^g_^YHolTrRgRCLx(lW- z0A5KIdUx+^pW*#-Qb20-AXO4jBYp!u)E0@|n#azj;}6VMqyEYxfoc4KAV^GXOXDT! zWK9TN6+xG+i(wyR)Y}UKFsYwkfwZbOPC?t!mW#Krex>pK;Oy9yM}1FjpZiLO^nv>z zZ3ZaFF1i{8NttH>zBojCwMR@S`jRP(oo3pVqf06F!@$}XJ^tAf86!{5Qw~Jg0Ujg` zD*xgWN@Ast?o7@Sud1*AKtpx2>4dM|L_D!~yc2jbohNJlXgj@|pp3pK&O7z1YubhZ z-)YSYURxF6JDr1JJ`PFS&%{Dnrc!%i<>GY&(~LyzM%fZC0t6$CdMn4#H4qZy;4dY& z#JdV#>?{=Jk@UgGTW_7M#BIq>vgJ+KncjOJLYvJrCf%i`iL?&Hk@=HvaNHjkesqci z3NNMG15q*#Ev-ZY)4iMq-Lcb<_cQH?tz6R_xI|O1Lp+;5G7LH7!}g&XgmcSL`xaF| zKbD$i0cF8DBq>K2ZQ90cGetjsKRBg$192s#gIs%ZO!P(NM1lP*>oj*9LlggkTsz_& z3Y}sU8Y89?9HPMkB>y~&lQ|HEz4e;H-jC9#4dZ|ZlA$dPht4nQtgeI5+&eFp8_ESX zH0$;c6m_tR>qpsy>nd0%4o@{8vxj*~y$Oko32!f_T<@GI|1t=<8Hq+VfibgH#+ZIQ zM)dIb;BSsw!ojf9D{gQQ(QyaFw)zm3y-X>OUx3ccZlVw~b)FR3(Uf%h(Q0ZaOAtEj zKR)6?t*S@TUurLPA1WAZeWmFcn)x83N2U{4zKz39kj+zj!00A?KoX7T$X&`1`TU-3 z+FDF0*puvqnYQr~z5arA9VW@;46hWRt8wMkgyfZZPETt0ttZB*R*Z=&7yyqy{p)Jb zi&AlQ@Gt8T^rXWhrwQ{wdv^~77x+wdsXKIWd!?EN-mpU4_DR0a0=vam%fWtw#p36( zt8MzMSBnJTaA4Li9qn_sk_p%in~(fHhnzq_+C(a?o{3h<;(z>?K;JeCTN#ekngB z2g!DMBtp!bDWfA+o?0s2mu~A(46`K2)sOc(51s5wVng13_ao7q{*tYn!Fu~n*1@Z= zI(y=uQVK4mJ2u(MO!h^pZ$A6~q)w@@WF{v2I-Kd9iqmn<4Y%6VqAs(ej$Eo6(Gq%j z@K#a1>>IV&DgpL5yF0$S&?axb`MOSkUMnXWSR@omhn-W7b~(+IN@#Af9a0}G4cMOE z^^;k^KVz{~ZKQUrG6aBJj4Vg9OYu+~GV+fruM6@htT|?_Wk+~910La{H~q{L*798r zEvRU)XO4zIo$<_r{3T-p^>4Bz4}2+L>TX3=G4IgGPw+%D(Vw~mT@nw+u>pfRIz}AZV7S=qd0lV`nvy6S*3s>IgEuU-%Lr?0KtT^QpxR}(x51CnSfPd zh!>?BBen;MN6$h%6|#GJ)V=)e5B5rf9a8V zV@Cub!mwNLg1DrD>LUPMm?&%BKqn9AId+oYTK)J@aq4gwKeh}2BRc@Xhl6MPE)hk+ za$RWJPs_w@U=GQB;&W3q0f=$}Lt_a|ao|B8PpV_U{qB`F$BjFGaJMG@u>xWUC`Usd zVHePl59oz06Ow{MjJbR0530{P_yS=9>SCi1+mbUS%4YT|W?eG_l7p;fR#-31&Uz4W zhw~>!KvouaNkac>$fhy!wTSE+nsmK8%!PJt*X$A^eXJkJU$wPL@TB~?_jnsdPeu8@ z*jr#>4smR&xbuW~@^F^6z1W>glcXc%^nMlNW5e3WiKhHl zCCP~RCpts>(rG=JLVQ(F@2G?}0S>E8swbHD<0&Mp>+@?mDI{zH?7n=GTjysjGq*@n zM(+f2n#?`){hoC*!N)M|~Z4KLfCikkcEzb@HwV=qV^{JO3`0iFy{-|N3{|UYU z7JaK;oIiU-f=c%7Y?x~*H;g67zfv>%V=j%GI`SxdU_D8WKke}_i>%52)r8>EGc3LS zMPIok*X9Szg`t;AiYwt!yUb_AQ^`WK^QU6uu`@?|hvM&{y<$6OQrw}P(uzsitrF$! zFMKHIH|9b5z{bE{S>@bDxaPak--o>DfyKn8JF@=c*9;TXD(YBn0-rakucq%%J)PGn?5^u!4MGpGlvM7=!^o&J z3UbFER96WE-8jA@Rr2eL+g)s%tavW%p25L4poi{Jka|7>Y){(HzcsPM-9Ww&?knyP(uq#qc7+G*ygi=meTJpT z&1qMZE3D#K#Ica=X*(+_m}Eg(@&?cQ1_s3BT|1~g1a@Ama~6{o7o&R96+`gUt*7m- z15t=ww4?ooA-5x$goBmyz&&GSyc-I4B*9`v;WN0>VxJk=xZNr4XQobTz(NApYQ%a6 z``XwC`ia3=533GDrAfMfCu^X)0FW<^eX?ox$L3)ikPZWQl>zmVVwtBoZ(d5Q~v4xX`}GT zbMqE89a?fGYPwCWz0uf{eG49&1xaK^l_brxZo)oRSLqsjfd7=yYCV*Qsw%U$`FF4! z$fAGbaA1Dd;VMQ|?Xr;8ST2v3`USB!QT*vwQp$h-yu9B9sypbpW{wi_^AK&N_}n=o z86dc098djIpU`v5`#}EL8eC`-_X`z3-j1M{3)!F)!6zTK^W2WQ+!rajw^2s){wMB4 zbsuu}cT>?2A3s|E(hS}oZ&Z4tEDkdjhNybMl(!ugNeXqvB9eoRhSje_nJc#E^XQb8 z^On`lGDya>2Oz^|TWyO%Lv?iMfeF&PBH2V7I1k~)Y)+}zyjL4jjhJvl&)pa|0sdB~ z#GtkOs)Ey&(Rn^U&MZ64zW!qk^H_4x)wcAh9~oe}7(fp@Y>KiMo4=}P)U*3KaZ{Yl zTd$UEO(qS#Y18-rR9_R3<4X&^gDX(US*fd&261WXZFcfyP+=K1yf&xSW(xKH43$RZ zzVsCQ%MVGeSGb7qyuSBpvSHRT?nm%%fBp26?0B>OV;Jlz$IUeiDoE)#S+MXJ+=nR$ zRtdAhZrtt+krUbAK4js4zpMA+dxA5gRRaEh)zvX$FLrOJl3waRFGmVcCU9REhpllj zHhLeZ{v?c(q0yvQ)Nm$*-1t+{s3=PNZt^+8JXoQasmErbLjm4$@n)mU$YkN~qz|ZW zUZ{PPykAKR>~ewSOiA!V4&td*8^KF6Wk>vuW__p6K0th%$K$j$5WL9`$jfg#s(URq zqoLQ8-A@C*ye!gLj~nH}vrtaR0&+5|9Ha~r00}<18Ig3BLN;tAObbt?Q`kbz}VcTaD2Um_AiH&a<%Mj(d~I84#9 zy_K{=`Rl&E`6AD+HyXBrP(xOtU{Yu(mza05tm+4?Ej>d&bKL~IdZtO51Mpom%xTms z8hEF)^nAX*pHG+Bz5Rt+ZZ9&`f^)`yyrYaby9(u%K8l2^=zGsl!lNk{*X z!wlGgLc!S7(wCRH_P^Rv>fIX~~@@=N3Vx zvI0Y%M^$TphPR-@Ic-6L^X7f^Hm+uV zUwySB0=s))p)#WFeZz+Ryy;zG$vL6mGLZLIhDX|R$eI0f2`e??1T%XvM~7;Mn_=%y zUdRc-UX!q8U;COnwK(l=(8)euOv*jM%Rk0i_{raGKIFAv)hdw@Z<2{a>4#gSv3^NF zT2ISbHXexY-u<}NqYW_FfK)y}ZZ&&eX5n{F3;ZZ;FUKyMmch&A zR(IRG*P8~r&7Qdig+wIB)6pFIn?$B?HZ4-^|3Ti4$KArXy$|;iY%=EbRfPc*a)`)X6$~|LNI%<<({E z&eEgaT)YjxYWR#%aPsN%IE&vmU=#glDho9%J_*$8vUF6Jyrj8TzV}~LQ|mg0$P#)A zu|yv(8DzEyw|(;NPwr{PtI2PHvK#P(V=!*}PiOf5#O1>B@&q6@FVltWVE(9bK?C2V z;a`8PXx-~jkXMatzyd8$dC?|C7+CQA-A$b4wy!CE?g8haOPPa@IJveJIw7&VLOA&X zSzg>_tcGRG1ZmNW&4O@^vJ~J*)07!OAtW&BJ85U@M|yCKS`uxqZU6gL&A1_zWck}? zI*R zkhpv2-ta2PHzHBG!Lp|ucNmu0J_q?4mWGdZKR1ipy2DBBpS?!DMvJ_;=*pd-tw5$x ztu7KO$l12mWO3)0Xg1DcTMQApieO0 z#2rjJjQ-RU9HhjoV9W$uej_}UuXq|YcRqG0J4R6kl0EO3>rWr9rThG<_OKxtOiS+0 z<&5vSvzw4@y1MXUvKhU_sz&L zw$oHpETSV{DJ1+e&-X-0XqG;x#xi5zX8fw?B89j;Tz1S%cb)la3`E1N15eY{fg{~T zj#XCPp#Mzhgl9WBb`J{|_n=e{AU+Vh+H z(q8*WhrA{WcFuHWM#~^V4~R|!1I%KN&jXZF*=C+yT5@+g2Exvr-^*NhIWBX$yhCh& z#M*zwID{0`l?q-`#Q?p7d}jdY3VFNr4jpO4OXmNTg4O&f=o*Py@rHneA2dIIG_Og_IRGz;WP%XgIe;5x)5lStWwRfxighgmG?naT7X> zz#Dc^Rv-#Of1327XK;Fhg}_kdry0H&ChR&ju`8TVw&=ImHAyUD93qq(R`s;SUFm%v zsQior9gP>agU9R9N9pV;gr3DZgr7+1Eg%|de;x1M+vSy`Nwaxue$x%?u)1?JYXv1ps)nvJ}NOQkv^!RM+HB}(u;p%-0{^uLeg_WjJiQ0 z3@gekL?l69lMOkku}mkb3hz9fg>Vy*?1x6H7d*FYgEWwv`-1Hk^S+ba>y?BDN9Qo4 z2Eu*?N`OTKR5yFh`tTS`ie69DMEd<5Xx)I0Z+VdtjE{FyepDYN$Ihfv0ty#S`t9E< zXD$?YPyl*A_9h-rm^rT708e1ojuUxU$iyeJCM?qSl_mXgq7MB8{|>W)$nN+%XcID= z^O3E1_#A_<8!RCg@lX8^*Ib|>*8C3`j0*7|%kXZr?iTXwisNW?Pg42mlQzcsmL?dE z^mFpQrh;&3_H4>-^IMr}$#ubzu7*j20+CsYdzJz)_LzTHgATuv6dqD-ZX%L(;oX^t zgpYCHyngCRBCBR?CRa$n7qqT$k06|yawRZW@!mdcT?~PIeG8hI(AxK zGKnlRUWfNnR4GF(!2VA`qEC>g8TZNe9M@^NLbT}DIwX%nHk z-Y?|JaMxLtk^8}Kugxg_v(bR=z`l$7Tp2SDTf0NkO^0WuKN;)6d6$X6_g-60ZB6T} z@}wsgj3w&nQD*_;T#wcD4H8&MnKsG|}K z!6sN)d!C~sr()}KbaeL}qwR6`EjilY4{Ug^=uO8+6@1vHvqQOx4~N{Iuoa11X}+{^ zfY5Y=wThz$vcWg6A1HhdQ-sE@F<{Bqw+1c3!77XNBSfkT*^A~;uqrUiv7rD)cof-;@q*Mg-&DqGScB&_?EgrXgKAle~UfY;Xe zfKa;>_iFWtf-tUtYvM+Ss>)SK#istyS40)0Ax;G<<(uc=9zPtXG*#zXWkOPu6<6jf z$|@tv4!bJcWl6B2TX!K01L4)mx>&2!@dz;ggPDe;iPY2Q`{NXAp*T=~w+vdt&aNvO zdZS1TcjE?2M>!;yvNHo7kvBu|`-5S3{9danM$ta)1_cR4pkmgN? zZS%DDo2wNvoLWFU6IAkzaD;Ad<3Ah+i_>R&r=U_3)Wl!~2v@Cu!;BCD@sUh7vX342 z;=q;$ec)z86pbtqAdMS1!NYzoa<_Q8J7jMO3r|;|9o`G!s)_JS)FbC|U4Vl(^qA|P(q9vA~d37V=pD%>+c-xK`$D4d^OWtiS z{P8hwwofQFXb%?r_k1?xZBf{VjJUCK4g!Yq%sp~X)uUfh#2Y4j3=cO#m_L7PO|;T- zxXtNOI=&emr-67KHZ|Iv zW+u@N8uJMK&>q68(UI(N3GTJzo4pz9l>s0 zjzV&uWFqM$3H~&JLOJKnF-@fI*j$(Fwp#QA*h|TKPX>9=2!vcaIveRv&tGEv$dJp5 zE53n87&q6Y*gFp-Z=dbDCBZ2qZ_BHg_PRJ&-=L}&j~@{?@s0!E@ONt-9t_uu<}U>9 zuj_4g6Lw!cW9C$yl+C=1+W`4{{xGtGl|gJtCjc6If+<&yqPV;1^wM0#)1!4 zfmO<^aTAjSGdZ55^1-IY&8J*k^q~>5a=Y(7qFG(f|8`X7^&k0%UPvt;#d;=lYacZB z++#$7&ls8#j&l^=$((inHs6i~GJ7Dy1zrq&Vn%LA3j!x7Alk9Gu{*RtuQ)}>|Ift~ zJ0L6<`*4z&>pC~eJDlXwvGyAcz60++COrp4qk+=_p!_fRhn?GJi%78soFm)!4k4V? z&;Mke=s56oZ5SGogf4({pU6-&7-0G546tM&!nmS`TET!7s$f3Y0KGtaz9kG&G{FBd zOSV+A0ncL7ZU>MY;=k(2qu!Dm-~yrBBoRdJm2ZhR`(N7ZRtQ-pz1WKEDjR(@gu3mn zpFcX-QrKy3s=L7xC)koN^!m?80;!UPr6tAeQ%B47&^Yh1hhugt(mReZt*T{d;D%=x zZ!d?AU(v)qH7PNZ*c-j`MJ+I(l1s|#Q`x~;Muhp3mwTzpg?d6hB?NgFnt-S3>-8u? zJ>(>#RP#YsxC2l5=cHCP1s}2B%8?)GWtL@JH2=;05d91`Mh`KVlo!1SK(9;K1-M{j~FL9u+Ch}Jdy8S80p3vMZ&B2}z z#NKOOd7>ytJ2$1{9(v;>nYAq2iCDoeN`~nFIYx6@tj4nHt*v}${TFttLgOj?R!r=N zQUJZ63pWD%-%nU8iOF^Px!tbrPzlFeM!OsSC4{Kc@QY>FBd74A>ICpF*dLSkC6AKF z-?9wzP#0##4=Li&g*QbVy?QjkY?Y8mQ?OLvuwhmH?q&Bxi&a?26gqk3&+!qBwU~E3 zZG>WA@Z$P0F&GqHK39sEuVO05nt&TZr@NF`A{raV2(B}7Vh{E%|4}pJM#o&S^nbB5 zBP!$O{iidMxQQ4*bJj~7yW(UseP^NVG9WuJ8C&56fGB2g%TMW#Yl7RRO$UI*_Mt$& zPfUZTzBP|S09x@sXo;N)(B!huC$JQv{A~Se{EYt(?H}yV52vTfCxMCoVo-W08unOx z6cG55ggu&_j;x3SbQBnYJL-(U`3<-auOVo`9vds+tswzjPR8Z*b={c7p;40 zX2xJnQq17<77K01?{UPp_6ETsgkMRF-|>2qfJmsV%Z(tZ4=^q{Ws}n=a{8H-WhxhH zkS5TR9<88v^(szMKjm?zxO2c4sTb|XJ0C>rD9E)9b9&PLh_e43WwB&_&iq1{*jU}{ zy%I|FQ;TaJNN3qh&`OGJ<3!djzs%XB-MKba3T!bARFEc)3^1%gFojdmH5sSi&7Z#z~ z9A{hYi;NhL24m-Lt>gNWSQmHAP&H#w5Bi+DgL~?FF*o@2)9&J)*S2J_LDaXc=I;VR zsXf>o*&Dw_9xOusNG_(z!1<{I)O?2lphazzyR7_qbagxex2mzj1$IC<1JGTRY$0`# z7fB^iv5gu(>A5#Uo@2|;2)h=%lq|aj3bbKH5QV6LWcwrYw|{D6GP=tXqrLq+?NHFz z0CAwDdlue);hB&zJ(C-}k6ii;zXy|z;%@6hR zM496ctoH8jMwkl<{<@8YUPeO{!W|~I+|fbyS1c-7UFyM25+P#7oytthbMHC{P9YZA zenIUu64<2zXykE_--0zh7)Q|zb3EbH&i(9x4mu(Y#Uw6d?!5P@&l~(}b}ub^$D*wJIe~?{ zK-%Y<=eh4!xqJPbTx+bm7pu^IkR^PUJw*to)$T%yBU#ZyKwvgw$YdjAmd-e_tVZkn z@@dJ{(KAMX5pXCSfkEx1FOh?$O09-7&wn0N#l|0;Z*viMmzPBGKbT*6Zc7pU=&x?}fv$&0F;V^;D&C;-c zB@2sC`cJ4&bXa2fK-z!EqI#$(>^dBM%o^ZJ6Xja7z8~<8bc(Ok3zAo?m?kUvGbbDj zqqZPvL%2jK_#MJemY8pKx_EpitQzIay6E?%v&kCIraaH-E?nze%l8j2_mw38bR34M zIP~eWo#a>x@7$!H4}dx$@Vy#`=S>P}(i_li+s5k9-O!(-MntMcWVrh%?qf>F?+f{? zvshP(_`t_M^!XZq=;Z{9MDB`2InkJN`Up(23hT=0aB|Xijqzj`-uJbVa`%*qzFF}w zqFmKsCrd4zANRr%$Cpx^rT1?+#Ap9JMGjGRVt0C}lZul{w<1^E+uZ#AcBx&|b}yWk zN}_l0af?c~!$kvxnT?s-;|&?EpU6!VrOM6bEfvfe16R&*GM5f~Nna&2VP)n?#v80? zJe(W2SajV5t?qWOxVf^fchE)KPktB3x4W4|M*&EqWcZrfVYfwb8$PJMsMc|Qx1INp zI6-()>m&x7guAoXv*V{=cBI$W!{=vykxGp9o?cEz-v?E20VtM~7ETVo1@ZM1D!P5S z?3hLyD;CAvgzYf8(K;9JMn^K=xre)KWRL>oysFP&KErkq_c~K-Y3q!)D>iVkNnw70 zoc|ZW+j|)zsDI3fK+?aFOF$!IXKM9FYBh*^1@~;3i=7@AD@A||W7`B^D8`CZT5h7R zXRH#lIDjG%Fq#5NTib@cxT+*@R?@ih@PP?OC-h%OaW}iX8aAApCjj|xX7+0Q?{DT= z@h8`DH2i-zZh0vV%^KC!qPYK)iFj8m{>jr+OW+iD_wl+ZHLwf{^!)d6qlbp2yctm< zz;65tA3B66VB2s+a`f}dNqsg}f8%x}U!k(w=kVUP67KRTFRz`RP2>432O&d|L}>#} zy&`aY`t-eJi_kdivj^@k)*i;$zDfCV_4=!K`K?T0Y02z^1U^Pi`Gwc7f5Ww89mnxN z&rX=wbl+#Qq{h;v^N#6u=6~x3Ns4`@r@OAwQ5;MnRxi%RJLcDUI|BYg%y*?w`9e)0p5Mwf~(uP}%^%vF3L)u_x^i|cFWEnI+d9MWb7 za!5LHt~x>xRZw*GwVmrz@k7s9g%fFU-|MrhRqSJ!lO$RxyV<2SVBk)94RKM0=Gjy4 zdNo!cfE{Lia9SLBgV_atV)HCI^Bd#2YSTV&QVN!dB;zjV>Z$HWCerxAGg$pOVGsE@ zUP@mkQ!{7u4d4?W$o)G(CqshxwcU?bR??N>U`>CflZB}9(gNMpT4vIP6*DTz1TJS| zBuf@tW-}`K!Rh1`tXvSgmpL#A<^C(ELoRpJLtSOr$J)hrob=mvfO7Eo=pvHlLMTN< z3I$Q6;cTz$-X-Su#W#lrcsLs+zuwt(B2NOa@r7h{9iEEnJ~GO zLZS&c^tN4XJzDqc<$o>f^5g6;YXqY0xW283y3LxK61hfz5inO zqjPx!9`TTB(mceh%cb+L%y4{xv=@B#b6$p`%u9i2io1^ZOY3bqU7ErR03L~-V0Hjz zjm{V}I1(+|pnmpy+$c&y7JCIc8Oq*E0wm1vX2Wm%x;ha)UKNP|y~HA(tyHUU_Y7Xn zpoA_6-{}8BCo8?hQj81#2O27>60t2>7QzwJh*AMU^K|9jY?BELDs|+h8fE|Gb%pyt zN3qXke%*T{a@io_c-OrTNK685JWcL1aDOD}8KjgHv0+FkqGZ7n(=^HJgvLEz=8H%_ z97~B+`mscB&HV7N_4_ZSXS|;43}5X$Na|r~GYz+t99Zj!E77cXtEze=<)w?6bK^Q@ zU+@*zkJd0?B1%iAoUZeioBdo)BC^@dcgds zuL39@*NKoRxpkb`4H`dMUg1_fkZK9LlM9br`8qu=PuN6Nm#RGgLd0&zHSR8RG^M-_ zNe($&>T*fG4bVW88b0OV(}*LNpDu)|;*>*F>V%shsGA#AvYX*h!)aFn+~I4YjzzUI z`hN+*vbfge+t{|wj0~KmAA*}iS-zLB^)Y{eTfveu+>(^Hoz!gRj!4`|fg~;ma3^V9 zmx!nXdMRCxPYvFc2MGm?0sRKhiTu%n!mB!ZSy+5_{}w$zITD?0$4v3KY}brE)X^$C zmuFc$!_YVK?03LY)D7-G^zl{wq8@UQvMcy%i6z8^w8-xggHPh-T)MR|j#`C?H?}K( zlB$jH`JHIahzr0DgiS>2mWW9gkdf|R9#M|X*f|-U7eTlV&kmRNC-OyMziYWUM*9yR z)t2FNsTf)5h?R*1^JS&4>z#_9Wufcg+_>(?EK_m526KfC)nBtRDRy0vRFOrS16BDr`-uZAM zVHVi9-MnH#{iN4x0O+N$x&J06EmB2 zr}*7%$F-C;|@O`o)2gaivQ|@jD^D- zNLNX?wt3#qjWXTW>Ix$oUGl(j9A}UAJ}BM1Gd23dd!FuBd!(Fy4B3w7WG9|cuP@o% z{B*0aX7u-qJBlaned1iV^|WVVE;RN@U}5}zzTvuSOq}WhP@A+=>0N7m^HkS2%Sta> zLAP~grgVqwzih3dkIw_`YZ{IX4r+h$7U2cd3Ci$|j9ydqOkZcx0QX7tbGF9&eRC1S zU3v;C{yj)hQh`FnBG+@Tg*czH8xe#BT`*caB0L5G`k=yvCZkfr%! zOt&9(c=Jjz;X%T+t1827P?c}FB1xALWI+7=;y=P@KTTt}K*arDWuBxkl5})~@xhHDuLE_A?ak%AGB^JmGT zv@8zW{(qNObO=S917&aSQLB9sPN z{W=JL#KePuUl#`39^FB}XXKU8pU4Za*SA&h)|l%WYj+da-BxmFpI%FS>G2$R}&TU#4}a)vU+jm9*-+fau{BH%9DKrq|>s#+18s zJRbPkue}c}Y~yJuWo`%*&2Ms1Za|-{_5W)qP3J$C+f+6^U<$2n*3J3!W#V{3uwsct zuetnxvkq(G$Ocp;0{I>16Ke+A@Ngr$F50jn_jScq2V#%Oo*dkNSokx}k+q$i{0&h} zt^o62!F2J5Y_ij8%O4_)ky0TPv9mh?J>uK?-u4OVWb2MEzaQZdDsF`DxB7S3Cb(6< z%6%(rN)4-ZGTq-X#*U>zh#ovsVg)b|_@Bg~!=`l(kCK3Yi{{j=4=yxGWeUg(6XOic0j z+X6qmcI9_n?>1B^jUTpQiC!O3z@VV5?(jY$NGOaSE2;BrvtE+i{reZI@7cwJ2>vMqD37lq!p;_RLPUr?%CBYS;y zpg8M^wNn++!)aHz2-;WC#WDS@S&YMHV3Kg*O*Dg7t@2mRwwk#5O<-6q1YbUP$o!e( z(YHelT5Oe-xP|7U@o>4^n#UC=Hm*x+zlJWrU7cn|3yWVtY`7Cf%JxY{*m^BU+vHz60|lwIG}-fDAY58Zl`j98UPyE9{~6#di%^e01MH? z+8!t<%(06y7q z%m`>?$AMqVF4*BMkRDJc0lDHR38iPnvl~Oa*w!|(5D#=^ftO;`^Dq9s{-VP_FtLR* z4vPbiui%A&U_n`NnAMj!1)stq`sXEy?iuI1yHc%ev z@vZYnO0PmeacIgha_08JjTQUyfV|hVBDDf)>s5d<4Xy#Gyf-dW7a?jE+}3biw)+VC zAi||Q8_10KQOTF!&lR@(T~Rf*z66~tbtie4y6moR%aL=A?RHPfr<*ILAmB8(Sz1bz z=U99mpX0R-=Kdrohc`SpeSNB$>gfxAof5Y|ihSRBI&|{y#F0qD%U^EOHVSUDObu*d zL<36uN8X=%(#$Fk<C>_Nn(M*k zp>?;H;M5aYz_-WeI9}(F=->xQH;Z&#S(r-|zjin-+LPs{LM zy=Z;zL;8~R9mZliF>9KkeyB!!DeorV;^w)?gJHJ)Mylf#!E`mb+PB)>^3wNV>OG01 zxnp8ebc=EFvy)pwM5&NfVLl1_^&?)z(-R8J=kJ-L)q$mbIj6En3{6H(#zgLdsUfJ8q(SVL2jjZ>3DHGJt`@+bwMtDLcy1Gp2*ba6(9v55>`06tW4Sj!c^=MOJ8! zkF`C)KHd2x0DIJGCXYj1dauSc`dk$E6mCp6I|t`)Zrn#f#9f+$%gI*2^Zw5LRlM$? zUfSW`4>VmZCMs z_E7EDAb#+)wMAZ%{DKU95Vq)I><5hhEul*r2kMO{ne>y?-}mK*Ifuw})N92Ac)zz$ zb9}1SV|BH8Di{PVrRfO+ISg&PMsT!17ZR94@H*N+<5)}ncpT8&chyUIg5R>i%swB) zGRFgQEGkrO$^vv+_K2WAq;O7i@kCR15N6--JlnD-l|@eP`cU+|;05b_;*$0%s{qOxLzP zY0#%NY+BhNUl-{tT>SJMcZu>(r~cXVLR0Wi5_Rli=1%?EEiMB^*x<0q-I`0DmWW7Q zDbm56GFdmlsa2-bmRxsNrjLo1;y0i&CiI+Ab7QCGOn@;c|M+mzuY3&UyxI6qM}DIh zRg3?Ha@p~CzB=E?nzeki|uJoYP+KL8#$;HuyN%pmITb0!5h^_r> zEBUkFPwA4|x*63I{ue)tyQX95J}a^I1l*K;rISz`J})~hcy7)cRS?1t{kN@1$b& z9>wj3h_fMJe8)$9--eSHTkKXO^D%qr1&C<`uIape{FSrN)9gUhF}n(eP(m{wez(Q) zcT|UixqxkY7gF}z1Iyczp+|d*5)n{2|CbUQU1vk5Eeo;l4y%dWSoCvo(nC5tHOXe_ia#Qn5>BZ?E(Y&{j~6;I0jo_+s1~jIpNm zVccMk_rhZxNx_{uCft}#`x~$kY1OU&#ty6BvtJ(tAIyw09Y!J{<2T^$Q^sDvy+Z|{ zuoTAGNFpZ;Jf5Te!_q-E@G@~Q6(f*Ts{I$lCD~NC?egv=CV8=*5$H^c12)$U5TN=y zTph6!%gXA1R~{y{J(Ixe!qPa|IKkx59`?sVYvrjFVMg^f?7sJJ6zNo?1O$Ul=^ha2QV@_vByYN#0Y(}LDe3N# zZiYrc2|zc|sSD0{bdE~qPkCeeX{M*1K+!SO2lp+BOy57dh!zDCIA*hzER(1Lh^aNvrlPOns=iWjU&K2w3}@ zh+wwQQfg~tr6oAoq}*pP5W7UW31FMQGXlkH!Sy5HA-Y-gt+WZ2`c3ZMHqES6ZwoYIgx*ww(nk%-G=&30kqu@hlzd8OJGP(fTyWl8tN-^H2co;78(8pl zbH?_>BJD)(SP7QjFYiEug<2$hGURP*!V;9bq3^Yq6W+i z&qQ95bO|`86lkRpw_%faFsPhbN@mLHAzf{MGjt{gxosT`mwm5vpe_|!hbUO%y`{YO zgrTwq8mTr`t&^tvGiik-o1i64eTeXYs@bD7$m%_?+4I5m6M@XkN&IE(;xifRo$xi$?XQr!)xwa>g@p=HL{4- zBERZYD|gO2s^1m(i!z7(=Udo0@!|e937Xu{3Uphv2Ufc}W0%xl7-YE>@0hj|+lU*J zyd?EHRD%@L8r-;viWAPeuV~FICXuX?13Kt35+mqV7K7VsNGv7x`>C*cqbwa6P5lE2 z88Pb#5MBeE->^J$Sl38Zy4B*E>gBYDq2#sBD)$tLr@af`x9#Y|LUj3ML&3qLYLg+# zzjemRKN2~w{K2n3WfgLoKK(p>qR}>9)C-$>s(^I=1Du!-ZP4w!>S{7UuGKRufT#!^_I>muvWw7C8 zTupT?X*;JJ&1nP}Q4v=)WWd*$eIf;2ov(_wfE@s-NkzhC@1Ulj+ZZ?mUV{w?o2V`2 zF(Jza7~b*aG)=H;4?tc#w4DY!O+aSq#Q^jR=r;1NyYz46JsqbNjMZ;c`4m&pyO%y7&&6bLOeN1{baRz)ktaGNz*b!SCPRY4ZA~ zQS@wvsoj-@WhTL?$3dvL2P0KS*N-A)vYEzV#dxC;=hJ6@0aAv zjNTjGRI&{_4V8I#Au~UIs7#H$@F=`@WZOS!w*TV6fR% zgh7LM0P;s3o9&y;t^VTg2Y6v1KUq!qpJG$_yLJZ#>NDYVp_VGukFb-KvkFNe9D&8A z<(f9?tS4A`soZ~Hfc>@*YTNMYBb{&Fo(;A^ch>oOft9k&%C)s*>SAEcp6=^k*l*2X%IXcxkoYP7~FT>1D&0R)QJ79HE};g+q;g zsbdd(qhxi`7_wkhPD9Mnv!G^XT1do6JG@v=#J5;^^wy)}RzZKsP@gVS8@Nd1mV?Ji+-HO}o(Kop|=u6)f| zJvhrF>ZNV|W2!*{RkE)1URb!csCZ9R#}e&M!=3kHn9;r1XF2JzyLhJKhysu~M>)IX zq2hcDeVHa-jUlebJR3V}hN#uf@i+&7xoKkmIO?=sgINbLS3a(}F5May6@Gf~N&9qk!s&~J^h#he=M0Opl%r)(5p$RX2VdQfn!B38DlBtkLQS5vUIlIK`4Pofd1ZZzuzqXp2o)R zqMbLG8nDJOoiRk_fIB=2`1}uU{MKF7N+W(w!HLmRqXeAw(F^k84x|<5ejL<%;AX9R zkL2A|&Hn1oO8|UfT7LJggVcIkd)T@qyFGXsWnA=-zWUxHUlnC+P2$j|kz88du3Xjx zw$|JZOMaXJ4T)KmlJgzcg| z%0r@Ad_K+XuuYx5fowiokHBLrdULJydyzd%Tt`vA?Bly)8F0Rpa@Te4*U@B; zRMEcpc(_3E!SyR?>^e#Mi|29F{cv9T9WA@LNbB8if8E5eD(S4aLMSW&47vSH8-3RR=0Lb&Kl^| z43;OE?~LNbLDM?KlF)vVOp*zdCeoV3R3d2-znabaw;{&VY;ejbO5Ta z6AM&!XlnaqH%s6xZwc|oG~J}ktxoLJN21qXKJYT}EydSrH3P_*ScCAKZhqJrKfNGT9`4zs|Smyxbepp1*5lEqc{F@ zo#5YQ;hSf-^K9K3IQifVTE1@Xsc|A0;~r1s#SJwlYa@&uTY0-}3Ozh0qn~CiI2{6K zx4adAX@?gH5-zY}iDdMSp8u3lE-0-heNHDR&*?&E*O=dGKtKZ0yj z3=oj<%J%Ih@Gf0vkY?k>iGKaghJaRR$m7%Yum8Cc;^zG@mkPP6t9OPpmKyG|k)FLtCG;McB|MO!@O�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

e0#@t;9bEDgg^Vc@yn$G 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

rcIB$b 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 Date: Wed, 23 Aug 2023 02:10:57 +0900 Subject: [PATCH 027/639] Set no-cache on unfurl failure fallback response --- unfurler/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/unfurler/src/index.ts b/unfurler/src/index.ts index e3e8e07eb..8841548ca 100644 --- a/unfurler/src/index.ts +++ b/unfurler/src/index.ts @@ -251,6 +251,7 @@ class Server { if (!img) { // send local fallback image file + res.set('Cache-control', 'no-cache'); res.sendFile(nodejsPath.join(__dirname, matchedRoute.fallbackImg)); } else { res.contentType('image/png'); From f295392dcab8c2b8c7beef54503c8cb5790e9578 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 15 Aug 2023 20:54:03 +0900 Subject: [PATCH 028/639] Record purging rate in statistics --- backend/src/api/database-migration.ts | 7 ++++++- backend/src/api/statistics/statistics-api.ts | 10 ++++++++-- backend/src/api/statistics/statistics.ts | 4 ++++ backend/src/mempool.interfaces.ts | 2 ++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/backend/src/api/database-migration.ts b/backend/src/api/database-migration.ts index b7dc39493..89ef7a7be 100644 --- a/backend/src/api/database-migration.ts +++ b/backend/src/api/database-migration.ts @@ -7,7 +7,7 @@ import cpfpRepository from '../repositories/CpfpRepository'; import { RowDataPacket } from 'mysql2'; class DatabaseMigration { - private static currentVersion = 65; + private static currentVersion = 66; private queryTimeout = 3600_000; private statisticsAddedIndexed = false; private uniqueLogs: string[] = []; @@ -553,6 +553,11 @@ class DatabaseMigration { await this.$executeQuery('ALTER TABLE `blocks_audits` ADD accelerated_txs JSON DEFAULT "[]"'); await this.updateToSchemaVersion(65); } + + if (databaseSchemaVersion < 66) { + await this.$executeQuery('ALTER TABLE `statistics` ADD min_fee FLOAT UNSIGNED DEFAULT NULL'); + await this.updateToSchemaVersion(66); + } } /** diff --git a/backend/src/api/statistics/statistics-api.ts b/backend/src/api/statistics/statistics-api.ts index 9df12d704..d76b77a37 100644 --- a/backend/src/api/statistics/statistics-api.ts +++ b/backend/src/api/statistics/statistics-api.ts @@ -15,6 +15,7 @@ class StatisticsApi { mempool_byte_weight, fee_data, total_fee, + min_fee, vsize_1, vsize_2, vsize_3, @@ -54,7 +55,7 @@ class StatisticsApi { vsize_1800, vsize_2000 ) - VALUES (NOW(), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + VALUES (NOW(), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)`; const [result]: any = await DB.query(query); return result.insertId; @@ -73,6 +74,7 @@ class StatisticsApi { mempool_byte_weight, fee_data, total_fee, + min_fee, vsize_1, vsize_2, vsize_3, @@ -112,7 +114,7 @@ class StatisticsApi { vsize_1800, vsize_2000 ) - VALUES (${statistics.added}, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, + VALUES (${statistics.added}, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`; const params: (string | number)[] = [ @@ -122,6 +124,7 @@ class StatisticsApi { statistics.mempool_byte_weight, statistics.fee_data, statistics.total_fee, + statistics.min_fee, statistics.vsize_1, statistics.vsize_2, statistics.vsize_3, @@ -172,6 +175,7 @@ class StatisticsApi { return `SELECT UNIX_TIMESTAMP(added) as added, CAST(avg(vbytes_per_second) as DOUBLE) as vbytes_per_second, + CAST(avg(min_fee) as DOUBLE) as min_fee, CAST(avg(vsize_1) as DOUBLE) as vsize_1, CAST(avg(vsize_2) as DOUBLE) as vsize_2, CAST(avg(vsize_3) as DOUBLE) as vsize_3, @@ -220,6 +224,7 @@ class StatisticsApi { return `SELECT UNIX_TIMESTAMP(added) as added, CAST(avg(vbytes_per_second) as DOUBLE) as vbytes_per_second, + CAST(avg(min_fee) as DOUBLE) as min_fee, vsize_1, vsize_2, vsize_3, @@ -404,6 +409,7 @@ class StatisticsApi { vbytes_per_second: s.vbytes_per_second, mempool_byte_weight: s.mempool_byte_weight, total_fee: s.total_fee, + min_fee: s.min_fee, vsizes: [ s.vsize_1, s.vsize_2, diff --git a/backend/src/api/statistics/statistics.ts b/backend/src/api/statistics/statistics.ts index 27554f36d..494777aad 100644 --- a/backend/src/api/statistics/statistics.ts +++ b/backend/src/api/statistics/statistics.ts @@ -89,6 +89,9 @@ class Statistics { } }); + // get minFee and convert to sats/vb + const minFee = memPool.getMempoolInfo().mempoolminfee * 100000; + try { const insertId = await statisticsApi.$create({ added: 'NOW()', @@ -98,6 +101,7 @@ class Statistics { mempool_byte_weight: totalWeight, total_fee: totalFee, fee_data: '', + min_fee: minFee, vsize_1: weightVsizeFees['1'] || 0, vsize_2: weightVsizeFees['2'] || 0, vsize_3: weightVsizeFees['3'] || 0, diff --git a/backend/src/mempool.interfaces.ts b/backend/src/mempool.interfaces.ts index c08846191..db04ded43 100644 --- a/backend/src/mempool.interfaces.ts +++ b/backend/src/mempool.interfaces.ts @@ -299,6 +299,7 @@ export interface Statistic { total_fee: number; mempool_byte_weight: number; fee_data: string; + min_fee: number; vsize_1: number; vsize_2: number; @@ -345,6 +346,7 @@ export interface OptimizedStatistic { vbytes_per_second: number; total_fee: number; mempool_byte_weight: number; + min_fee: number; vsizes: number[]; } From 4664e5551302419ff220a1052b84a64f95cbc370 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 30 Aug 2023 18:58:21 +0200 Subject: [PATCH 029/639] [footer] fix positioning when menu component is not loaded --- .../master-page/master-page.component.html | 1 + .../master-page/master-page.component.scss | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/master-page/master-page.component.html b/frontend/src/app/components/master-page/master-page.component.html index 8863b335f..c1327cd11 100644 --- a/frontend/src/app/components/master-page/master-page.component.html +++ b/frontend/src/app/components/master-page/master-page.component.html @@ -78,6 +78,7 @@
+
diff --git a/frontend/src/app/components/master-page/master-page.component.scss b/frontend/src/app/components/master-page/master-page.component.scss index b82d973de..ad95d162f 100644 --- a/frontend/src/app/components/master-page/master-page.component.scss +++ b/frontend/src/app/components/master-page/master-page.component.scss @@ -238,4 +238,18 @@ nav { main { transition: 0.2s; transition-property: max-width; -} \ No newline at end of file +} + +// empty sidenav +.sidenav { + z-index: 1; + background-color: transparent; + width: 225px; + height: calc(100vh - 65px); + position: sticky; + top: 65px; + transition: 0.25s; + margin-left: -250px; + box-shadow: 5px 0px 30px 0px #000; + padding-bottom: 20px; +} From d09668aaa647ff7a10c65db0b60112ad8fddbf15 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sun, 3 Sep 2023 12:20:30 +0300 Subject: [PATCH 030/639] [accelerator] login CTA with redirection --- .../accelerate-preview.component.html | 15 +++++++++++++-- .../accelerate-preview.component.ts | 8 +++++--- .../transaction/transaction.component.html | 4 ++-- .../transaction/transaction.component.ts | 12 ++++++++---- 4 files changed, 28 insertions(+), 11 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index 9bb66eda1..813b8954c 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -75,7 +75,7 @@
@@ -228,7 +228,7 @@ - +
Available balance @@ -244,6 +244,17 @@
+ Login +
diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts index 1c356a80b..6bcc5e958 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit, Input, OnDestroy, OnChanges, SimpleChanges, HostListener } from '@angular/core'; +import { Router } from '@angular/router'; import { ApiService } from '../../services/api.service'; import { Subscription, catchError, of, tap } from 'rxjs'; import { StorageService } from '../../services/storage.service'; @@ -62,7 +63,8 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges constructor( private apiService: ApiService, - private storageService: StorageService + private storageService: StorageService, + private router: Router, ) { } ngOnDestroy(): void { @@ -73,7 +75,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges ngOnChanges(changes: SimpleChanges): void { if (changes.scrollEvent) { - this.scrollToPreview('acceleratePreviewAnchor', 'center'); + this.scrollToPreview('acceleratePreviewAnchor', 'start'); } } @@ -126,7 +128,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges this.maxCost = this.userBid + this.estimate.mempoolBaseFee + this.estimate.vsizeFee; if (!this.error) { - this.scrollToPreview('acceleratePreviewAnchor', 'center'); + this.scrollToPreview('acceleratePreviewAnchor', 'start'); } } }), diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 006870864..9b810d598 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -80,7 +80,7 @@ -
+

Accelerate

@@ -135,7 +135,7 @@ - + Features diff --git a/frontend/src/app/components/transaction/transaction.component.ts b/frontend/src/app/components/transaction/transaction.component.ts index 505c4686d..1f6aec5e2 100644 --- a/frontend/src/app/components/transaction/transaction.component.ts +++ b/frontend/src/app/components/transaction/transaction.component.ts @@ -619,10 +619,14 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { // simulate normal anchor fragment behavior applyFragment(): void { const anchor = Array.from(this.fragmentParams.entries()).find(([frag, value]) => value === ''); - if (anchor) { - const anchorElement = document.getElementById(anchor[0]); - if (anchorElement) { - anchorElement.scrollIntoView(); + if (anchor?.length) { + if (anchor[0] === 'accelerate') { + setTimeout(this.onAccelerateClicked.bind(this), 100); + } else { + const anchorElement = document.getElementById(anchor[0]); + if (anchorElement) { + anchorElement.scrollIntoView(); + } } } } From 0e1a9d861938c5d8be5061945d56fee653140b46 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sun, 3 Sep 2023 16:05:12 +0300 Subject: [PATCH 031/639] [accelerator] blinking cta, polish accel preview --- .../accelerate-fee-graph.component.scss | 1 - .../accelerate-preview.component.html | 10 +++---- .../accelerate-preview.component.scss | 23 ++++++++++++++- .../transaction/transaction.component.html | 7 +++-- .../transaction/transaction.component.scss | 29 +++++++++++++++++-- 5 files changed, 59 insertions(+), 11 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.scss b/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.scss index 6137b53ee..69534cbad 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.scss +++ b/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.scss @@ -2,7 +2,6 @@ height: 100%; min-width: 120px; width: 120px; - max-height: 90vh; margin-left: 4em; margin-right: 1.5em; padding-bottom: 63px; diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index 9bb66eda1..18bc8672b 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -75,7 +75,7 @@
@@ -88,12 +88,12 @@
-
+
-
+ +
+
diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss index 433c05520..814b37e7a 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss @@ -28,7 +28,10 @@ .feerate.active { background-color: #105fb0 !important; opacity: 1; - border: 1px solid white !important; + border: 1px solid #007fff !important; +} +.feerate:focus { + box-shadow: none !important; } .estimateDisabled { @@ -41,6 +44,24 @@ margin-top: 0.5em; } +.tab { + &:first-child { + margin-right: 1px; + } + border: solid 1px black; + border-bottom: none; + background-color: #323655; + border-top-left-radius: 10px !important; + border-top-right-radius: 10px !important; +} +.tab.active { + background-color: #5d659d !important; + opacity: 1; +} +.tab:focus { + box-shadow: none !important; +} + .table-accelerator { tr { text-wrap: wrap; diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 006870864..81bbec1aa 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -6,8 +6,11 @@ - + ` + + (this.showCount && countItem ? ` +
+ + + + + + +
+ + + ${titleCount} + + + ${this.amountShortenerPipe.transform(countItem.value[1], 2, undefined, true)} +
+ ` : '') + + ` @@ -305,12 +371,12 @@ export class MempoolGraphComponent implements OnInit, OnChanges { `; } }, - dataZoom: (this.template === 'widget' && this.isMobile()) ? null : [{ + dataZoom: (this.isWidget && this.isMobile()) ? null : [{ type: 'inside', realtime: true, - zoomLock: (this.template === 'widget') ? true : false, + zoomLock: (this.isWidget) ? true : false, zoomOnMouseWheel: (this.template === 'advanced') ? true : false, - moveOnMouseMove: (this.template === 'widget') ? true : false, + moveOnMouseMove: (this.isWidget) ? true : false, maxSpan: 100, minSpan: 10, }, { @@ -339,7 +405,7 @@ export class MempoolGraphComponent implements OnInit, OnChanges { }, xAxis: [ { - name: this.template === 'widget' ? '' : formatterXAxisLabel(this.locale, this.windowPreference), + name: this.isWidget ? '' : formatterXAxisLabel(this.locale, this.windowPreference), nameLocation: 'middle', nameTextStyle: { padding: [20, 0, 0, 0], @@ -357,7 +423,7 @@ export class MempoolGraphComponent implements OnInit, OnChanges { }, } ], - yAxis: { + yAxis: [{ type: 'value', axisLine: { onZero: false }, axisLabel: { @@ -371,7 +437,17 @@ export class MempoolGraphComponent implements OnInit, OnChanges { opacity: 0.25, } } - }, + }, this.showCount ? { + type: 'value', + position: 'right', + axisLine: { onZero: false }, + axisLabel: { + formatter: (value: number) => (`${this.amountShortenerPipe.transform(value, 2, undefined, true)}`), + }, + splitLine: { + show: false, + } + } : null], }; } diff --git a/frontend/src/app/components/statistics/statistics.component.html b/frontend/src/app/components/statistics/statistics.component.html index 29089e43d..02a26ed52 100644 --- a/frontend/src/app/components/statistics/statistics.component.html +++ b/frontend/src/app/components/statistics/statistics.component.html @@ -69,6 +69,12 @@
-
The Mempool Open Source Project
+
The Mempool Open Source Project ®

Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties.

From 0ba4e98f52cc539cea112317b54f60c6388304f4 Mon Sep 17 00:00:00 2001 From: orangesurf Date: Tue, 12 Sep 2023 19:55:00 +0100 Subject: [PATCH 037/639] Replace other instances of tm use for The Mempool Open Source Project --- frontend/src/app/components/about/about.component.ts | 2 +- .../components/privacy-policy/privacy-policy.component.ts | 2 +- .../trademark-policy/trademark-policy.component.ts | 2 +- frontend/src/index.mempool.html | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/components/about/about.component.ts b/frontend/src/app/components/about/about.component.ts index 3cda0dc20..8aa0422e8 100644 --- a/frontend/src/app/components/about/about.component.ts +++ b/frontend/src/app/components/about/about.component.ts @@ -43,7 +43,7 @@ export class AboutComponent implements OnInit { ngOnInit() { this.backendInfo$ = this.stateService.backendInfo$; this.seoService.setTitle($localize`:@@004b222ff9ef9dd4771b777950ca1d0e4cd4348a:About`); - this.seoService.setDescription($localize`:@@meta.description.about:Learn more about The Mempool Open Source Project™\: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more.`); + this.seoService.setDescription($localize`:@@meta.description.about:Learn more about The Mempool Open Source Project®\: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more.`); this.websocketService.want(['blocks']); this.profiles$ = this.apiService.getAboutPageProfiles$().pipe( diff --git a/frontend/src/app/components/privacy-policy/privacy-policy.component.ts b/frontend/src/app/components/privacy-policy/privacy-policy.component.ts index 7a44070eb..b98390731 100644 --- a/frontend/src/app/components/privacy-policy/privacy-policy.component.ts +++ b/frontend/src/app/components/privacy-policy/privacy-policy.component.ts @@ -17,6 +17,6 @@ export class PrivacyPolicyComponent { ngOnInit(): void { this.seoService.setTitle('Privacy Policy'); - this.seoService.setDescription('Trusted third parties are security holes, as are trusted first parties...you should only trust your own self-hosted instance of The Mempool Open Source Project™.'); + this.seoService.setDescription('Trusted third parties are security holes, as are trusted first parties...you should only trust your own self-hosted instance of The Mempool Open Source Project®.'); } } diff --git a/frontend/src/app/components/trademark-policy/trademark-policy.component.ts b/frontend/src/app/components/trademark-policy/trademark-policy.component.ts index 08f16264a..b8f53afcf 100644 --- a/frontend/src/app/components/trademark-policy/trademark-policy.component.ts +++ b/frontend/src/app/components/trademark-policy/trademark-policy.component.ts @@ -17,6 +17,6 @@ export class TrademarkPolicyComponent { ngOnInit(): void { this.seoService.setTitle('Trademark Policy'); - this.seoService.setDescription('An overview of the trademarks registered by Mempool Space K.K. and The Mempool Open Source Project™ and what we consider to be lawful usage of those trademarks.'); + this.seoService.setDescription('An overview of the trademarks registered by Mempool Space K.K. and The Mempool Open Source Project® and what we consider to be lawful usage of those trademarks.'); } } diff --git a/frontend/src/index.mempool.html b/frontend/src/index.mempool.html index 03edc08ef..def14434e 100644 --- a/frontend/src/index.mempool.html +++ b/frontend/src/index.mempool.html @@ -7,17 +7,17 @@ - + - + - + From e3fffd8fb22d38b27aab7592fe5bf2b47cb2be57 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 13 Sep 2023 09:21:31 +0200 Subject: [PATCH 038/639] [UI] fix menu scroll issue --- frontend/src/app/components/menu/menu.component.scss | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/menu/menu.component.scss b/frontend/src/app/components/menu/menu.component.scss index f1f39b1de..a27048981 100644 --- a/frontend/src/app/components/menu/menu.component.scss +++ b/frontend/src/app/components/menu/menu.component.scss @@ -9,11 +9,14 @@ margin-left: -250px; box-shadow: 5px 0px 30px 0px #000; padding-bottom: 20px; + @media (max-width: 613px) { + top: 105px; + } } .scrollable { overflow-x: hidden; - overflow-y: scroll; + overflow-y: auto; } .sidenav.open { From a0004382771b784e865d29fadc5e0143f1f8ccd2 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 13 Sep 2023 09:30:11 +0200 Subject: [PATCH 039/639] [UI] menu username ellipsis --- frontend/src/app/components/menu/menu.component.html | 2 +- frontend/src/app/components/menu/menu.component.scss | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/menu/menu.component.html b/frontend/src/app/components/menu/menu.component.html index e89ace64a..1c247a94b 100644 --- a/frontend/src/app/components/menu/menu.component.html +++ b/frontend/src/app/components/menu/menu.component.html @@ -3,7 +3,7 @@ - + - + @@ -314,9 +314,9 @@ - + - + diff --git a/frontend/src/app/components/transaction/transaction.component.ts b/frontend/src/app/components/transaction/transaction.component.ts index 4743e5cd6..5260cd668 100644 --- a/frontend/src/app/components/transaction/transaction.component.ts +++ b/frontend/src/app/components/transaction/transaction.component.ts @@ -62,6 +62,8 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { rbfReplaces: string[]; rbfInfo: RbfTree; cpfpInfo: CpfpInfo | null; + sigops: number | null; + adjustedVsize: number | null; showCpfpDetails = false; fetchCpfp$ = new Subject(); fetchRbfHistory$ = new Subject(); @@ -343,6 +345,10 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { if (tx.fee === undefined) { this.tx.fee = 0; } + if (this.tx.sigops != null) { + this.sigops = this.tx.sigops; + this.adjustedVsize = Math.max(this.tx.weight / 4, this.sigops * 5); + } this.tx.feePerVsize = tx.fee / (tx.weight / 4); this.isLoadingTx = false; this.error = undefined; @@ -543,6 +549,10 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { } this.cpfpInfo = cpfpInfo; + if (this.cpfpInfo.adjustedVsize && this.cpfpInfo.sigops != null) { + this.sigops = this.cpfpInfo.sigops; + this.adjustedVsize = this.cpfpInfo.adjustedVsize; + } this.hasEffectiveFeeRate = hasRelatives || (this.tx.effectiveFeePerVsize && (Math.abs(this.tx.effectiveFeePerVsize - this.tx.feePerVsize) > 0.01)); } @@ -569,6 +579,8 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { this.replaced = false; this.transactionTime = -1; this.cpfpInfo = null; + this.adjustedVsize = null; + this.sigops = null; this.hasEffectiveFeeRate = false; this.rbfInfo = null; this.rbfReplaces = []; diff --git a/frontend/src/app/interfaces/electrs.interface.ts b/frontend/src/app/interfaces/electrs.interface.ts index 2d604a9de..58a02ad79 100644 --- a/frontend/src/app/interfaces/electrs.interface.ts +++ b/frontend/src/app/interfaces/electrs.interface.ts @@ -26,6 +26,7 @@ export interface Transaction { _outspends?: Outspend[]; _channels?: TransactionChannels; price?: Price; + sigops?: number; } export interface TransactionChannels { From 29299e622ec8cd7a96703900fcdbf2f6014b5b4d Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 13 Nov 2023 03:42:12 +0000 Subject: [PATCH 155/639] Calculate sigops in /api/v1/tx/:txid for mined txs --- backend/src/api/bitcoin/bitcoin.routes.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/api/bitcoin/bitcoin.routes.ts b/backend/src/api/bitcoin/bitcoin.routes.ts index 240fb07ce..105b0be14 100644 --- a/backend/src/api/bitcoin/bitcoin.routes.ts +++ b/backend/src/api/bitcoin/bitcoin.routes.ts @@ -251,7 +251,7 @@ class BitcoinRoutes { private async getTransaction(req: Request, res: Response) { try { - const transaction = await transactionUtils.$getTransactionExtended(req.params.txId, true); + const transaction = await transactionUtils.$getTransactionExtended(req.params.txId, true, false, false, true); res.json(transaction); } catch (e) { let statusCode = 500; From 3639dcc92aef898fd9ede92a8e8aa8a87ea421e9 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 10 Nov 2023 07:45:02 +0000 Subject: [PATCH 156/639] Recover from stale PID file --- backend/src/database.ts | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/backend/src/database.ts b/backend/src/database.ts index c27f28d23..655dad47c 100644 --- a/backend/src/database.ts +++ b/backend/src/database.ts @@ -4,6 +4,7 @@ import config from './config'; import { createPool, Pool, PoolConnection } from 'mysql2/promise'; import logger from './logger'; import { FieldPacket, OkPacket, PoolOptions, ResultSetHeader, RowDataPacket } from 'mysql2/typings/mysql'; +import { execSync } from 'child_process'; class DB { constructor() { @@ -105,18 +106,34 @@ import { FieldPacket, OkPacket, PoolOptions, ResultSetHeader, RowDataPacket } fr public getPidLock(): boolean { const filePath = path.join(config.DATABASE.PID_DIR || __dirname, `/mempool-${config.DATABASE.DATABASE}.pid`); + this.enforcePidLock(filePath); + fs.writeFileSync(filePath, `${process.pid}`); + return true; + } + + private enforcePidLock(filePath: string): void { if (fs.existsSync(filePath)) { - const pid = fs.readFileSync(filePath).toString(); - if (pid !== `${process.pid}`) { - const msg = `Already running on PID ${pid} (or pid file '${filePath}' is stale)`; + const pid = parseInt(fs.readFileSync(filePath, 'utf-8')); + if (pid === process.pid) { + logger.warn('PID file already exists for this process'); + return; + } + + let cmd; + try { + cmd = execSync(`ps -p ${pid} -o args=`); + } catch (e) { + logger.warn(`Stale PID file at ${filePath}, but no process running on that PID ${pid}`); + return; + } + + if (cmd && cmd.toString()?.includes('node')) { + const msg = `Another mempool nodejs process is already running on PID ${pid}`; logger.err(msg); throw new Error(msg); } else { - return true; + logger.warn(`Stale PID file at ${filePath}, but the PID ${pid} does not belong to a running mempool instance`); } - } else { - fs.writeFileSync(filePath, `${process.pid}`); - return true; } } @@ -124,6 +141,7 @@ import { FieldPacket, OkPacket, PoolOptions, ResultSetHeader, RowDataPacket } fr const filePath = path.join(config.DATABASE.PID_DIR || __dirname, `/mempool-${config.DATABASE.DATABASE}.pid`); if (fs.existsSync(filePath)) { const pid = fs.readFileSync(filePath).toString(); + // only release our own pid file if (pid === `${process.pid}`) { fs.unlinkSync(filePath); } From 8c4b488251cc2aae70d142a78715b33e2ad3431c Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 13 Nov 2023 07:33:53 +0000 Subject: [PATCH 157/639] handle SIGHUP exit code --- backend/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index e7e1afa3d..59c92fbf3 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -92,7 +92,7 @@ class Server { logger.notice(`Starting Mempool Server${worker ? ' (worker)' : ''}... (${backendInfo.getShortCommitHash()})`); // Register cleanup listeners for exit events - ['exit', 'SIGINT', 'SIGTERM', 'SIGUSR1', 'SIGUSR2', 'uncaughtException', 'unhandledRejection'].forEach(event => { + ['exit', 'SIGHUP', 'SIGINT', 'SIGTERM', 'SIGUSR1', 'SIGUSR2', 'uncaughtException', 'unhandledRejection'].forEach(event => { process.on(event, () => { this.onExit(event); }); }); From c6a92083a8621e50a7b5410ea9909d4e4233da0a Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 13 Nov 2023 07:53:13 +0000 Subject: [PATCH 158/639] Fix pid parsing on release lock --- backend/src/database.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/database.ts b/backend/src/database.ts index 655dad47c..0638aa319 100644 --- a/backend/src/database.ts +++ b/backend/src/database.ts @@ -140,9 +140,9 @@ import { execSync } from 'child_process'; public releasePidLock(): void { const filePath = path.join(config.DATABASE.PID_DIR || __dirname, `/mempool-${config.DATABASE.DATABASE}.pid`); if (fs.existsSync(filePath)) { - const pid = fs.readFileSync(filePath).toString(); + const pid = parseInt(fs.readFileSync(filePath, 'utf-8')); // only release our own pid file - if (pid === `${process.pid}`) { + if (pid === process.pid) { fs.unlinkSync(filePath); } } From c393483590266295c1029e9a4d4f422de53ec91d Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 14 Nov 2023 10:51:51 +0900 Subject: [PATCH 159/639] [graph] add toggle to show/hide outliers in transaction vBytes per second graph --- .../statistics/statistics.component.html | 20 +++++++++----- .../statistics/statistics.component.scss | 9 +++++++ .../statistics/statistics.component.ts | 27 ++++++++++--------- 3 files changed, 38 insertions(+), 18 deletions(-) diff --git a/frontend/src/app/components/statistics/statistics.component.html b/frontend/src/app/components/statistics/statistics.component.html index 02a26ed52..3f0ea61f5 100644 --- a/frontend/src/app/components/statistics/statistics.component.html +++ b/frontend/src/app/components/statistics/statistics.component.html @@ -109,12 +109,20 @@
-
- Transaction vBytes per second (vB/s) - -
+
+
+ Transaction vBytes per second (vB/s) + +
+
+ + +
+
diff --git a/frontend/src/app/components/statistics/statistics.component.scss b/frontend/src/app/components/statistics/statistics.component.scss index d883e48c3..3d4813fb5 100644 --- a/frontend/src/app/components/statistics/statistics.component.scss +++ b/frontend/src/app/components/statistics/statistics.component.scss @@ -222,4 +222,13 @@ border-top-right-radius: 0; } } +} + +.vbytes-title { + display: flex; + align-items: baseline; + justify-content: space-between; + @media (max-width: 767px) { + display: block; + } } \ No newline at end of file diff --git a/frontend/src/app/components/statistics/statistics.component.ts b/frontend/src/app/components/statistics/statistics.component.ts index 6bc58b6d7..e80ab83ad 100644 --- a/frontend/src/app/components/statistics/statistics.component.ts +++ b/frontend/src/app/components/statistics/statistics.component.ts @@ -35,7 +35,7 @@ export class StatisticsComponent implements OnInit { showCount = false; maxFeeIndex: number; dropDownOpen = false; - + outlierCappingEnabled = false; mempoolStats: OptimizedMempoolStats[] = []; mempoolVsizeFeesData: any; @@ -156,12 +156,14 @@ export class StatisticsComponent implements OnInit { } this.maxFeeIndex = maxTier; - this.capExtremeVbytesValues(); - this.mempoolTransactionsWeightPerSecondData = { labels: labels, series: [mempoolStats.map((stats) => [stats.added * 1000, stats.vbytes_per_second])], }; + + if (this.outlierCappingEnabled) { + this.capExtremeVbytesValues(); + } } saveGraphPreference() { @@ -211,24 +213,25 @@ export class StatisticsComponent implements OnInit { } }); } - + /** * All value higher that "median * capRatio" are capped */ + onOutlierToggleChange(e) { + this.outlierCappingEnabled = e.target.checked; + this.handleNewMempoolData(this.mempoolStats); + } capExtremeVbytesValues() { if (this.stateService.network.length !== 0) { return; // Only cap on Bitcoin mainnet } - let capRatio = 10; - if (['1m', '3m', '6m', '1y', '2y', '3y', '4y'].includes(this.graphWindowPreference)) { - capRatio = 4; - } + let capRatio = 4; // Find median value const vBytes: number[] = []; - for (const stat of this.mempoolStats) { - vBytes.push(stat.vbytes_per_second); + for (const stat of this.mempoolTransactionsWeightPerSecondData.series[0]) { + vBytes.push(stat[1]); } const sorted = vBytes.slice().sort((a, b) => a - b); const middle = Math.floor(sorted.length / 2); @@ -238,8 +241,8 @@ export class StatisticsComponent implements OnInit { } // Cap - for (const stat of this.mempoolStats) { - stat.vbytes_per_second = Math.min(median * capRatio, stat.vbytes_per_second); + for (const stat of this.mempoolTransactionsWeightPerSecondData.series[0]) { + stat[1] = Math.min(median * capRatio, stat[1]); } } From 1ae34e069c1056f87cf7a7747df5d338c74643ef Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 14 Nov 2023 05:00:05 +0000 Subject: [PATCH 160/639] Fix silently unhandled database exceptions --- backend/src/api/blocks.ts | 9 +++++++-- backend/src/database.ts | 10 ++++++++-- backend/src/index.ts | 20 +++++++++++++++----- backend/src/indexer.ts | 7 ++++++- 4 files changed, 36 insertions(+), 10 deletions(-) diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index 64dc1d5ba..730e603f3 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -761,8 +761,13 @@ class Blocks { this.updateTimerProgress(timer, `saved ${this.currentBlockHeight} to database`); if (!fastForwarded) { - const lastestPriceId = await PricesRepository.$getLatestPriceId(); - this.updateTimerProgress(timer, `got latest price id ${this.currentBlockHeight}`); + let lastestPriceId; + try { + lastestPriceId = await PricesRepository.$getLatestPriceId(); + this.updateTimerProgress(timer, `got latest price id ${this.currentBlockHeight}`); + } catch (e) { + logger.debug('failed to fetch latest price id from db: ' + (e instanceof Error ? e.message : e)); + } if (priceUpdater.historyInserted === true && lastestPriceId !== null) { await blocksRepository.$saveBlockPrices([{ height: blockExtended.height, diff --git a/backend/src/database.ts b/backend/src/database.ts index 0638aa319..21d90261d 100644 --- a/backend/src/database.ts +++ b/backend/src/database.ts @@ -55,14 +55,20 @@ import { execSync } from 'child_process'; }).then(result => { resolve(result); }).catch(error => { + logger.debug(`database query "${query.slice(0, 100)}" failed!`); reject(error); }).finally(() => { clearTimeout(timer); }); }); } else { - const pool = await this.getPool(); - return pool.query(query, params); + try { + const pool = await this.getPool(); + return pool.query(query, params); + } catch (e) { + logger.debug(`database query "${query.slice(0, 100)}" failed!`); + throw e; + } } } diff --git a/backend/src/index.ts b/backend/src/index.ts index 59c92fbf3..039aad8af 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -92,9 +92,15 @@ class Server { logger.notice(`Starting Mempool Server${worker ? ' (worker)' : ''}... (${backendInfo.getShortCommitHash()})`); // Register cleanup listeners for exit events - ['exit', 'SIGHUP', 'SIGINT', 'SIGTERM', 'SIGUSR1', 'SIGUSR2', 'uncaughtException', 'unhandledRejection'].forEach(event => { + ['exit', 'SIGHUP', 'SIGINT', 'SIGTERM', 'SIGUSR1', 'SIGUSR2'].forEach(event => { process.on(event, () => { this.onExit(event); }); }); + process.on('uncaughtException', (error) => { + this.onUnhandledException('uncaughtException', error); + }); + process.on('unhandledRejection', (reason, promise) => { + this.onUnhandledException('unhandledRejection', reason); + }); if (config.MEMPOOL.BACKEND === 'esplora') { bitcoinApi.startHealthChecks(); @@ -314,14 +320,18 @@ class Server { } } - onExit(exitEvent): void { + onExit(exitEvent, code = 0): void { + logger.debug(`onExit for signal: ${exitEvent}`); if (config.DATABASE.ENABLED) { DB.releasePidLock(); } - process.exit(0); + process.exit(code); + } + + onUnhandledException(type, error): void { + console.error(`${type}:`, error); + this.onExit(type, 1); } } - - ((): Server => new Server())(); diff --git a/backend/src/indexer.ts b/backend/src/indexer.ts index 7ec65d9c9..add0abca3 100644 --- a/backend/src/indexer.ts +++ b/backend/src/indexer.ts @@ -76,7 +76,12 @@ class Indexer { if (task === 'blocksPrices' && !this.tasksRunning.includes(task) && !['testnet', 'signet'].includes(config.MEMPOOL.NETWORK)) { this.tasksRunning.push(task); - const lastestPriceId = await PricesRepository.$getLatestPriceId(); + let lastestPriceId; + try { + lastestPriceId = await PricesRepository.$getLatestPriceId(); + } catch (e) { + logger.debug('failed to fetch latest price id from db: ' + (e instanceof Error ? e.message : e)); + } if (priceUpdater.historyInserted === false || lastestPriceId === null) { logger.debug(`Blocks prices indexer is waiting for the price updater to complete`, logger.tags.mining); setTimeout(() => { From 08b68ef8ba895cb82ad763bd5ab924991a53469a Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 14 Nov 2023 05:33:48 +0000 Subject: [PATCH 161/639] handle exception in db transaction rollback --- backend/src/database.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/backend/src/database.ts b/backend/src/database.ts index 21d90261d..a9893fdac 100644 --- a/backend/src/database.ts +++ b/backend/src/database.ts @@ -72,6 +72,15 @@ import { execSync } from 'child_process'; } } + private async $rollbackAtomic(connection: PoolConnection): Promise { + try { + await connection.rollback(); + await connection.release(); + } catch (e) { + logger.warn('Failed to rollback incomplete db transaction: ' + (e instanceof Error ? e.message : e)); + } + } + public async $atomicQuery(queries: { query, params }[]): Promise<[T, FieldPacket[]][]> { @@ -90,9 +99,8 @@ import { execSync } from 'child_process'; return results; } catch (e) { - logger.err('Could not complete db transaction, rolling back: ' + (e instanceof Error ? e.message : e)); - connection.rollback(); - connection.release(); + logger.warn('Could not complete db transaction, rolling back: ' + (e instanceof Error ? e.message : e)); + this.$rollbackAtomic(connection); throw e; } finally { connection.release(); From 29cbdf6cd56457893de25ca2a9542aa81937327a Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 14 Nov 2023 05:52:27 +0000 Subject: [PATCH 162/639] handle null query in error log --- backend/src/database.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/database.ts b/backend/src/database.ts index a9893fdac..9d21ac28e 100644 --- a/backend/src/database.ts +++ b/backend/src/database.ts @@ -55,7 +55,7 @@ import { execSync } from 'child_process'; }).then(result => { resolve(result); }).catch(error => { - logger.debug(`database query "${query.slice(0, 100)}" failed!`); + logger.debug(`database query "${query?.slice(0, 100)}" failed!`); reject(error); }).finally(() => { clearTimeout(timer); @@ -66,7 +66,7 @@ import { execSync } from 'child_process'; const pool = await this.getPool(); return pool.query(query, params); } catch (e) { - logger.debug(`database query "${query.slice(0, 100)}" failed!`); + logger.debug(`database query "${query?.slice(0, 100)}" failed!`); throw e; } } From 5c0a59d2f61a5ee64f9dfd7cc15a39186a5812c1 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 14 Nov 2023 06:13:06 +0000 Subject: [PATCH 163/639] handle unknown query types in db error log --- backend/src/database.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/database.ts b/backend/src/database.ts index 9d21ac28e..4eba8cb6f 100644 --- a/backend/src/database.ts +++ b/backend/src/database.ts @@ -55,7 +55,7 @@ import { execSync } from 'child_process'; }).then(result => { resolve(result); }).catch(error => { - logger.debug(`database query "${query?.slice(0, 100)}" failed!`); + logger.debug(`database query "${query?.sql?.slice(0, 160) || (typeof(query) === 'string' || query instanceof String ? query?.slice(0, 160) : 'unknown query')}" failed!`); reject(error); }).finally(() => { clearTimeout(timer); @@ -66,7 +66,7 @@ import { execSync } from 'child_process'; const pool = await this.getPool(); return pool.query(query, params); } catch (e) { - logger.debug(`database query "${query?.slice(0, 100)}" failed!`); + logger.debug(`database query "${query?.sql?.slice(0, 160) || (typeof(query) === 'string' || query instanceof String ? query?.slice(0, 160) : 'unknown query')}" failed!`); throw e; } } From 00887bc24b69305c9b42ede05f3cd956661bebee Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 21 Sep 2023 17:50:53 +0100 Subject: [PATCH 164/639] Refactor indexer scheduling to avoid accumulating identical tasks --- backend/src/api/blocks.ts | 4 +- backend/src/index.ts | 2 +- backend/src/indexer.ts | 100 ++++++++++++++++++++++++++------------ 3 files changed, 71 insertions(+), 35 deletions(-) diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index 730e603f3..6b4a14a0e 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -776,9 +776,7 @@ class Blocks { this.updateTimerProgress(timer, `saved prices for ${this.currentBlockHeight}`); } else { logger.debug(`Cannot save block price for ${blockExtended.height} because the price updater hasnt completed yet. Trying again in 10 seconds.`, logger.tags.mining); - setTimeout(() => { - indexer.runSingleTask('blocksPrices'); - }, 10000); + indexer.scheduleSingleTask('blocksPrices', 10000); } // Save blocks summary for visualization if it's enabled diff --git a/backend/src/index.ts b/backend/src/index.ts index 039aad8af..0c28df0a8 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -206,7 +206,7 @@ class Server { } const newMempool = await bitcoinApi.$getRawMempool(); const numHandledBlocks = await blocks.$updateBlocks(); - const pollRate = config.MEMPOOL.POLL_RATE_MS * (indexer.indexerRunning ? 10 : 1); + const pollRate = config.MEMPOOL.POLL_RATE_MS * (indexer.indexerIsRunning() ? 10 : 1); if (numHandledBlocks === 0) { await memPool.$updateMempool(newMempool, pollRate); } diff --git a/backend/src/indexer.ts b/backend/src/indexer.ts index add0abca3..2e2f8b037 100644 --- a/backend/src/indexer.ts +++ b/backend/src/indexer.ts @@ -15,11 +15,18 @@ export interface CoreIndex { best_block_height: number; } +type TaskName = 'blocksPrices' | 'coinStatsIndex'; + class Indexer { - runIndexer = true; - indexerRunning = false; - tasksRunning: string[] = []; - coreIndexes: CoreIndex[] = []; + private runIndexer = true; + private indexerRunning = false; + private tasksRunning: { [key in TaskName]?: boolean; } = {}; + private tasksScheduled: { [key in TaskName]?: NodeJS.Timeout; } = {}; + private coreIndexes: CoreIndex[] = []; + + public indexerIsRunning(): boolean { + return this.indexerRunning; + } /** * Check which core index is available for indexing @@ -69,38 +76,69 @@ class Indexer { } } - public async runSingleTask(task: 'blocksPrices' | 'coinStatsIndex'): Promise { - if (!Common.indexingEnabled()) { + /** + * schedules a single task to run in `timeout` ms + * only one task of each type may be scheduled + * + * @param {TaskName} task - the type of task + * @param {number} timeout - delay in ms + * @param {boolean} replace - `true` replaces any already scheduled task (works like a debounce), `false` ignores subsequent requests (works like a throttle) + */ + public scheduleSingleTask(task: TaskName, timeout: number = 10000, replace = false): void { + if (this.tasksScheduled[task]) { + if (!replace) { //throttle + return; + } else { // debounce + clearTimeout(this.tasksScheduled[task]); + } + } + this.tasksScheduled[task] = setTimeout(async () => { + try { + await this.runSingleTask(task); + } catch (e) { + logger.err(`Unexpected error in scheduled task ${task}: ` + (e instanceof Error ? e.message : e)); + } finally { + clearTimeout(this.tasksScheduled[task]); + } + }, timeout); + } + + /** + * Runs a single task immediately + * + * (use `scheduleSingleTask` instead to queue a task to run after some timeout) + */ + public async runSingleTask(task: TaskName): Promise { + if (!Common.indexingEnabled() || this.tasksRunning[task]) { return; } + this.tasksRunning[task] = true; - if (task === 'blocksPrices' && !this.tasksRunning.includes(task) && !['testnet', 'signet'].includes(config.MEMPOOL.NETWORK)) { - this.tasksRunning.push(task); - let lastestPriceId; - try { - lastestPriceId = await PricesRepository.$getLatestPriceId(); - } catch (e) { - logger.debug('failed to fetch latest price id from db: ' + (e instanceof Error ? e.message : e)); - } - if (priceUpdater.historyInserted === false || lastestPriceId === null) { - logger.debug(`Blocks prices indexer is waiting for the price updater to complete`, logger.tags.mining); - setTimeout(() => { - this.tasksRunning = this.tasksRunning.filter(runningTask => runningTask !== task); - this.runSingleTask('blocksPrices'); - }, 10000); - } else { - logger.debug(`Blocks prices indexer will run now`, logger.tags.mining); - await mining.$indexBlockPrices(); - this.tasksRunning = this.tasksRunning.filter(runningTask => runningTask !== task); - } + switch (task) { + case 'blocksPrices': { + if (!['testnet', 'signet'].includes(config.MEMPOOL.NETWORK)) { + let lastestPriceId; + try { + lastestPriceId = await PricesRepository.$getLatestPriceId(); + } catch (e) { + logger.debug('failed to fetch latest price id from db: ' + (e instanceof Error ? e.message : e)); + } if (priceUpdater.historyInserted === false || lastestPriceId === null) { + logger.debug(`Blocks prices indexer is waiting for the price updater to complete`, logger.tags.mining); + this.scheduleSingleTask(task, 10000); + } else { + logger.debug(`Blocks prices indexer will run now`, logger.tags.mining); + await mining.$indexBlockPrices(); + } + } + } break; + + case 'coinStatsIndex': { + logger.debug(`Indexing coinStatsIndex now`); + await mining.$indexCoinStatsIndex(); + } break; } - if (task === 'coinStatsIndex' && !this.tasksRunning.includes(task)) { - this.tasksRunning.push(task); - logger.debug(`Indexing coinStatsIndex now`); - await mining.$indexCoinStatsIndex(); - this.tasksRunning = this.tasksRunning.filter(runningTask => runningTask !== task); - } + this.tasksRunning[task] = false; } public async $run(): Promise { From fa040ca19f53842b0fe2eac33dc20f7320acab18 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 14 Nov 2023 15:53:37 +0900 Subject: [PATCH 165/639] [frontend] export MasterPageComponent for re-use in hybrid build --- frontend/src/app/master-page.module.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/master-page.module.ts b/frontend/src/app/master-page.module.ts index bfc1aed53..f1c0e2efa 100644 --- a/frontend/src/app/master-page.module.ts +++ b/frontend/src/app/master-page.module.ts @@ -109,12 +109,9 @@ export class MasterPageRoutingModule { } ], declarations: [ MasterPageComponent, + ], + exports: [ + MasterPageComponent, ] }) export class MasterPageModule { } - - - - - - From 7aad6641120233aa2bb9cb3b9cf413b213670bc6 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 14 Nov 2023 07:49:03 +0000 Subject: [PATCH 166/639] Support different log levels for database query error messages --- backend/src/database.ts | 15 ++++++++++----- backend/src/logger.ts | 2 ++ .../src/repositories/NodesSocketsRepository.ts | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/backend/src/database.ts b/backend/src/database.ts index 4eba8cb6f..dc543bbbc 100644 --- a/backend/src/database.ts +++ b/backend/src/database.ts @@ -2,6 +2,7 @@ import * as fs from 'fs'; import path from 'path'; import config from './config'; import { createPool, Pool, PoolConnection } from 'mysql2/promise'; +import { LogLevel } from './logger'; import logger from './logger'; import { FieldPacket, OkPacket, PoolOptions, ResultSetHeader, RowDataPacket } from 'mysql2/typings/mysql'; import { execSync } from 'child_process'; @@ -33,7 +34,7 @@ import { execSync } from 'child_process'; } public async query(query, params?, connection?: PoolConnection): Promise<[T, FieldPacket[]]> + OkPacket[] | ResultSetHeader>(query, params?, errorLogLevel: LogLevel | 'silent' = 'debug', connection?: PoolConnection): Promise<[T, FieldPacket[]]> { this.checkDBFlag(); let hardTimeout; @@ -55,7 +56,9 @@ import { execSync } from 'child_process'; }).then(result => { resolve(result); }).catch(error => { - logger.debug(`database query "${query?.sql?.slice(0, 160) || (typeof(query) === 'string' || query instanceof String ? query?.slice(0, 160) : 'unknown query')}" failed!`); + if (errorLogLevel !== 'silent') { + logger[errorLogLevel](`database query "${query?.sql?.slice(0, 160) || (typeof(query) === 'string' || query instanceof String ? query?.slice(0, 160) : 'unknown query')}" failed!`); + } reject(error); }).finally(() => { clearTimeout(timer); @@ -66,7 +69,9 @@ import { execSync } from 'child_process'; const pool = await this.getPool(); return pool.query(query, params); } catch (e) { - logger.debug(`database query "${query?.sql?.slice(0, 160) || (typeof(query) === 'string' || query instanceof String ? query?.slice(0, 160) : 'unknown query')}" failed!`); + if (errorLogLevel !== 'silent') { + logger[errorLogLevel](`database query "${query?.sql?.slice(0, 160) || (typeof(query) === 'string' || query instanceof String ? query?.slice(0, 160) : 'unknown query')}" failed!`); + } throw e; } } @@ -82,7 +87,7 @@ import { execSync } from 'child_process'; } public async $atomicQuery(queries: { query, params }[]): Promise<[T, FieldPacket[]][]> + OkPacket[] | ResultSetHeader>(queries: { query, params }[], errorLogLevel: LogLevel | 'silent' = 'debug'): Promise<[T, FieldPacket[]][]> { const pool = await this.getPool(); const connection = await pool.getConnection(); @@ -91,7 +96,7 @@ import { execSync } from 'child_process'; const results: [T, FieldPacket[]][] = []; for (const query of queries) { - const result = await this.query(query.query, query.params, connection) as [T, FieldPacket[]]; + const result = await this.query(query.query, query.params, errorLogLevel, connection) as [T, FieldPacket[]]; results.push(result); } diff --git a/backend/src/logger.ts b/backend/src/logger.ts index efafe894e..364c529e7 100644 --- a/backend/src/logger.ts +++ b/backend/src/logger.ts @@ -157,4 +157,6 @@ class Logger { } } +export type LogLevel = 'emerg' | 'alert' | 'crit' | 'err' | 'warn' | 'notice' | 'info' | 'debug'; + export default new Logger(); diff --git a/backend/src/repositories/NodesSocketsRepository.ts b/backend/src/repositories/NodesSocketsRepository.ts index af594e6e1..e85126de4 100644 --- a/backend/src/repositories/NodesSocketsRepository.ts +++ b/backend/src/repositories/NodesSocketsRepository.ts @@ -14,7 +14,7 @@ class NodesSocketsRepository { await DB.query(` INSERT INTO nodes_sockets(public_key, socket, type) VALUE (?, ?, ?) - `, [socket.publicKey, socket.addr, socket.network]); + `, [socket.publicKey, socket.addr, socket.network], 'silent'); } catch (e: any) { if (e.errno !== 1062) { // ER_DUP_ENTRY - Not an issue, just ignore this logger.err(`Cannot save node socket (${[socket.publicKey, socket.addr, socket.network]}) into db. Reason: ` + (e instanceof Error ? e.message : e)); From fdd18317f9afc110a97dbbf77538f3ef47257fb5 Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 14 Nov 2023 17:46:42 +0900 Subject: [PATCH 167/639] ops: Kill node before sh in stop script --- production/mempool-kill-all | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/production/mempool-kill-all b/production/mempool-kill-all index 6abb1a935..b3f88c6da 100755 --- a/production/mempool-kill-all +++ b/production/mempool-kill-all @@ -1,16 +1,19 @@ #!/usr/bin/env zsh -# kill "while true" loops -killall sh - # kill actual node backends -killall node +killall node 2>/dev/null + +# kill "while true" loops +killall sh 2>/dev/null # kill unfurler chrome instances -killall chrome +killall chrome 2>/dev/null # kill xorg -killall xinit +killall xinit 2>/dev/null + +# kill dbus +killall dbus-daemon 2>/dev/null # kill nginx cache warmer scripts for pid in `ps uaxww|grep warmer|grep zsh|awk '{print $2}'`;do From 691394607907a1057020ff322548e7350790201d Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 14 Nov 2023 17:46:52 +0900 Subject: [PATCH 168/639] ops: Upgrade mariadb to 10.11.x --- production/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/production/install b/production/install index 18ee06233..4f1280a05 100755 --- a/production/install +++ b/production/install @@ -394,7 +394,7 @@ FREEBSD_PKG=() FREEBSD_PKG+=(zsh sudo git git-lfs screen curl wget calc neovim) FREEBSD_PKG+=(openssh-portable py39-pip rust llvm10 jq base64 libzmq4) FREEBSD_PKG+=(boost-libs autoconf automake gmake gcc libevent libtool pkgconf) -FREEBSD_PKG+=(nginx rsync py39-certbot-nginx mariadb105-server keybase) +FREEBSD_PKG+=(nginx rsync py39-certbot-nginx mariadb1011-server keybase) FREEBSD_PKG+=(geoipupdate) FREEBSD_UNFURL_PKG=() From 85091e1f3a72b67d4f825d3a6749da7ab0504f19 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 14 Nov 2023 09:55:02 +0000 Subject: [PATCH 169/639] =?UTF-8?q?=F0=9F=A5=A9=F0=9F=99=82=F0=9F=AA=B5?= =?UTF-8?q?=F0=9F=93=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/api/bitcoin/esplora-api.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/backend/src/api/bitcoin/esplora-api.ts b/backend/src/api/bitcoin/esplora-api.ts index 19800cd21..2ad72f728 100644 --- a/backend/src/api/bitcoin/esplora-api.ts +++ b/backend/src/api/bitcoin/esplora-api.ts @@ -8,8 +8,9 @@ import logger from '../../logger'; interface FailoverHost { host: string, rtts: number[], - rtt: number + rtt: number, failures: number, + latestHeight?: number, socket?: boolean, outOfSync?: boolean, unreachable?: boolean, @@ -92,6 +93,7 @@ class FailoverRouter { host.rtts.unshift(rtt); host.rtts.slice(0, 5); host.rtt = host.rtts.reduce((acc, l) => acc + l, 0) / host.rtts.length; + host.latestHeight = height; if (height == null || isNaN(height) || (maxHeight - height > 2)) { host.outOfSync = true; } else { @@ -105,16 +107,16 @@ class FailoverRouter { this.sortHosts(); - logger.debug(`Tomahawk ranking: ${this.hosts.map(host => '\navg rtt ' + Math.round(host.rtt).toString().padStart(5, ' ') + ' | reachable? ' + (!host.unreachable || false).toString().padStart(5, ' ') + ' | in sync? ' + (!host.outOfSync || false).toString().padStart(5, ' ') + ` | ${host.host}`).join('')}`); + logger.debug(`Tomahawk ranking:\n${this.hosts.map((host, index) => this.formatRanking(index, host, this.activeHost, maxHeight)).join('\n')}`); // switch if the current host is out of sync or significantly slower than the next best alternative if (this.activeHost.outOfSync || this.activeHost.unreachable || (this.activeHost !== this.hosts[0] && this.hosts[0].preferred) || (!this.activeHost.preferred && this.activeHost.rtt > (this.hosts[0].rtt * 2) + 50)) { if (this.activeHost.unreachable) { - logger.warn(`Unable to reach ${this.activeHost.host}, failing over to next best alternative`); + logger.warn(`🚨🚨🚨 Unable to reach ${this.activeHost.host}, failing over to next best alternative 🚨🚨🚨`); } else if (this.activeHost.outOfSync) { - logger.warn(`${this.activeHost.host} has fallen behind, failing over to next best alternative`); + logger.warn(`🚨🚨🚨 ${this.activeHost.host} has fallen behind, failing over to next best alternative 🚨🚨🚨`); } else { - logger.debug(`${this.activeHost.host} is no longer the best esplora host`); + logger.debug(`🛠️ ${this.activeHost.host} is no longer the best esplora host 🛠️`); } this.electHost(); } @@ -122,6 +124,11 @@ class FailoverRouter { this.pollTimer = setTimeout(() => { this.pollHosts(); }, this.pollInterval); } + private formatRanking(index: number, host: FailoverHost, active: FailoverHost, maxHeight: number): string { + const heightStatus = host.outOfSync ? '🚫' : (host.latestHeight && host.latestHeight < maxHeight ? '🟧' : '✅'); + return `${host === active ? '⭐️' : ' '} ${host.rtt < Infinity ? Math.round(host.rtt).toString().padStart(5, ' ') + 'ms' : ' - '} ${host.unreachable ? '🔥' : '✅'} | block: ${host.latestHeight || '??????'} ${heightStatus} | ${host.host} ${host === active ? '⭐️' : ' '}`; + } + // sort hosts by connection quality, and update default fallback private sortHosts(): void { // sort by connection quality @@ -156,7 +163,7 @@ class FailoverRouter { private addFailure(host: FailoverHost): FailoverHost { host.failures++; if (host.failures > 5 && this.multihost) { - logger.warn(`Too many esplora failures on ${this.activeHost.host}, falling back to next best alternative`); + logger.warn(`🚨🚨🚨 Too many esplora failures on ${this.activeHost.host}, falling back to next best alternative 🚨🚨🚨`); this.electHost(); return this.activeHost; } else { From 5cfd599018b90b33759cddc58f238f3f187c310c Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 14 Nov 2023 10:17:02 +0000 Subject: [PATCH 170/639] Set fallback server out-of-symc when unreachable --- backend/src/api/bitcoin/esplora-api.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/api/bitcoin/esplora-api.ts b/backend/src/api/bitcoin/esplora-api.ts index 2ad72f728..fe152e2a3 100644 --- a/backend/src/api/bitcoin/esplora-api.ts +++ b/backend/src/api/bitcoin/esplora-api.ts @@ -101,6 +101,7 @@ class FailoverRouter { } host.unreachable = false; } else { + host.outOfSync = true; host.unreachable = true; } } From 2d30c0b588038caec287cac5faa96e8122f81e67 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 15 Nov 2023 14:08:44 +0900 Subject: [PATCH 171/639] [graph] use echart echart yaxis `max` property instead of modifying the data itself --- .../incoming-transactions-graph.component.ts | 26 +++++++++++++- .../statistics/statistics.component.html | 2 +- .../statistics/statistics.component.ts | 34 +------------------ 3 files changed, 27 insertions(+), 35 deletions(-) diff --git a/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts b/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts index 667ad1e28..82e3e77e7 100644 --- a/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts +++ b/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts @@ -7,6 +7,8 @@ import { formatNumber } from '@angular/common'; import { StateService } from '../../services/state.service'; import { Subscription } from 'rxjs'; +const OUTLIERS_MEDIAN_MULTIPLIER = 4; + @Component({ selector: 'app-incoming-transactions-graph', templateUrl: './incoming-transactions-graph.component.html', @@ -29,6 +31,7 @@ export class IncomingTransactionsGraphComponent implements OnInit, OnChanges, On @Input() left: number | string = '0'; @Input() template: ('widget' | 'advanced') = 'widget'; @Input() windowPreferenceOverride: string; + @Input() outlierCappingEnabled: boolean = false; isLoading = true; mempoolStatsChartOption: EChartsOption = {}; @@ -40,6 +43,7 @@ export class IncomingTransactionsGraphComponent implements OnInit, OnChanges, On MA: number[][] = []; weightMode: boolean = false; rateUnitSub: Subscription; + medianVbytesPerSecond: number | undefined; constructor( @Inject(LOCALE_ID) private locale: string, @@ -65,16 +69,35 @@ export class IncomingTransactionsGraphComponent implements OnInit, OnChanges, On this.windowPreference = this.windowPreferenceOverride ? this.windowPreferenceOverride : this.storageService.getValue('graphWindowPreference'); const windowSize = Math.max(10, Math.floor(this.data.series[0].length / 8)); this.MA = this.calculateMA(this.data.series[0], windowSize); + if (this.outlierCappingEnabled === true) { + this.computeMedianVbytesPerSecond(this.data.series[0]); + } this.mountChart(); } rendered() { if (!this.data) { - return; + return; } this.isLoading = false; } + /** + * Calculate the median value of the vbytes per second chart to hide outliers + */ + computeMedianVbytesPerSecond(data: number[][]): void { + const vBytes: number[] = []; + for (const value of data) { + vBytes.push(value[1]); + } + const sorted = vBytes.slice().sort((a, b) => a - b); + const middle = Math.floor(sorted.length / 2); + this.medianVbytesPerSecond = sorted[middle]; + if (sorted.length % 2 === 0) { + this.medianVbytesPerSecond = (sorted[middle - 1] + sorted[middle]) / 2; + } + } + /// calculate the moving average of the provided data based on windowSize calculateMA(data: number[][], windowSize: number = 100): number[][] { //update const variables that are not changed @@ -232,6 +255,7 @@ export class IncomingTransactionsGraphComponent implements OnInit, OnChanges, On } ], yAxis: { + max: this.outlierCappingEnabled ? Math.round(this.medianVbytesPerSecond * OUTLIERS_MEDIAN_MULTIPLIER) : undefined, type: 'value', axisLabel: { fontSize: 11, diff --git a/frontend/src/app/components/statistics/statistics.component.html b/frontend/src/app/components/statistics/statistics.component.html index 3f0ea61f5..c726e354e 100644 --- a/frontend/src/app/components/statistics/statistics.component.html +++ b/frontend/src/app/components/statistics/statistics.component.html @@ -128,7 +128,7 @@
+ [data]="mempoolTransactionsWeightPerSecondData" [outlierCappingEnabled]="outlierCappingEnabled">
diff --git a/frontend/src/app/components/statistics/statistics.component.ts b/frontend/src/app/components/statistics/statistics.component.ts index e80ab83ad..8e01e068b 100644 --- a/frontend/src/app/components/statistics/statistics.component.ts +++ b/frontend/src/app/components/statistics/statistics.component.ts @@ -160,10 +160,6 @@ export class StatisticsComponent implements OnInit { labels: labels, series: [mempoolStats.map((stats) => [stats.added * 1000, stats.vbytes_per_second])], }; - - if (this.outlierCappingEnabled) { - this.capExtremeVbytesValues(); - } } saveGraphPreference() { @@ -214,36 +210,8 @@ export class StatisticsComponent implements OnInit { }); } - /** - * All value higher that "median * capRatio" are capped - */ - onOutlierToggleChange(e) { + onOutlierToggleChange(e): void { this.outlierCappingEnabled = e.target.checked; - this.handleNewMempoolData(this.mempoolStats); - } - capExtremeVbytesValues() { - if (this.stateService.network.length !== 0) { - return; // Only cap on Bitcoin mainnet - } - - let capRatio = 4; - - // Find median value - const vBytes: number[] = []; - for (const stat of this.mempoolTransactionsWeightPerSecondData.series[0]) { - vBytes.push(stat[1]); - } - const sorted = vBytes.slice().sort((a, b) => a - b); - const middle = Math.floor(sorted.length / 2); - let median = sorted[middle]; - if (sorted.length % 2 === 0) { - median = (sorted[middle - 1] + sorted[middle]) / 2; - } - - // Cap - for (const stat of this.mempoolTransactionsWeightPerSecondData.series[0]) { - stat[1] = Math.min(median * capRatio, stat[1]); - } } onSaveChart(name) { From d4568b631dea57d0cfb11e8b38f1b54993d5f6c0 Mon Sep 17 00:00:00 2001 From: softsimon Date: Mon, 13 Nov 2023 17:45:15 +0900 Subject: [PATCH 172/639] Make search and select work for truncated text fixes #4367 --- .../app/shared/components/truncate/truncate.component.html | 2 ++ .../app/shared/components/truncate/truncate.component.scss | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/frontend/src/app/shared/components/truncate/truncate.component.html b/frontend/src/app/shared/components/truncate/truncate.component.html index 94208f3a4..d75b683f2 100644 --- a/frontend/src/app/shared/components/truncate/truncate.component.html +++ b/frontend/src/app/shared/components/truncate/truncate.component.html @@ -11,9 +11,11 @@ + {{text.slice(0,-lastChars)}}{{text.slice(-lastChars)}} + {{text.slice(lastChars)}}{{text.slice(0,lastChars)}} \ No newline at end of file diff --git a/frontend/src/app/shared/components/truncate/truncate.component.scss b/frontend/src/app/shared/components/truncate/truncate.component.scss index 315ce4e12..97233e5d6 100644 --- a/frontend/src/app/shared/components/truncate/truncate.component.scss +++ b/frontend/src/app/shared/components/truncate/truncate.component.scss @@ -27,4 +27,9 @@ &.inline { display: inline-flex; } +} + +.hidden { + color: transparent; + position: absolute; } \ No newline at end of file From 86fe6a802b2bb069cd32bdb62f079fad961e90de Mon Sep 17 00:00:00 2001 From: softsimon Date: Wed, 15 Nov 2023 15:07:14 +0900 Subject: [PATCH 173/639] Fixing mobile overflow --- .../shared/components/truncate/truncate.component.html | 4 ++-- .../shared/components/truncate/truncate.component.scss | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/shared/components/truncate/truncate.component.html b/frontend/src/app/shared/components/truncate/truncate.component.html index d75b683f2..0ec579dad 100644 --- a/frontend/src/app/shared/components/truncate/truncate.component.html +++ b/frontend/src/app/shared/components/truncate/truncate.component.html @@ -1,4 +1,5 @@ + @@ -11,11 +12,10 @@ - + {{text.slice(0,-lastChars)}}{{text.slice(-lastChars)}} - {{text.slice(lastChars)}}{{text.slice(0,lastChars)}} \ No newline at end of file diff --git a/frontend/src/app/shared/components/truncate/truncate.component.scss b/frontend/src/app/shared/components/truncate/truncate.component.scss index 97233e5d6..c5179384f 100644 --- a/frontend/src/app/shared/components/truncate/truncate.component.scss +++ b/frontend/src/app/shared/components/truncate/truncate.component.scss @@ -32,4 +32,12 @@ .hidden { color: transparent; position: absolute; -} \ No newline at end of file + max-width: 300px; + overflow: hidden; +} + +@media (max-width: 567px) { + .hidden { + max-width: 150px; + } +} From 35d7c55c1de902d4d9b40a78b5bddff0aba41a93 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 15 Nov 2023 06:10:00 +0000 Subject: [PATCH 174/639] Configurable esplora batch sizes --- backend/mempool-config.sample.json | 6 ++++++ backend/src/__fixtures__/mempool-config.template.json | 4 +++- backend/src/__tests__/config.test.ts | 4 +++- backend/src/api/mempool.ts | 2 +- backend/src/api/rbf-cache.ts | 2 +- backend/src/api/redis-cache.ts | 5 +++-- backend/src/config.ts | 4 ++++ backend/src/tasks/lightning/forensics.service.ts | 2 +- backend/src/tasks/lightning/network-sync.service.ts | 2 +- docker/backend/mempool-config.json | 4 +++- docker/backend/start.sh | 4 ++++ 11 files changed, 30 insertions(+), 9 deletions(-) diff --git a/backend/mempool-config.sample.json b/backend/mempool-config.sample.json index 80c2b4e28..76b27d630 100644 --- a/backend/mempool-config.sample.json +++ b/backend/mempool-config.sample.json @@ -52,6 +52,7 @@ "ESPLORA": { "REST_API_URL": "http://127.0.0.1:3000", "UNIX_SOCKET_PATH": "/tmp/esplora-bitcoin-mainnet", + "BATCH_QUERY_BASE_SIZE": 1000, "RETRY_UNIX_SOCKET_AFTER": 30000, "REQUEST_TIMEOUT": 10000, "FALLBACK_TIMEOUT": 5000, @@ -132,6 +133,11 @@ "BISQ_URL": "https://bisq.markets/api", "BISQ_ONION": "http://bisqmktse2cabavbr2xjq7xw3h6g5ottemo5rolfcwt6aly6tp5fdryd.onion/api" }, + "REDIS": { + "ENABLED": false, + "UNIX_SOCKET_PATH": "/tmp/redis.sock", + "BATCH_QUERY_BASE_SIZE": 5000 + }, "REPLICATION": { "ENABLED": false, "AUDIT": false, diff --git a/backend/src/__fixtures__/mempool-config.template.json b/backend/src/__fixtures__/mempool-config.template.json index 7d5a14de6..0c30651ce 100644 --- a/backend/src/__fixtures__/mempool-config.template.json +++ b/backend/src/__fixtures__/mempool-config.template.json @@ -53,6 +53,7 @@ "ESPLORA": { "REST_API_URL": "__ESPLORA_REST_API_URL__", "UNIX_SOCKET_PATH": "__ESPLORA_UNIX_SOCKET_PATH__", + "BATCH_QUERY_BASE_SIZE": 1000, "RETRY_UNIX_SOCKET_AFTER": 888, "REQUEST_TIMEOUT": 10000, "FALLBACK_TIMEOUT": 5000, @@ -140,6 +141,7 @@ }, "REDIS": { "ENABLED": false, - "UNIX_SOCKET_PATH": "/tmp/redis.sock" + "UNIX_SOCKET_PATH": "/tmp/redis.sock", + "BATCH_QUERY_BASE_SIZE": 5000 } } diff --git a/backend/src/__tests__/config.test.ts b/backend/src/__tests__/config.test.ts index a565c64af..2991162e9 100644 --- a/backend/src/__tests__/config.test.ts +++ b/backend/src/__tests__/config.test.ts @@ -55,6 +55,7 @@ describe('Mempool Backend Config', () => { expect(config.ESPLORA).toStrictEqual({ REST_API_URL: 'http://127.0.0.1:3000', UNIX_SOCKET_PATH: null, + BATCH_QUERY_BASE_SIZE: 1000, RETRY_UNIX_SOCKET_AFTER: 30000, REQUEST_TIMEOUT: 10000, FALLBACK_TIMEOUT: 5000, @@ -144,7 +145,8 @@ describe('Mempool Backend Config', () => { expect(config.REDIS).toStrictEqual({ ENABLED: false, - UNIX_SOCKET_PATH: '' + UNIX_SOCKET_PATH: '', + BATCH_QUERY_BASE_SIZE: 5000, }); }); }); diff --git a/backend/src/api/mempool.ts b/backend/src/api/mempool.ts index f5e788f98..a11e0d504 100644 --- a/backend/src/api/mempool.ts +++ b/backend/src/api/mempool.ts @@ -235,7 +235,7 @@ class Mempool { if (!loaded) { const remainingTxids = transactions.filter(txid => !this.mempoolCache[txid]); - const sliceLength = 10000; + const sliceLength = config.ESPLORA.BATCH_QUERY_BASE_SIZE; for (let i = 0; i < Math.ceil(remainingTxids.length / sliceLength); i++) { const slice = remainingTxids.slice(i * sliceLength, (i + 1) * sliceLength); const txs = await transactionUtils.$getMempoolTransactionsExtended(slice, false, false, false); diff --git a/backend/src/api/rbf-cache.ts b/backend/src/api/rbf-cache.ts index c573d3291..d2b7ddf6c 100644 --- a/backend/src/api/rbf-cache.ts +++ b/backend/src/api/rbf-cache.ts @@ -480,7 +480,7 @@ class RbfCache { }; if (config.MEMPOOL.BACKEND === 'esplora') { - const sliceLength = 250; + const sliceLength = Math.floor(config.ESPLORA.BATCH_QUERY_BASE_SIZE / 40); for (let i = 0; i < Math.ceil(txids.length / sliceLength); i++) { const slice = txids.slice(i * sliceLength, (i + 1) * sliceLength); try { diff --git a/backend/src/api/redis-cache.ts b/backend/src/api/redis-cache.ts index 00b280274..82ce34ad1 100644 --- a/backend/src/api/redis-cache.ts +++ b/backend/src/api/redis-cache.ts @@ -122,8 +122,9 @@ class RedisCache { async $removeTransactions(transactions: string[]) { try { await this.$ensureConnected(); - for (let i = 0; i < Math.ceil(transactions.length / 10000); i++) { - const slice = transactions.slice(i * 10000, (i + 1) * 10000); + const sliceLength = config.REDIS.BATCH_QUERY_BASE_SIZE; + for (let i = 0; i < Math.ceil(transactions.length / sliceLength); i++) { + const slice = transactions.slice(i * sliceLength, (i + 1) * sliceLength); await this.client.unlink(slice.map(txid => `mempool:tx:${txid}`)); logger.debug(`Deleted ${slice.length} transactions from the Redis cache`); } diff --git a/backend/src/config.ts b/backend/src/config.ts index 37d5a2de9..4115149e6 100644 --- a/backend/src/config.ts +++ b/backend/src/config.ts @@ -43,6 +43,7 @@ interface IConfig { ESPLORA: { REST_API_URL: string; UNIX_SOCKET_PATH: string | void | null; + BATCH_QUERY_BASE_SIZE: number; RETRY_UNIX_SOCKET_AFTER: number; REQUEST_TIMEOUT: number; FALLBACK_TIMEOUT: number; @@ -151,6 +152,7 @@ interface IConfig { REDIS: { ENABLED: boolean; UNIX_SOCKET_PATH: string; + BATCH_QUERY_BASE_SIZE: number; }, } @@ -195,6 +197,7 @@ const defaults: IConfig = { 'ESPLORA': { 'REST_API_URL': 'http://127.0.0.1:3000', 'UNIX_SOCKET_PATH': null, + 'BATCH_QUERY_BASE_SIZE': 1000, 'RETRY_UNIX_SOCKET_AFTER': 30000, 'REQUEST_TIMEOUT': 10000, 'FALLBACK_TIMEOUT': 5000, @@ -303,6 +306,7 @@ const defaults: IConfig = { 'REDIS': { 'ENABLED': false, 'UNIX_SOCKET_PATH': '', + 'BATCH_QUERY_BASE_SIZE': 5000, }, }; diff --git a/backend/src/tasks/lightning/forensics.service.ts b/backend/src/tasks/lightning/forensics.service.ts index 584dd3c79..a21c4c280 100644 --- a/backend/src/tasks/lightning/forensics.service.ts +++ b/backend/src/tasks/lightning/forensics.service.ts @@ -79,7 +79,7 @@ class ForensicsService { } let progress = 0; - const sliceLength = 1000; + const sliceLength = Math.floor(config.ESPLORA.BATCH_QUERY_BASE_SIZE / 10); // process batches of 1000 channels for (let i = 0; i < Math.ceil(allChannels.length / sliceLength); i++) { const channels = allChannels.slice(i * sliceLength, (i + 1) * sliceLength); diff --git a/backend/src/tasks/lightning/network-sync.service.ts b/backend/src/tasks/lightning/network-sync.service.ts index dc0d609fa..09c8b912e 100644 --- a/backend/src/tasks/lightning/network-sync.service.ts +++ b/backend/src/tasks/lightning/network-sync.service.ts @@ -290,7 +290,7 @@ class NetworkSyncService { const allChannels = await channelsApi.$getChannelsByStatus([0, 1]); - const sliceLength = 5000; + const sliceLength = Math.floor(config.ESPLORA.BATCH_QUERY_BASE_SIZE / 2); // process batches of 5000 channels for (let i = 0; i < Math.ceil(allChannels.length / sliceLength); i++) { const channels = allChannels.slice(i * sliceLength, (i + 1) * sliceLength); diff --git a/docker/backend/mempool-config.json b/docker/backend/mempool-config.json index a1359db97..e73fa1929 100644 --- a/docker/backend/mempool-config.json +++ b/docker/backend/mempool-config.json @@ -53,6 +53,7 @@ "ESPLORA": { "REST_API_URL": "__ESPLORA_REST_API_URL__", "UNIX_SOCKET_PATH": "__ESPLORA_UNIX_SOCKET_PATH__", + "BATCH_QUERY_BASE_SIZE": __ESPLORA_BATCH_QUERY_BASE_SIZE__, "RETRY_UNIX_SOCKET_AFTER": __ESPLORA_RETRY_UNIX_SOCKET_AFTER__, "REQUEST_TIMEOUT": __ESPLORA_REQUEST_TIMEOUT__, "FALLBACK_TIMEOUT": __ESPLORA_FALLBACK_TIMEOUT__, @@ -146,6 +147,7 @@ }, "REDIS": { "ENABLED": __REDIS_ENABLED__, - "UNIX_SOCKET_PATH": "__REDIS_UNIX_SOCKET_PATH__" + "UNIX_SOCKET_PATH": "__REDIS_UNIX_SOCKET_PATH__", + "BATCH_QUERY_BASE_SIZE": __REDIS_BATCH_QUERY_BASE_SIZE__ } } diff --git a/docker/backend/start.sh b/docker/backend/start.sh index 23c578efe..232cf7284 100755 --- a/docker/backend/start.sh +++ b/docker/backend/start.sh @@ -54,6 +54,7 @@ __ELECTRUM_TLS_ENABLED__=${ELECTRUM_TLS_ENABLED:=false} # ESPLORA __ESPLORA_REST_API_URL__=${ESPLORA_REST_API_URL:=http://127.0.0.1:3000} __ESPLORA_UNIX_SOCKET_PATH__=${ESPLORA_UNIX_SOCKET_PATH:="null"} +__ESPLORA_BATCH_QUERY_BASE_SIZE__=${ESPLORA_BATCH_QUERY_BASE_SIZE:=1000} __ESPLORA_RETRY_UNIX_SOCKET_AFTER__=${ESPLORA_RETRY_UNIX_SOCKET_AFTER:=30000} __ESPLORA_REQUEST_TIMEOUT__=${ESPLORA_REQUEST_TIMEOUT:=5000} __ESPLORA_FALLBACK_TIMEOUT__=${ESPLORA_FALLBACK_TIMEOUT:=5000} @@ -148,6 +149,7 @@ __MEMPOOL_SERVICES_ACCELERATIONS__=${MEMPOOL_SERVICES_ACCELERATIONS:=false} # REDIS __REDIS_ENABLED__=${REDIS_ENABLED:=false} __REDIS_UNIX_SOCKET_PATH__=${REDIS_UNIX_SOCKET_PATH:=true} +__REDIS_BATCH_QUERY_BASE_SIZE__=${REDIS_BATCH_QUERY_BASE_SIZE:=5000} mkdir -p "${__MEMPOOL_CACHE_DIR__}" @@ -201,6 +203,7 @@ sed -i "s!__ELECTRUM_TLS_ENABLED__!${__ELECTRUM_TLS_ENABLED__}!g" mempool-config sed -i "s!__ESPLORA_REST_API_URL__!${__ESPLORA_REST_API_URL__}!g" mempool-config.json sed -i "s!__ESPLORA_UNIX_SOCKET_PATH__!${__ESPLORA_UNIX_SOCKET_PATH__}!g" mempool-config.json +sed -i "s!__ESPLORA_BATCH_QUERY_BASE_SIZE__!${__ESPLORA_BATCH_QUERY_BASE_SIZE__}!g" mempool-config.json sed -i "s!__ESPLORA_RETRY_UNIX_SOCKET_AFTER__!${__ESPLORA_RETRY_UNIX_SOCKET_AFTER__}!g" mempool-config.json sed -i "s!__ESPLORA_REQUEST_TIMEOUT__!${__ESPLORA_REQUEST_TIMEOUT__}!g" mempool-config.json sed -i "s!__ESPLORA_FALLBACK_TIMEOUT__!${__ESPLORA_FALLBACK_TIMEOUT__}!g" mempool-config.json @@ -288,5 +291,6 @@ sed -i "s!__MEMPOOL_SERVICES_ACCELERATIONS__!${__MEMPOOL_SERVICES_ACCELERATIONS_ # REDIS sed -i "s!__REDIS_ENABLED__!${__REDIS_ENABLED__}!g" mempool-config.json sed -i "s!__REDIS_UNIX_SOCKET_PATH__!${__REDIS_UNIX_SOCKET_PATH__}!g" mempool-config.json +sed -i "s!__REDIS_BATCH_QUERY_BASE_SIZE__!${__REDIS_BATCH_QUERY_BASE_SIZE__}!g" mempool-config.json node /backend/package/index.js From 6454892d48cd94dd69d83adfae2543749cca1afc Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 15 Nov 2023 06:57:31 +0000 Subject: [PATCH 175/639] Use mempool/txs max_txs parameter --- backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts | 2 +- backend/src/api/bitcoin/bitcoin-api.ts | 2 +- backend/src/api/bitcoin/esplora-api.ts | 4 ++-- backend/src/api/mempool.ts | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts b/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts index f008e5ed8..5bd961e23 100644 --- a/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts +++ b/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts @@ -5,7 +5,7 @@ export interface AbstractBitcoinApi { $getRawTransaction(txId: string, skipConversion?: boolean, addPrevout?: boolean, lazyPrevouts?: boolean): Promise; $getRawTransactions(txids: string[]): Promise; $getMempoolTransactions(txids: string[]): Promise; - $getAllMempoolTransactions(lastTxid: string); + $getAllMempoolTransactions(lastTxid?: string, max_txs?: number); $getTransactionHex(txId: string): Promise; $getBlockHeightTip(): Promise; $getBlockHashTip(): Promise; diff --git a/backend/src/api/bitcoin/bitcoin-api.ts b/backend/src/api/bitcoin/bitcoin-api.ts index 1722334df..f54c836f8 100644 --- a/backend/src/api/bitcoin/bitcoin-api.ts +++ b/backend/src/api/bitcoin/bitcoin-api.ts @@ -77,7 +77,7 @@ class BitcoinApi implements AbstractBitcoinApi { throw new Error('Method getMempoolTransactions not supported by the Bitcoin RPC API.'); } - $getAllMempoolTransactions(lastTxid: string): Promise { + $getAllMempoolTransactions(lastTxid?: string, max_txs?: number): Promise { throw new Error('Method getAllMempoolTransactions not supported by the Bitcoin RPC API.'); } diff --git a/backend/src/api/bitcoin/esplora-api.ts b/backend/src/api/bitcoin/esplora-api.ts index fe152e2a3..c0b548b9a 100644 --- a/backend/src/api/bitcoin/esplora-api.ts +++ b/backend/src/api/bitcoin/esplora-api.ts @@ -233,8 +233,8 @@ class ElectrsApi implements AbstractBitcoinApi { return this.failoverRouter.$post('/internal/mempool/txs', txids, 'json'); } - async $getAllMempoolTransactions(lastSeenTxid?: string): Promise { - return this.failoverRouter.$get('/internal/mempool/txs' + (lastSeenTxid ? '/' + lastSeenTxid : '')); + async $getAllMempoolTransactions(lastSeenTxid?: string, max_txs?: number): Promise { + return this.failoverRouter.$get('/internal/mempool/txs' + (lastSeenTxid ? '/' + lastSeenTxid : ''), 'json', max_txs ? { max_txs } : null); } $getTransactionHex(txId: string): Promise { diff --git a/backend/src/api/mempool.ts b/backend/src/api/mempool.ts index a11e0d504..60bcd2f99 100644 --- a/backend/src/api/mempool.ts +++ b/backend/src/api/mempool.ts @@ -126,7 +126,7 @@ class Mempool { loadingIndicators.setProgress('mempool', count / expectedCount * 100); while (!done) { try { - const result = await bitcoinApi.$getAllMempoolTransactions(last_txid); + const result = await bitcoinApi.$getAllMempoolTransactions(last_txid, config.ESPLORA.BATCH_QUERY_BASE_SIZE); if (result) { for (const tx of result) { const extendedTransaction = transactionUtils.extendMempoolTransaction(tx); From 20f61fc6a08358b91c72874229aba4b7fc0b92e7 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 15 Nov 2023 06:58:00 +0000 Subject: [PATCH 176/639] Round batch sizes up --- backend/src/api/rbf-cache.ts | 2 +- backend/src/tasks/lightning/forensics.service.ts | 2 +- backend/src/tasks/lightning/network-sync.service.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/src/api/rbf-cache.ts b/backend/src/api/rbf-cache.ts index d2b7ddf6c..708393083 100644 --- a/backend/src/api/rbf-cache.ts +++ b/backend/src/api/rbf-cache.ts @@ -480,7 +480,7 @@ class RbfCache { }; if (config.MEMPOOL.BACKEND === 'esplora') { - const sliceLength = Math.floor(config.ESPLORA.BATCH_QUERY_BASE_SIZE / 40); + const sliceLength = Math.ceil(config.ESPLORA.BATCH_QUERY_BASE_SIZE / 40); for (let i = 0; i < Math.ceil(txids.length / sliceLength); i++) { const slice = txids.slice(i * sliceLength, (i + 1) * sliceLength); try { diff --git a/backend/src/tasks/lightning/forensics.service.ts b/backend/src/tasks/lightning/forensics.service.ts index a21c4c280..aa88f5bb4 100644 --- a/backend/src/tasks/lightning/forensics.service.ts +++ b/backend/src/tasks/lightning/forensics.service.ts @@ -79,7 +79,7 @@ class ForensicsService { } let progress = 0; - const sliceLength = Math.floor(config.ESPLORA.BATCH_QUERY_BASE_SIZE / 10); + const sliceLength = Math.ceil(config.ESPLORA.BATCH_QUERY_BASE_SIZE / 10); // process batches of 1000 channels for (let i = 0; i < Math.ceil(allChannels.length / sliceLength); i++) { const channels = allChannels.slice(i * sliceLength, (i + 1) * sliceLength); diff --git a/backend/src/tasks/lightning/network-sync.service.ts b/backend/src/tasks/lightning/network-sync.service.ts index 09c8b912e..7d6a40571 100644 --- a/backend/src/tasks/lightning/network-sync.service.ts +++ b/backend/src/tasks/lightning/network-sync.service.ts @@ -290,7 +290,7 @@ class NetworkSyncService { const allChannels = await channelsApi.$getChannelsByStatus([0, 1]); - const sliceLength = Math.floor(config.ESPLORA.BATCH_QUERY_BASE_SIZE / 2); + const sliceLength = Math.ceil(config.ESPLORA.BATCH_QUERY_BASE_SIZE / 2); // process batches of 5000 channels for (let i = 0; i < Math.ceil(allChannels.length / sliceLength); i++) { const channels = allChannels.slice(i * sliceLength, (i + 1) * sliceLength); From 756f6d8abebb5d85a0b15533b81502355315cc1e Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 14 Nov 2023 15:53:37 +0900 Subject: [PATCH 177/639] [frontend] export MasterPageComponent for re-use in hybrid build --- frontend/src/app/master-page.module.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/master-page.module.ts b/frontend/src/app/master-page.module.ts index bfc1aed53..f1c0e2efa 100644 --- a/frontend/src/app/master-page.module.ts +++ b/frontend/src/app/master-page.module.ts @@ -109,12 +109,9 @@ export class MasterPageRoutingModule { } ], declarations: [ MasterPageComponent, + ], + exports: [ + MasterPageComponent, ] }) export class MasterPageModule { } - - - - - - From d9966143c19b2e26a8f2a109a5c3ce52fc4661d6 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 15 Nov 2023 08:49:22 +0000 Subject: [PATCH 178/639] Minimum acceleration preview bar height --- .../accelerate-fee-graph.component.scss | 1 + .../accelerate-fee-graph.component.ts | 16 +++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.scss b/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.scss index 6137b53ee..795d11df6 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.scss +++ b/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.scss @@ -18,6 +18,7 @@ bottom: 0; left: 0; right: 0; + min-height: 30px; display: flex; flex-direction: column; justify-content: center; diff --git a/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.ts b/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.ts index 4d746a0d9..b5aebd35f 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.ts +++ b/frontend/src/app/components/accelerate-preview/accelerate-fee-graph.component.ts @@ -58,13 +58,15 @@ export class AccelerateFeeGraphComponent implements OnInit, OnChanges { fee: option.fee, } }); - bars.push({ - rate: this.estimate.targetFeeRate, - style: this.getStyle(this.estimate.targetFeeRate, maxRate, baseHeight), - class: 'target', - label: 'next block', - fee: this.estimate.nextBlockFee - this.estimate.txSummary.effectiveFee - }); + if (this.estimate.nextBlockFee > this.estimate.txSummary.effectiveFee) { + bars.push({ + rate: this.estimate.targetFeeRate, + style: this.getStyle(this.estimate.targetFeeRate, maxRate, baseHeight), + class: 'target', + label: 'next block', + fee: this.estimate.nextBlockFee - this.estimate.txSummary.effectiveFee + }); + } bars.push({ rate: baseRate, style: this.getStyle(baseRate, maxRate, 0), From dc26c6f105c666cbce9aa1248d95ce850f3558fb Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 15 Nov 2023 18:46:33 +0900 Subject: [PATCH 179/639] [graph] don't change yaxis scale if no outliers - save state in localstorage --- .../incoming-transactions-graph.component.ts | 10 +++++++++- .../components/statistics/statistics.component.html | 2 +- .../app/components/statistics/statistics.component.ts | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts b/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts index 82e3e77e7..f6d2de5df 100644 --- a/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts +++ b/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts @@ -255,7 +255,15 @@ export class IncomingTransactionsGraphComponent implements OnInit, OnChanges, On } ], yAxis: { - max: this.outlierCappingEnabled ? Math.round(this.medianVbytesPerSecond * OUTLIERS_MEDIAN_MULTIPLIER) : undefined, + max: (value) => { + if (!this.outlierCappingEnabled) { + return undefined; + } + if (value.max < this.medianVbytesPerSecond * OUTLIERS_MEDIAN_MULTIPLIER) { + return undefined; + } + return Math.round(this.medianVbytesPerSecond * OUTLIERS_MEDIAN_MULTIPLIER); + }, type: 'value', axisLabel: { fontSize: 11, diff --git a/frontend/src/app/components/statistics/statistics.component.html b/frontend/src/app/components/statistics/statistics.component.html index c726e354e..0bb10a1c3 100644 --- a/frontend/src/app/components/statistics/statistics.component.html +++ b/frontend/src/app/components/statistics/statistics.component.html @@ -117,7 +117,7 @@
- + diff --git a/frontend/src/app/components/statistics/statistics.component.ts b/frontend/src/app/components/statistics/statistics.component.ts index 8e01e068b..fdd5a018e 100644 --- a/frontend/src/app/components/statistics/statistics.component.ts +++ b/frontend/src/app/components/statistics/statistics.component.ts @@ -67,6 +67,7 @@ export class StatisticsComponent implements OnInit { this.seoService.setDescription($localize`:@@meta.description.bitcoin.graphs.mempool:See mempool size (in MvB) and transactions per second (in vB/s) visualized over time.`); this.stateService.networkChanged$.subscribe((network) => this.network = network); this.graphWindowPreference = this.storageService.getValue('graphWindowPreference') ? this.storageService.getValue('graphWindowPreference').trim() : '2h'; + this.outlierCappingEnabled = this.storageService.getValue('cap-outliers') === 'true'; this.radioGroupForm = this.formBuilder.group({ dateSpan: this.graphWindowPreference @@ -212,6 +213,7 @@ export class StatisticsComponent implements OnInit { onOutlierToggleChange(e): void { this.outlierCappingEnabled = e.target.checked; + this.storageService.setValue('cap-outliers', e.target.checked); } onSaveChart(name) { From 4cd8d70de56d511c04aba8f5ea27e6cd0bfba28e Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 15 Nov 2023 18:47:56 +0900 Subject: [PATCH 180/639] cleanup if/else --- .../incoming-transactions-graph.component.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts b/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts index f6d2de5df..10fe22067 100644 --- a/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts +++ b/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts @@ -256,13 +256,11 @@ export class IncomingTransactionsGraphComponent implements OnInit, OnChanges, On ], yAxis: { max: (value) => { - if (!this.outlierCappingEnabled) { + if (!this.outlierCappingEnabled || value.max < this.medianVbytesPerSecond * OUTLIERS_MEDIAN_MULTIPLIER) { return undefined; + } else { + return Math.round(this.medianVbytesPerSecond * OUTLIERS_MEDIAN_MULTIPLIER); } - if (value.max < this.medianVbytesPerSecond * OUTLIERS_MEDIAN_MULTIPLIER) { - return undefined; - } - return Math.round(this.medianVbytesPerSecond * OUTLIERS_MEDIAN_MULTIPLIER); }, type: 'value', axisLabel: { From a63e68e9e33a6eaf2a4097dcac09aa13ed3cc094 Mon Sep 17 00:00:00 2001 From: shubham Date: Thu, 16 Nov 2023 12:38:54 +0530 Subject: [PATCH 181/639] Change ZEUS Logo --- contributors/shubhamkmr04.txt | 3 +++ .../app/components/about/about.component.html | 4 ++-- frontend/src/resources/profile/zeus.png | Bin 19695 -> 101768 bytes 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 contributors/shubhamkmr04.txt diff --git a/contributors/shubhamkmr04.txt b/contributors/shubhamkmr04.txt new file mode 100644 index 000000000..ab7e49e0b --- /dev/null +++ b/contributors/shubhamkmr04.txt @@ -0,0 +1,3 @@ +I hereby accept the terms of the Contributor License Agreement in the CONTRIBUTING.md file of the mempool/mempool git repository as of November 15, 2023. + +Signed: shubhamkmr04 \ No newline at end of file diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index ad05b7d71..48ee85c62 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -299,9 +299,9 @@ Blixt - + - Zeus + ZEUS diff --git a/frontend/src/resources/profile/zeus.png b/frontend/src/resources/profile/zeus.png index de7f54f550d2c0e676f68a227b6a19ceb91dbac7..363b93b66cdb48b69b1caaad7d2881c5af991343 100644 GIT binary patch literal 101768 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%0Ar?~iU-NG==?7-rscy@ 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 Date: Fri, 17 Nov 2023 02:22:57 +0000 Subject: [PATCH 182/639] Round memory usage to 3sf --- .../src/app/dashboard/dashboard.component.html | 2 +- .../src/app/shared/pipes/bytes-pipe/bytes.pipe.ts | 14 +++++++++----- frontend/src/app/shared/pipes/bytes-pipe/utils.ts | 4 ++++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index fdd2131fe..2e2e4bccc 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -237,7 +237,7 @@

diff --git a/frontend/src/app/shared/pipes/bytes-pipe/bytes.pipe.ts b/frontend/src/app/shared/pipes/bytes-pipe/bytes.pipe.ts index f8ea4d4b6..83fc2433d 100644 --- a/frontend/src/app/shared/pipes/bytes-pipe/bytes.pipe.ts +++ b/frontend/src/app/shared/pipes/bytes-pipe/bytes.pipe.ts @@ -1,6 +1,6 @@ /* tslint:disable */ import { Pipe, PipeTransform } from '@angular/core'; -import { isNumberFinite, isPositive, isInteger, toDecimal } from './utils'; +import { isNumberFinite, isPositive, isInteger, toDecimal, toSigFigs } from './utils'; export type ByteUnit = 'B' | 'kB' | 'MB' | 'GB' | 'TB'; @@ -17,7 +17,7 @@ export class BytesPipe implements PipeTransform { 'TB': {max: Number.MAX_SAFE_INTEGER, prev: 'GB'} }; - transform(input: any, decimal: number = 0, from: ByteUnit = 'B', to?: ByteUnit): any { + transform(input: any, decimal: number = 0, from: ByteUnit = 'B', to?: ByteUnit, sigfigs?: number): any { if (!(isNumberFinite(input) && isNumberFinite(decimal) && @@ -33,10 +33,14 @@ export class BytesPipe implements PipeTransform { unit = BytesPipe.formats[unit].prev!; } + let numberFormat = sigfigs == null ? + (number) => toDecimal(number, decimal).toString() : + (number) => toSigFigs(number, sigfigs); + if (to) { const format = BytesPipe.formats[to]; - const result = toDecimal(BytesPipe.calculateResult(format, bytes), decimal); + const result = numberFormat(BytesPipe.calculateResult(format, bytes)); return BytesPipe.formatResult(result, to); } @@ -45,14 +49,14 @@ export class BytesPipe implements PipeTransform { const format = BytesPipe.formats[key]; if (bytes < format.max) { - const result = toDecimal(BytesPipe.calculateResult(format, bytes), decimal); + const result = numberFormat(BytesPipe.calculateResult(format, bytes)); return BytesPipe.formatResult(result, key); } } } - static formatResult(result: number, unit: string): string { + static formatResult(result: string, unit: string): string { return `${result} ${unit}`; } diff --git a/frontend/src/app/shared/pipes/bytes-pipe/utils.ts b/frontend/src/app/shared/pipes/bytes-pipe/utils.ts index 2700be45d..7c88c83bc 100644 --- a/frontend/src/app/shared/pipes/bytes-pipe/utils.ts +++ b/frontend/src/app/shared/pipes/bytes-pipe/utils.ts @@ -54,6 +54,10 @@ export function toDecimal(value: number, decimal: number): number { return Math.round(value * Math.pow(10, decimal)) / Math.pow(10, decimal); } +export function toSigFigs(value: number, sigFigs: number): string { + return value >= Math.pow(10, sigFigs - 1) ? Math.round(value).toString() : value.toPrecision(sigFigs); +} + export function upperFirst(value: string): string { return value.slice(0, 1).toUpperCase() + value.slice(1); } From 7717c15666bae20af8a04f45bb84c7a00beeb709 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 17 Nov 2023 03:49:31 +0000 Subject: [PATCH 183/639] Fix electrum p2pk/scripthash format --- backend/src/api/bitcoin/bitcoin.routes.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/src/api/bitcoin/bitcoin.routes.ts b/backend/src/api/bitcoin/bitcoin.routes.ts index 1d766a407..4e9a83d2c 100644 --- a/backend/src/api/bitcoin/bitcoin.routes.ts +++ b/backend/src/api/bitcoin/bitcoin.routes.ts @@ -573,7 +573,9 @@ class BitcoinRoutes { } try { - const addressData = await bitcoinApi.$getScriptHash(req.params.scripthash); + // electrum expects scripthashes in little-endian + const electrumScripthash = req.params.scripthash.match(/../g)?.reverse().join('') ?? ''; + const addressData = await bitcoinApi.$getScriptHash(electrumScripthash); res.json(addressData); } catch (e) { if (e instanceof Error && e.message && (e.message.indexOf('too long') > 0 || e.message.indexOf('confirmed status') > 0)) { @@ -590,11 +592,13 @@ class BitcoinRoutes { } try { + // electrum expects scripthashes in little-endian + const electrumScripthash = req.params.scripthash.match(/../g)?.reverse().join('') ?? ''; let lastTxId: string = ''; if (req.query.after_txid && typeof req.query.after_txid === 'string') { lastTxId = req.query.after_txid; } - const transactions = await bitcoinApi.$getScriptHashTransactions(req.params.scripthash, lastTxId); + const transactions = await bitcoinApi.$getScriptHashTransactions(electrumScripthash, lastTxId); res.json(transactions); } catch (e) { if (e instanceof Error && e.message && (e.message.indexOf('too long') > 0 || e.message.indexOf('confirmed status') > 0)) { From 6ac328c97904a486c631c29a1b89ab02803ab46c Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 17 Nov 2023 07:06:44 +0000 Subject: [PATCH 184/639] More verbose RBF cache check logs --- backend/src/api/rbf-cache.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/src/api/rbf-cache.ts b/backend/src/api/rbf-cache.ts index 708393083..ad1762485 100644 --- a/backend/src/api/rbf-cache.ts +++ b/backend/src/api/rbf-cache.ts @@ -480,14 +480,15 @@ class RbfCache { }; if (config.MEMPOOL.BACKEND === 'esplora') { + let processedCount = 0; const sliceLength = Math.ceil(config.ESPLORA.BATCH_QUERY_BASE_SIZE / 40); for (let i = 0; i < Math.ceil(txids.length / sliceLength); i++) { const slice = txids.slice(i * sliceLength, (i + 1) * sliceLength); + processedCount += slice.length; try { const txs = await bitcoinApi.$getRawTransactions(slice); - logger.debug(`fetched ${slice.length} cached rbf transactions`); processTxs(txs); - logger.debug(`processed ${slice.length} cached rbf transactions`); + logger.debug(`fetched and processed ${processedCount} of ${txids.length} cached rbf transactions (${(processedCount / txids.length * 100).toFixed(2)}%)`); } catch (err) { logger.err(`failed to fetch or process ${slice.length} cached rbf transactions`); } From 76a07315f3206c66b720171f07debae7b60c3d05 Mon Sep 17 00:00:00 2001 From: ncois Date: Thu, 16 Nov 2023 18:36:49 +0100 Subject: [PATCH 185/639] Fix P2PK balance display in address page --- contributors/ncois.txt | 3 ++ .../transactions-list.component.ts | 46 +++++++++++++++---- 2 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 contributors/ncois.txt diff --git a/contributors/ncois.txt b/contributors/ncois.txt new file mode 100644 index 000000000..04a436613 --- /dev/null +++ b/contributors/ncois.txt @@ -0,0 +1,3 @@ +I hereby accept the terms of the Contributor License Agreement in the CONTRIBUTING.md file of the mempool/mempool git repository as of November 16, 2023. + +Signed: ncois diff --git a/frontend/src/app/components/transactions-list/transactions-list.component.ts b/frontend/src/app/components/transactions-list/transactions-list.component.ts index d066d3583..da9bdfe04 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.ts +++ b/frontend/src/app/components/transactions-list/transactions-list.component.ts @@ -156,17 +156,45 @@ export class TransactionsListComponent implements OnInit, OnChanges { } if (this.address) { - const addressIn = tx.vout - .filter((v: Vout) => v.scriptpubkey_address === this.address) - .map((v: Vout) => v.value || 0) - .reduce((a: number, b: number) => a + b, 0); + const isP2PKUncompressed = this.address.length === 130; + const isP2PKCompressed = this.address.length === 66; + if (isP2PKCompressed) { + const addressIn = tx.vout + .filter((v: Vout) => v.scriptpubkey === '21' + this.address + 'ac') + .map((v: Vout) => v.value || 0) + .reduce((a: number, b: number) => a + b, 0); - const addressOut = tx.vin - .filter((v: Vin) => v.prevout && v.prevout.scriptpubkey_address === this.address) - .map((v: Vin) => v.prevout.value || 0) - .reduce((a: number, b: number) => a + b, 0); + const addressOut = tx.vin + .filter((v: Vin) => v.prevout && v.prevout.scriptpubkey === '21' + this.address + 'ac') + .map((v: Vin) => v.prevout.value || 0) + .reduce((a: number, b: number) => a + b, 0); - tx['addressValue'] = addressIn - addressOut; + tx['addressValue'] = addressIn - addressOut; + } else if (isP2PKUncompressed) { + const addressIn = tx.vout + .filter((v: Vout) => v.scriptpubkey === '41' + this.address + 'ac') + .map((v: Vout) => v.value || 0) + .reduce((a: number, b: number) => a + b, 0); + + const addressOut = tx.vin + .filter((v: Vin) => v.prevout && v.prevout.scriptpubkey === '41' + this.address + 'ac') + .map((v: Vin) => v.prevout.value || 0) + .reduce((a: number, b: number) => a + b, 0); + + tx['addressValue'] = addressIn - addressOut; + } else { + const addressIn = tx.vout + .filter((v: Vout) => v.scriptpubkey_address === this.address) + .map((v: Vout) => v.value || 0) + .reduce((a: number, b: number) => a + b, 0); + + const addressOut = tx.vin + .filter((v: Vin) => v.prevout && v.prevout.scriptpubkey_address === this.address) + .map((v: Vin) => v.prevout.value || 0) + .reduce((a: number, b: number) => a + b, 0); + + tx['addressValue'] = addressIn - addressOut; + } } this.priceService.getBlockPrice$(tx.status.block_time).pipe( From 9d0bfdfa88e22e64a192ef702bf7b017f6683233 Mon Sep 17 00:00:00 2001 From: ncois Date: Fri, 17 Nov 2023 13:47:28 +0100 Subject: [PATCH 186/639] Increase tooltip width in mempool graphs --- .../incoming-transactions-graph.component.ts | 2 +- .../app/components/mempool-graph/mempool-graph.component.ts | 2 +- frontend/src/styles.scss | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts b/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts index 10fe22067..620e26857 100644 --- a/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts +++ b/frontend/src/app/components/incoming-transactions-graph/incoming-transactions-graph.component.ts @@ -209,7 +209,7 @@ export class IncomingTransactionsGraphComponent implements OnInit, OnChanges, On obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 80; return obj; }, - extraCssText: `width: ${(['2h', '24h'].includes(this.windowPreference) || this.template === 'widget') ? '125px' : '135px'}; + extraCssText: `width: ${(['2h', '24h'].includes(this.windowPreference) || this.template === 'widget') ? '125px' : '215px'}; background: transparent; border: none; box-shadow: none;`, diff --git a/frontend/src/app/components/mempool-graph/mempool-graph.component.ts b/frontend/src/app/components/mempool-graph/mempool-graph.component.ts index 435711e48..43a58a420 100644 --- a/frontend/src/app/components/mempool-graph/mempool-graph.component.ts +++ b/frontend/src/app/components/mempool-graph/mempool-graph.component.ts @@ -230,7 +230,7 @@ export class MempoolGraphComponent implements OnInit, OnChanges { positions[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 100; return positions; }, - extraCssText: `width: ${(this.template === 'advanced') ? '275px' : '200px'}; + extraCssText: `width: ${(this.template === 'advanced') ? '310px' : '200px'}; background: transparent; border: none; box-shadow: none;`, diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index 078b6b30a..e4e8220b0 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -519,7 +519,7 @@ html:lang(ru) .card-title { .fees-wrapper-tooltip-chart-advanced, .tx-wrapper-tooltip-chart-advanced { background: rgba(#1d1f31, 0.98); - width: 275px; + width: 310px; thead { th { @@ -606,7 +606,7 @@ html:lang(ru) .card-title { } .tx-wrapper-tooltip-chart-advanced { - width: 140px; + width: 215px; .indicator-container { .indicator { margin-right: 5px; From 5e45d8f3bc10c8194405ad0ec1273aed2466120f Mon Sep 17 00:00:00 2001 From: wiz Date: Sat, 18 Nov 2023 12:19:48 +0900 Subject: [PATCH 187/639] ops: Set nginx no-cache headers for /api/v1/services/account --- production/nginx/location-api-v1-services.conf | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/production/nginx/location-api-v1-services.conf b/production/nginx/location-api-v1-services.conf index 4759fe1ec..813807bb0 100644 --- a/production/nginx/location-api-v1-services.conf +++ b/production/nginx/location-api-v1-services.conf @@ -1,3 +1,15 @@ +location /api/v1/services/account { + proxy_pass $mempoolSpaceServices; + expires -1; + add_header 'Pragma' 'no-cache'; + add_header 'Cache-Control' 'private, no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; + proxy_hide_header Cache-Control; + proxy_hide_header Expires; + proxy_hide_header onion-location; + proxy_hide_header strict-transport-security; + proxy_hide_header content-security-policy; + proxy_hide_header x-frame-options; +} location /api/v1/services { proxy_pass $mempoolSpaceServices; proxy_cache services; From 82a43e25e0dd0020a96e42cc109885befd6ae29d Mon Sep 17 00:00:00 2001 From: wiz Date: Sat, 18 Nov 2023 12:40:39 +0900 Subject: [PATCH 188/639] ops: Set nginx no-cache headers for /api/v1/services/auth --- production/nginx/location-api-v1-services.conf | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/production/nginx/location-api-v1-services.conf b/production/nginx/location-api-v1-services.conf index 813807bb0..f35205041 100644 --- a/production/nginx/location-api-v1-services.conf +++ b/production/nginx/location-api-v1-services.conf @@ -10,6 +10,18 @@ location /api/v1/services/account { proxy_hide_header content-security-policy; proxy_hide_header x-frame-options; } +location /api/v1/services/auth { + proxy_pass $mempoolSpaceServices; + expires -1; + add_header 'Pragma' 'no-cache'; + add_header 'Cache-Control' 'private, no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; + proxy_hide_header Cache-Control; + proxy_hide_header Expires; + proxy_hide_header onion-location; + proxy_hide_header strict-transport-security; + proxy_hide_header content-security-policy; + proxy_hide_header x-frame-options; +} location /api/v1/services { proxy_pass $mempoolSpaceServices; proxy_cache services; From 407049258470c10d48abe54261b3cebc74e63060 Mon Sep 17 00:00:00 2001 From: wiz Date: Sat, 18 Nov 2023 13:22:17 +0900 Subject: [PATCH 189/639] ops: Set nginx to ignore Pragma header for no-cache endpoints --- production/nginx/location-api-v1-services.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/production/nginx/location-api-v1-services.conf b/production/nginx/location-api-v1-services.conf index f35205041..d3f233da8 100644 --- a/production/nginx/location-api-v1-services.conf +++ b/production/nginx/location-api-v1-services.conf @@ -5,6 +5,7 @@ location /api/v1/services/account { add_header 'Cache-Control' 'private, no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; proxy_hide_header Cache-Control; proxy_hide_header Expires; + proxy_hide_header Pragma; proxy_hide_header onion-location; proxy_hide_header strict-transport-security; proxy_hide_header content-security-policy; @@ -17,6 +18,7 @@ location /api/v1/services/auth { add_header 'Cache-Control' 'private, no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; proxy_hide_header Cache-Control; proxy_hide_header Expires; + proxy_hide_header Pragma; proxy_hide_header onion-location; proxy_hide_header strict-transport-security; proxy_hide_header content-security-policy; From 2c820f1cc0e67b571470c48c9782bf125b27f50e Mon Sep 17 00:00:00 2001 From: wiz Date: Sat, 18 Nov 2023 15:09:02 +0900 Subject: [PATCH 190/639] ops: Rewrite nginx config for new services API endpoints --- .../nginx/location-api-v1-services.conf | 252 ++++++++++-------- production/nginx/location-api.conf | 4 +- 2 files changed, 146 insertions(+), 110 deletions(-) diff --git a/production/nginx/location-api-v1-services.conf b/production/nginx/location-api-v1-services.conf index d3f233da8..3efff38e4 100644 --- a/production/nginx/location-api-v1-services.conf +++ b/production/nginx/location-api-v1-services.conf @@ -1,122 +1,158 @@ -location /api/v1/services/account { - proxy_pass $mempoolSpaceServices; - expires -1; - add_header 'Pragma' 'no-cache'; - add_header 'Cache-Control' 'private, no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; - proxy_hide_header Cache-Control; - proxy_hide_header Expires; - proxy_hide_header Pragma; - proxy_hide_header onion-location; - proxy_hide_header strict-transport-security; - proxy_hide_header content-security-policy; - proxy_hide_header x-frame-options; -} -location /api/v1/services/auth { - proxy_pass $mempoolSpaceServices; - expires -1; - add_header 'Pragma' 'no-cache'; - add_header 'Cache-Control' 'private, no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; - proxy_hide_header Cache-Control; - proxy_hide_header Expires; - proxy_hide_header Pragma; - proxy_hide_header onion-location; - proxy_hide_header strict-transport-security; - proxy_hide_header content-security-policy; - proxy_hide_header x-frame-options; -} -location /api/v1/services { - proxy_pass $mempoolSpaceServices; - proxy_cache services; - proxy_cache_background_update on; - proxy_cache_use_stale updating; - proxy_cache_valid 200 1d; - expires 1d; - proxy_hide_header onion-location; - proxy_hide_header strict-transport-security; - proxy_hide_header content-security-policy; - proxy_hide_header x-frame-options; -} -location /api/v1/contributors/images { - proxy_pass $mempoolSpaceServices; - proxy_cache services; - proxy_cache_background_update on; - proxy_cache_use_stale updating; - proxy_cache_valid 200 1w; - expires 1w; - proxy_hide_header onion-location; - proxy_hide_header strict-transport-security; - proxy_hide_header content-security-policy; - proxy_hide_header x-frame-options; +########### +# routing # +########### + +location /api/v1/assets { + try_files /dev/null @mempool-api-v1-services-cache-short; } location /api/v1/contributors { - proxy_pass $mempoolSpaceServices; - proxy_cache services; - proxy_cache_background_update on; - proxy_cache_use_stale updating; - proxy_cache_valid 200 1d; - expires 1d; - proxy_hide_header onion-location; - proxy_hide_header strict-transport-security; - proxy_hide_header content-security-policy; - proxy_hide_header x-frame-options; + try_files /dev/null @mempool-api-v1-services-cache-medium; } -location /api/v1/donations/images { - proxy_pass $mempoolSpaceServices; - proxy_cache services; - proxy_cache_background_update on; - proxy_cache_use_stale updating; - proxy_cache_valid 200 1w; - expires 1w; - proxy_hide_header onion-location; - proxy_hide_header strict-transport-security; - proxy_hide_header content-security-policy; - proxy_hide_header x-frame-options; +location /api/v1/contributors/images { + try_files /dev/null @mempool-api-v1-services-cache-long; } location /api/v1/donations { - proxy_pass $mempoolSpaceServices; - proxy_cache services; - proxy_cache_background_update on; - proxy_cache_use_stale updating; - proxy_cache_valid 200 1d; - expires 1d; - proxy_hide_header onion-location; - proxy_hide_header strict-transport-security; - proxy_hide_header content-security-policy; - proxy_hide_header x-frame-options; + try_files /dev/null @mempool-api-v1-services-cache-medium; } -location /api/v1/translators/images { - proxy_pass $mempoolSpaceServices; - proxy_cache services; - proxy_cache_background_update on; - proxy_cache_use_stale updating; - proxy_cache_valid 200 1w; - expires 1w; - proxy_hide_header onion-location; - proxy_hide_header strict-transport-security; - proxy_hide_header content-security-policy; - proxy_hide_header x-frame-options; +location /api/v1/donations/images { + try_files /dev/null @mempool-api-v1-services-cache-long; } location /api/v1/translators { + try_files /dev/null @mempool-api-v1-services-cache-medium; +} +location /api/v1/translators/images { + try_files /dev/null @mempool-api-v1-services-cache-long; +} +location /api/v1/services/internal/ { + return 403; +} +location /api/v1/services/ { + try_files /dev/null @mempool-api-v1-services-cache-disabled; +} + +########### +# caching # +########### + +location @mempool-api-v1-services-cache-disabled { + proxy_pass $mempoolSpaceServices; + + # remove these just in case double proxied + proxy_hide_header Onion-Location; + proxy_hide_header Strict-Transport-Security; + proxy_hide_header Content-Security-Policy; + proxy_hide_header X-Frame-Options; + + # remove cache headers from services backend + proxy_hide_header Cache-Control; + proxy_hide_header Expires; + proxy_hide_header Pragma; + + # pass these headers to services backend + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # add our own cache headers + add_header 'Pragma' 'no-cache'; + add_header 'Cache-Control' 'private, no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; + + proxy_redirect off; + proxy_buffering off; + + expires -1; +} + +location @mempool-api-v1-services-cache-short { proxy_pass $mempoolSpaceServices; proxy_cache services; - proxy_cache_background_update on; - proxy_cache_use_stale updating; - proxy_cache_valid 200 1d; - expires 1d; - proxy_hide_header onion-location; - proxy_hide_header strict-transport-security; - proxy_hide_header content-security-policy; - proxy_hide_header x-frame-options; + proxy_redirect off; + + # remove these just in case double proxied + proxy_hide_header Onion-Location; + proxy_hide_header Strict-Transport-Security; + proxy_hide_header Content-Security-Policy; + proxy_hide_header X-Frame-Options; + + # pass these headers to services backend + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # remove cache headers from services backend + proxy_hide_header Cache-Control; + proxy_hide_header Expires; + proxy_hide_header Pragma; + + # add our own cache headers + add_header 'Pragma' 'public'; + add_header 'Cache-Control' 'public'; + expires 2s; + + # server-side cache validity + proxy_cache_valid 200 2s; } -location /api/v1/assets { + +location @mempool-api-v1-services-cache-medium { proxy_pass $mempoolSpaceServices; proxy_cache services; - proxy_cache_background_update on; - proxy_cache_use_stale updating; - proxy_cache_valid 200 10m; - expires 10m; - proxy_hide_header onion-location; - proxy_hide_header strict-transport-security; - proxy_hide_header content-security-policy; - proxy_hide_header x-frame-options; + proxy_redirect off; + + # remove these just in case double proxied + proxy_hide_header Onion-Location; + proxy_hide_header Strict-Transport-Security; + proxy_hide_header Content-Security-Policy; + proxy_hide_header X-Frame-Options; + + # pass these headers to services backend + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # remove cache headers from services backend + proxy_hide_header Cache-Control; + proxy_hide_header Expires; + proxy_hide_header Pragma; + + # add our own cache headers + add_header 'Pragma' 'public'; + add_header 'Cache-Control' 'public'; + expires 7d; + + # server-side cache validity + proxy_cache_valid 200 7d; +} + +location @mempool-api-v1-services-cache-long { + proxy_pass $mempoolSpaceServices; + proxy_cache services; + proxy_redirect off; + + # remove these just in case double proxied + proxy_hide_header Onion-Location; + proxy_hide_header Strict-Transport-Security; + proxy_hide_header Content-Security-Policy; + proxy_hide_header X-Frame-Options; + + # pass these headers to services backend + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # remove cache headers from services backend + proxy_hide_header Cache-Control; + proxy_hide_header Expires; + proxy_hide_header Pragma; + + # add our own cache headers + add_header 'Pragma' 'public'; + add_header 'Cache-Control' 'public'; + expires 30d; + + # server-side cache validity + proxy_cache_valid 200 30d; } diff --git a/production/nginx/location-api.conf b/production/nginx/location-api.conf index 71afa295a..b8c79cd50 100644 --- a/production/nginx/location-api.conf +++ b/production/nginx/location-api.conf @@ -4,10 +4,10 @@ # Block the internal APIs of esplora location /api/internal/ { - return 404; + return 403; } location /api/v1/internal/ { - return 404; + return 403; } # websocket has special HTTP headers From 15cba58144931d377a27fd0fe5ae4466274c420a Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 18 Nov 2023 15:20:53 +0900 Subject: [PATCH 191/639] /image -> /images --- frontend/src/app/components/about/about.component.html | 4 ++-- .../src/app/components/master-page/master-page.component.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index a5d79f285..b1f1a50ef 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -193,7 +193,7 @@ - + @@ -205,7 +205,7 @@ diff --git a/frontend/src/app/components/master-page/master-page.component.html b/frontend/src/app/components/master-page/master-page.component.html index 748055ea8..31a7327f8 100644 --- a/frontend/src/app/components/master-page/master-page.component.html +++ b/frontend/src/app/components/master-page/master-page.component.html @@ -5,7 +5,7 @@
- +
From 88e5f8a6af68439d1d102ee05bf38eff003d7ef2 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 18 Nov 2023 17:15:04 +0900 Subject: [PATCH 192/639] remove upgrade link when feature not available --- .../shared/components/mempool-error/mempool-error.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts b/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts index 19e057950..d7f1d265d 100644 --- a/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts +++ b/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts @@ -13,7 +13,7 @@ const MempoolErrors = { 'invalid_tx_dependencies': `This transaction dependencies are not valid.`, 'mempool_rejected_raw_tx': `Our mempool rejected this transaction`, 'no_mining_pool_available': `No mining pool available at the moment`, - 'not_available': `You current subscription does not allow you to access this feature. Consider upgrading.`, + 'not_available': `You current subscription does not allow you to access this feature.`, 'not_enough_balance': `Your account balance is too low. Please make a deposit.`, 'not_verified': `You must verify your account to use this feature.`, 'recommended_fees_not_available': `Recommended fees are not available right now.`, From 6d920e0ed3d59bb3f46643a6d8fe49d607548413 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 18 Nov 2023 18:36:17 +0900 Subject: [PATCH 193/639] [accelerator] hide accelerate banner --- .../app/components/transaction/transaction.component.html | 5 ++--- .../src/app/components/transaction/transaction.component.ts | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 6d65d159a..3e9c2bf52 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -6,7 +6,7 @@
-
diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.ts b/frontend/src/app/components/accelerations-list/accelerations-list.component.ts index 0b1cdd3ba..70dbd03f0 100644 --- a/frontend/src/app/components/accelerations-list/accelerations-list.component.ts +++ b/frontend/src/app/components/accelerations-list/accelerations-list.component.ts @@ -39,7 +39,7 @@ export class AccelerationsListComponent implements OnInit { this.skeletonLines = this.widget === true ? [...Array(6).keys()] : [...Array(15).keys()]; this.paginationMaxSize = window.matchMedia('(max-width: 670px)').matches ? 3 : 5; - this.accelerations$ = this.apiService.getAccelerations$('24h').pipe( + this.accelerations$ = this.apiService.getAccelerations$().pipe( switchMap(accelerations => { if (this.widget) { return of(accelerations.slice(0, 6)); diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts index 499984d2e..aaf7be825 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts @@ -46,7 +46,7 @@ export class AcceleratorDashboardComponent implements OnInit { return of(blocks as AccelerationBlock[]); }) ), - this.apiService.getAccelerations$('24h').pipe( + this.apiService.getAccelerationHistory$('24h').pipe( catchError((err) => { this.loadingBlocks = false; return of([]); @@ -56,11 +56,11 @@ export class AcceleratorDashboardComponent implements OnInit { switchMap(([blocks, accelerations]) => { const accelerationsByBlock: { [ hash: string ]: Acceleration[] } = {}; for (const acceleration of accelerations) { - if (acceleration.mined && !accelerationsByBlock[acceleration.block_hash]) { - accelerationsByBlock[acceleration.block_hash] = []; + if (acceleration.mined && !accelerationsByBlock[acceleration.blockHash]) { + accelerationsByBlock[acceleration.blockHash] = []; } if (acceleration.mined) { - accelerationsByBlock[acceleration.block_hash].push(acceleration); + accelerationsByBlock[acceleration.blockHash].push(acceleration); } } return of(blocks.slice(0, 6).map(block => { From 7019e6ec0376b877a0b9480b0ea134b67b8d7440 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sat, 22 Jul 2023 15:43:52 +0900 Subject: [PATCH 299/639] Add acceleration fees graph --- .../acceleration-fees-graph.component.html | 71 ++++ .../acceleration-fees-graph.component.scss | 119 ++++++ .../acceleration-fees-graph.component.ts | 354 ++++++++++++++++++ 3 files changed, 544 insertions(+) create mode 100644 frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html create mode 100644 frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.scss create mode 100644 frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts diff --git a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html new file mode 100644 index 000000000..2cf3fbc0b --- /dev/null +++ b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html @@ -0,0 +1,71 @@ + + +
+
+
+ Acceleration Fees + +
+ +
+
+ + + + +
+ +
+ +
+
+
+
???
+

+ ??? +

+
+
+
???
+

+ ??? +

+
+
+
+ +
+
+
+
+
+ +
+ + +
+
+
???
+

+ +

+
+
+
???
+

+ +

+
+
+
diff --git a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.scss b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.scss new file mode 100644 index 000000000..2ffcc6374 --- /dev/null +++ b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.scss @@ -0,0 +1,119 @@ +.card-header { + border-bottom: 0; + font-size: 18px; + @media (min-width: 465px) { + font-size: 20px; + } + @media (min-width: 992px) { + height: 40px; + } +} + +.main-title { + position: relative; + color: #ffffff91; + margin-top: -13px; + font-size: 10px; + text-transform: uppercase; + font-weight: 500; + text-align: center; + padding-bottom: 3px; +} + +.full-container { + display: flex; + flex-direction: column; + padding: 0px 15px; + width: 100%; + height: calc(100vh - 250px); + @media (min-width: 992px) { + height: calc(100vh - 150px); + } +} + +.chart { + display: flex; + flex: 1; + width: 100%; + padding-bottom: 20px; + padding-right: 10px; + @media (max-width: 992px) { + padding-bottom: 25px; + } + @media (max-width: 829px) { + padding-bottom: 50px; + } + @media (max-width: 767px) { + padding-bottom: 25px; + } + @media (max-width: 629px) { + padding-bottom: 55px; + } + @media (max-width: 567px) { + padding-bottom: 55px; + } +} +.chart-widget { + width: 100%; + height: 100%; + max-height: 238px; +} + +.acceleration-fees { + min-height: 56px; + display: block; + @media (min-width: 485px) { + display: flex; + flex-direction: row; + } + h5 { + margin-bottom: 10px; + } + .item { + width: 50%; + display: inline-block; + margin: 0px auto 20px; + &:nth-child(2) { + order: 2; + @media (min-width: 485px) { + order: 3; + } + } + &:nth-child(3) { + order: 3; + @media (min-width: 485px) { + order: 2; + display: block; + } + @media (min-width: 768px) { + display: none; + } + @media (min-width: 992px) { + display: block; + } + } + .card-title { + font-size: 1rem; + color: #4a68b9; + } + .card-text { + font-size: 18px; + span { + color: #ffffff66; + font-size: 12px; + } + } + } +} + +.skeleton-loader { + width: 100%; + display: block; + max-width: 80px; + margin: 15px auto 3px; +} + +.disabled { + pointer-events: none; + opacity: 0.5; +} \ No newline at end of file diff --git a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts new file mode 100644 index 000000000..f666c8f31 --- /dev/null +++ b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts @@ -0,0 +1,354 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, LOCALE_ID, OnInit } from '@angular/core'; +import { EChartsOption, graphic } from 'echarts'; +import { Observable, combineLatest } from 'rxjs'; +import { map, startWith, switchMap, tap } from 'rxjs/operators'; +import { ApiService } from '../../services/api.service'; +import { SeoService } from '../../services/seo.service'; +import { formatNumber } from '@angular/common'; +import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; +import { download, formatterXAxis } from '../../shared/graphs.utils'; +import { StorageService } from '../../services/storage.service'; +import { MiningService } from '../../services/mining.service'; +import { ActivatedRoute } from '@angular/router'; + +@Component({ + selector: 'app-acceleration-fees-graph', + templateUrl: './acceleration-fees-graph.component.html', + styleUrls: ['./acceleration-fees-graph.component.scss'], + styles: [` + .loadingGraphs { + position: absolute; + top: 50%; + left: calc(50% - 15px); + z-index: 100; + } + `], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AccelerationFeesGraphComponent implements OnInit { + @Input() widget: boolean = false; + @Input() right: number | string = 45; + @Input() left: number | string = 75; + + miningWindowPreference: string; + radioGroupForm: UntypedFormGroup; + + chartOptions: EChartsOption = {}; + chartInitOptions = { + renderer: 'svg', + }; + + statsObservable$: Observable; + isLoading = true; + formatNumber = formatNumber; + timespan = ''; + chartInstance: any = undefined; + + currency: string; + + constructor( + @Inject(LOCALE_ID) public locale: string, + private seoService: SeoService, + private apiService: ApiService, + private formBuilder: UntypedFormBuilder, + private storageService: StorageService, + private miningService: MiningService, + private route: ActivatedRoute, + private cd: ChangeDetectorRef, + ) { + this.radioGroupForm = this.formBuilder.group({ dateSpan: '1y' }); + this.radioGroupForm.controls.dateSpan.setValue('1y'); + this.currency = 'USD'; + } + + ngOnInit(): void { + this.seoService.setTitle($localize`:@@6c453b11fd7bd159ae30bc381f367bc736d86909:Acceleration Fees`); + if (this.widget) { + this.miningWindowPreference = '1w'; + this.isLoading = true; + this.timespan = this.miningWindowPreference; + this.statsObservable$ = combineLatest([ + this.apiService.getAccelerationHistory$(this.miningWindowPreference), + this.apiService.getHistoricalBlockFees$(this.miningWindowPreference), + ]).pipe( + tap(([accelerations, blockFeesResponse]) => { + console.log(accelerations, blockFeesResponse.body); + this.prepareChartOptions(accelerations, blockFeesResponse.body); + this.isLoading = false; + }), + map(([accelerations, blockFeesResponse]) => { + return { + + }; + }), + ); + } else { + this.miningWindowPreference = this.miningService.getDefaultTimespan('1w'); + this.radioGroupForm = this.formBuilder.group({ dateSpan: this.miningWindowPreference }); + this.radioGroupForm.controls.dateSpan.setValue(this.miningWindowPreference); + this.route.fragment.subscribe((fragment) => { + if (['24h', '3d', '1w', '1m'].indexOf(fragment) > -1) { + this.radioGroupForm.controls.dateSpan.setValue(fragment, { emitEvent: false }); + } + }); + this.statsObservable$ = combineLatest([ + this.radioGroupForm.get('dateSpan').valueChanges.pipe( + startWith(this.radioGroupForm.controls.dateSpan.value), + switchMap((timespan) => { + this.isLoading = true; + this.storageService.setValue('miningWindowPreference', timespan); + this.timespan = timespan; + return this.apiService.getAccelerations$(); + }) + ), + this.radioGroupForm.get('dateSpan').valueChanges.pipe( + startWith(this.radioGroupForm.controls.dateSpan.value), + switchMap((timespan) => { + return this.apiService.getHistoricalBlockFees$(timespan); + }) + ) + ]).pipe( + tap(([accelerations, blockFeesResponse]) => { + this.prepareChartOptions(accelerations, blockFeesResponse.body); + this.isLoading = false; + this.cd.markForCheck(); + }), + map(([accelerations, blockFeesResponse]) => { + return { + + }; + }), + ); + } + } + + prepareChartOptions(accelerations, blockFees) { + let title: object; + + const blockAccelerations = {}; + + for (const acceleration of accelerations) { + if (acceleration.mined) { + if (!blockAccelerations[acceleration.block_height]) { + blockAccelerations[acceleration.block_height] = []; + } + blockAccelerations[acceleration.block_height].push(acceleration); + } + } + + let last = null; + const data = []; + for (const val of blockFees) { + if (last == null) { + last = val.avgHeight; + } + let totalFeeDelta = 0; + let totalCount = 0; + while (last <= val.avgHeight) { + totalFeeDelta += (blockAccelerations[last] || []).reduce((total, acc) => total + acc.feeDelta, 0); + totalCount += (blockAccelerations[last] || []).length; + last++; + } + data.push({ + ...val, + feeDelta: totalFeeDelta, + accelerations: totalCount, + }); + } + + this.chartOptions = { + title: title, + color: [ + new graphic.LinearGradient(0, 0, 0, 0.65, [ + { offset: 0, color: '#F4511E' }, + { offset: 0.25, color: '#FB8C00' }, + { offset: 0.5, color: '#FFB300' }, + { offset: 0.75, color: '#FDD835' }, + { offset: 1, color: '#7CB342' } + ]), + '#1E88E5', + ], + animation: false, + grid: { + right: this.right, + left: this.left, + bottom: this.widget ? 30 : 80, + top: this.widget ? 20 : (this.isMobile() ? 10 : 50), + }, + tooltip: { + show: !this.isMobile(), + trigger: 'axis', + axisPointer: { + type: 'line' + }, + backgroundColor: 'rgba(17, 19, 31, 1)', + borderRadius: 4, + shadowColor: 'rgba(0, 0, 0, 0.5)', + textStyle: { + color: '#b1b1b1', + align: 'left', + }, + borderColor: '#000', + formatter: function (data) { + if (data.length <= 0) { + return ''; + } + let tooltip = ` + ${formatterXAxis(this.locale, this.timespan, parseInt(data[0].axisValue, 10))}
`; + + for (const tick of data) { + if (tick.seriesIndex === 0) { + tooltip += `${tick.marker} ${tick.seriesName}: ${formatNumber(tick.data[1], this.locale, '1.0-0')} sats
`; + } else if (tick.seriesIndex === 1) { + tooltip += `${tick.marker} ${tick.seriesName}: ${formatNumber(tick.data[1], this.locale, '1.0-0')}
`; + } + } + + if (['24h', '3d'].includes(this.timespan)) { + tooltip += `` + $localize`At block: ${data[0].data[2]}` + ``; + } else { + tooltip += `` + $localize`Around block: ${data[0].data[2]}` + ``; + } + + return tooltip; + }.bind(this) + }, + xAxis: data.length === 0 ? undefined : + { + type: 'time', + splitNumber: this.isMobile() ? 5 : 10, + axisLabel: { + hideOverlap: true, + } + }, + legend: (this.widget || data.length === 0) ? undefined : { + data: [ + { + name: 'Total fee delta', + inactiveColor: 'rgb(110, 112, 121)', + textStyle: { + color: 'white', + }, + icon: 'roundRect', + }, + { + name: 'Total accelerations', + inactiveColor: 'rgb(110, 112, 121)', + textStyle: { + color: 'white', + }, + icon: 'roundRect', + }, + ], + }, + yAxis: data.length === 0 ? undefined : [ + { + type: 'value', + axisLabel: { + color: 'rgb(110, 112, 121)', + formatter: (val) => { + return `${val / 100_000_000} BTC`; + } + }, + splitLine: { + lineStyle: { + type: 'dotted', + color: '#ffffff66', + opacity: 0.25, + } + }, + }, + { + type: 'value', + position: 'right', + axisLabel: { + color: 'rgb(110, 112, 121)', + formatter: function(val) { + return `${val}`; + }.bind(this) + }, + splitLine: { + show: false, + }, + }, + ], + series: data.length === 0 ? undefined : [ + { + legendHoverLink: false, + zlevel: 1, + yAxisIndex: 0, + name: 'Total fee delta', + data: data.map(block => [block.timestamp * 1000, block.feeDelta, block.avgHeight]), + type: 'line', + smooth: 0.25, + symbol: 'none', + lineStyle: { + width: 1, + opacity: 1, + } + }, + { + legendHoverLink: false, + zlevel: 0, + yAxisIndex: 1, + name: 'Total accelerations', + data: data.map(block => [block.timestamp * 1000, block.accelerations, block.avgHeight]), + type: 'bar', + barWidth: '100%', + large: true, + }, + ], + dataZoom: (this.widget || data.length === 0 )? undefined : [{ + type: 'inside', + realtime: true, + zoomLock: true, + maxSpan: 100, + minSpan: 5, + moveOnMouseMove: false, + }, { + showDetail: false, + show: true, + type: 'slider', + brushSelect: false, + realtime: true, + left: 20, + right: 15, + selectedDataBackground: { + lineStyle: { + color: '#fff', + opacity: 0.45, + }, + areaStyle: { + opacity: 0, + } + }, + }], + }; + } + + onChartInit(ec) { + this.chartInstance = ec; + } + + isMobile() { + return (window.innerWidth <= 767.98); + } + + onSaveChart() { + // @ts-ignore + const prevBottom = this.chartOptions.grid.bottom; + const now = new Date(); + // @ts-ignore + this.chartOptions.grid.bottom = 40; + this.chartOptions.backgroundColor = '#11131f'; + this.chartInstance.setOption(this.chartOptions); + download(this.chartInstance.getDataURL({ + pixelRatio: 2, + excludeComponents: ['dataZoom'], + }), `acceleration-fees-${this.timespan}-${Math.round(now.getTime() / 1000)}.svg`); + // @ts-ignore + this.chartOptions.grid.bottom = prevBottom; + this.chartOptions.backgroundColor = 'none'; + this.chartInstance.setOption(this.chartOptions); + } +} From b0e73466fa57bd79a5058ac7baa2c9abb0cf56da Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 26 Jul 2023 15:22:24 +0900 Subject: [PATCH 300/639] Show mining blockchain blocks on accelerator dashboard --- .../components/blockchain-blocks/blockchain-blocks.component.ts | 2 +- .../app/components/mempool-blocks/mempool-blocks.component.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts index ba066d10a..0da8ca7b5 100644 --- a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts +++ b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts @@ -79,7 +79,7 @@ export class BlockchainBlocksComponent implements OnInit, OnChanges, OnDestroy { } enabledMiningInfoIfNeeded(url) { - this.showMiningInfo = url.indexOf('/mining') !== -1; + this.showMiningInfo = url.includes('/mining') || url.includes('/acceleration'); this.cd.markForCheck(); // Need to update the view asap } diff --git a/frontend/src/app/components/mempool-blocks/mempool-blocks.component.ts b/frontend/src/app/components/mempool-blocks/mempool-blocks.component.ts index 0ddbbd4b7..61e62f642 100644 --- a/frontend/src/app/components/mempool-blocks/mempool-blocks.component.ts +++ b/frontend/src/app/components/mempool-blocks/mempool-blocks.component.ts @@ -90,7 +90,7 @@ export class MempoolBlocksComponent implements OnInit, OnChanges, OnDestroy { ) { } enabledMiningInfoIfNeeded(url) { - this.showMiningInfo = url.indexOf('/mining') !== -1; + this.showMiningInfo = url.includes('/mining') || url.includes('/acceleration'); this.cd.markForCheck(); // Need to update the view asap } From f26b630aabd062ec426df16635190db8624753b0 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 30 Aug 2023 22:24:27 +0900 Subject: [PATCH 301/639] Fix acceleration dashboard merge issues --- .../acceleration-fees-graph.component.ts | 10 +++++----- .../accelerations-list.component.html | 1 + .../accelerations-list/accelerations-list.component.ts | 6 +++--- .../accelerator-dashboard.component.ts | 4 ++-- frontend/src/app/graphs/graphs.routing.module.ts | 6 ++++++ 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts index f666c8f31..bba0cbc3e 100644 --- a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts +++ b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts @@ -98,7 +98,7 @@ export class AccelerationFeesGraphComponent implements OnInit { this.isLoading = true; this.storageService.setValue('miningWindowPreference', timespan); this.timespan = timespan; - return this.apiService.getAccelerations$(); + return this.apiService.getAccelerationHistory$(); }) ), this.radioGroupForm.get('dateSpan').valueChanges.pipe( @@ -128,11 +128,11 @@ export class AccelerationFeesGraphComponent implements OnInit { const blockAccelerations = {}; for (const acceleration of accelerations) { - if (acceleration.mined) { - if (!blockAccelerations[acceleration.block_height]) { - blockAccelerations[acceleration.block_height] = []; + if (acceleration.status === 'mined' || acceleration.status === 'completed') { + if (!blockAccelerations[acceleration.blockHeight]) { + blockAccelerations[acceleration.blockHeight] = []; } - blockAccelerations[acceleration.block_height].push(acceleration); + blockAccelerations[acceleration.blockHeight].push(acceleration); } } diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/accelerations-list/accelerations-list.component.html index 4b37f28c0..80f1c1dbf 100644 --- a/frontend/src/app/components/accelerations-list/accelerations-list.component.html +++ b/frontend/src/app/components/accelerations-list/accelerations-list.component.html @@ -28,6 +28,7 @@ {{ acceleration.feeDelta | number }} sat
diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.ts b/frontend/src/app/components/accelerations-list/accelerations-list.component.ts index 70dbd03f0..efc900bd5 100644 --- a/frontend/src/app/components/accelerations-list/accelerations-list.component.ts +++ b/frontend/src/app/components/accelerations-list/accelerations-list.component.ts @@ -39,12 +39,12 @@ export class AccelerationsListComponent implements OnInit { this.skeletonLines = this.widget === true ? [...Array(6).keys()] : [...Array(15).keys()]; this.paginationMaxSize = window.matchMedia('(max-width: 670px)').matches ? 3 : 5; - this.accelerations$ = this.apiService.getAccelerations$().pipe( + this.accelerations$ = this.apiService.getAccelerationHistory$().pipe( switchMap(accelerations => { if (this.widget) { - return of(accelerations.slice(0, 6)); + return of(accelerations.slice(-6).reverse()); } else { - return of(accelerations); + return of(accelerations.reverse()); } }), catchError((err) => { diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts index aaf7be825..8257c3306 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts @@ -56,10 +56,10 @@ export class AcceleratorDashboardComponent implements OnInit { switchMap(([blocks, accelerations]) => { const accelerationsByBlock: { [ hash: string ]: Acceleration[] } = {}; for (const acceleration of accelerations) { - if (acceleration.mined && !accelerationsByBlock[acceleration.blockHash]) { + if (['mined', 'completed'].includes(acceleration.status) && !accelerationsByBlock[acceleration.blockHash]) { accelerationsByBlock[acceleration.blockHash] = []; } - if (acceleration.mined) { + if (['mined', 'completed'].includes(acceleration.status)) { accelerationsByBlock[acceleration.blockHash].push(acceleration); } } diff --git a/frontend/src/app/graphs/graphs.routing.module.ts b/frontend/src/app/graphs/graphs.routing.module.ts index a3e84db69..12eeb6e4c 100644 --- a/frontend/src/app/graphs/graphs.routing.module.ts +++ b/frontend/src/app/graphs/graphs.routing.module.ts @@ -18,6 +18,7 @@ import { StatisticsComponent } from '../components/statistics/statistics.compone import { TelevisionComponent } from '../components/television/television.component'; import { DashboardComponent } from '../dashboard/dashboard.component'; import { AccelerationFeesGraphComponent } from '../components/acceleration-fees-graph/acceleration-fees-graph.component'; +import { AccelerationsListComponent } from '../components/accelerations-list/accelerations-list.component'; const routes: Routes = [ { @@ -50,6 +51,11 @@ const routes: Routes = [ } ] }, + { + path: 'acceleration-list', + data: { networks: ['bitcoin'] }, + component: AccelerationsListComponent, + }, { path: 'mempool-block/:id', data: { networks: ['bitcoin', 'liquid'] }, From 472a76560f8edf6874b692064c8b3d8114a9e615 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 30 Aug 2023 22:25:33 +0900 Subject: [PATCH 302/639] Tidy acceleration dashboard, add missing fields --- .../acceleration-fees-graph.component.html | 42 +++++------ .../acceleration-fees-graph.component.ts | 70 ++++++++++++------- .../block-fee-rates-graph.component.html | 38 +++++----- .../block-fee-rates-graph.component.ts | 14 ++++ 4 files changed, 97 insertions(+), 67 deletions(-) diff --git a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html index 2cf3fbc0b..6a56ac6ca 100644 --- a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html +++ b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html @@ -28,17 +28,17 @@
-
-
-
???
+
+
+
Avg Fee Delta (24h)

- ??? + {{ stats.avgFeeDelta | number }} sat

-
-
???
+
+
Avg Fee Delta (1w)

- ??? + {{ stats.avgFeeDelta | number }} sat

@@ -53,19 +53,19 @@
- -
-
-
???
-

- -

-
-
-
???
-

- -

-
+ +
+
Avg Fee Delta (24h)
+

+ +

+
+
+ +
+
Avg Fee Delta (1w)
+

+ +

diff --git a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts index bba0cbc3e..ca3dde69c 100644 --- a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts +++ b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts @@ -38,6 +38,7 @@ export class AccelerationFeesGraphComponent implements OnInit { renderer: 'svg', }; + hrStatsObservable$: Observable; statsObservable$: Observable; isLoading = true; formatNumber = formatNumber; @@ -67,18 +68,26 @@ export class AccelerationFeesGraphComponent implements OnInit { this.miningWindowPreference = '1w'; this.isLoading = true; this.timespan = this.miningWindowPreference; + + this.hrStatsObservable$ = this.apiService.getAccelerationHistory$('24h').pipe( + map((accelerations) => { + return { + avgFeeDelta: accelerations.filter(acc => acc.status === 'mined' || acc.status === 'completed').reduce((total, acc) => total + acc.feeDelta, 0) / accelerations.length + }; + }) + ); + this.statsObservable$ = combineLatest([ this.apiService.getAccelerationHistory$(this.miningWindowPreference), this.apiService.getHistoricalBlockFees$(this.miningWindowPreference), ]).pipe( tap(([accelerations, blockFeesResponse]) => { - console.log(accelerations, blockFeesResponse.body); this.prepareChartOptions(accelerations, blockFeesResponse.body); this.isLoading = false; }), map(([accelerations, blockFeesResponse]) => { return { - + avgFeeDelta: accelerations.filter(acc => acc.status === 'mined' || acc.status === 'completed').reduce((total, acc) => total + acc.feeDelta, 0) / accelerations.length }; }), ); @@ -112,12 +121,7 @@ export class AccelerationFeesGraphComponent implements OnInit { this.prepareChartOptions(accelerations, blockFeesResponse.body); this.isLoading = false; this.cd.markForCheck(); - }), - map(([accelerations, blockFeesResponse]) => { - return { - - }; - }), + }) ); } } @@ -159,6 +163,7 @@ export class AccelerationFeesGraphComponent implements OnInit { this.chartOptions = { title: title, color: [ + '#1E88E5', new graphic.LinearGradient(0, 0, 0, 0.65, [ { offset: 0, color: '#F4511E' }, { offset: 0.25, color: '#FB8C00' }, @@ -166,7 +171,6 @@ export class AccelerationFeesGraphComponent implements OnInit { { offset: 0.75, color: '#FDD835' }, { offset: 1, color: '#7CB342' } ]), - '#1E88E5', ], animation: false, grid: { @@ -197,9 +201,9 @@ export class AccelerationFeesGraphComponent implements OnInit { ${formatterXAxis(this.locale, this.timespan, parseInt(data[0].axisValue, 10))}
`; for (const tick of data) { - if (tick.seriesIndex === 0) { + if (tick.seriesIndex === 1) { tooltip += `${tick.marker} ${tick.seriesName}: ${formatNumber(tick.data[1], this.locale, '1.0-0')} sats
`; - } else if (tick.seriesIndex === 1) { + } else if (tick.seriesIndex === 0) { tooltip += `${tick.marker} ${tick.seriesName}: ${formatNumber(tick.data[1], this.locale, '1.0-0')}
`; } } @@ -224,17 +228,17 @@ export class AccelerationFeesGraphComponent implements OnInit { legend: (this.widget || data.length === 0) ? undefined : { data: [ { - name: 'Total fee delta', + name: 'Total accelerations', inactiveColor: 'rgb(110, 112, 121)', - textStyle: { + textStyle: { color: 'white', }, icon: 'roundRect', }, { - name: 'Total accelerations', + name: 'Total fee delta', inactiveColor: 'rgb(110, 112, 121)', - textStyle: { + textStyle: { color: 'white', }, icon: 'roundRect', @@ -247,7 +251,11 @@ export class AccelerationFeesGraphComponent implements OnInit { axisLabel: { color: 'rgb(110, 112, 121)', formatter: (val) => { - return `${val / 100_000_000} BTC`; + if (val >= 1_000_000) { + return `${(val / 100_000_000).toPrecision(5)} BTC`; + } else { + return `${val} sats`; + } } }, splitLine: { @@ -273,6 +281,24 @@ export class AccelerationFeesGraphComponent implements OnInit { }, ], series: data.length === 0 ? undefined : [ + { + legendHoverLink: false, + zlevel: 0, + yAxisIndex: 1, + name: 'Total accelerations', + data: data.map(block => [block.timestamp * 1000, block.accelerations, block.avgHeight]), + type: 'line', + symbol: 'none', + areaStyle: { + color: '#1E88E5', + opacity: 0.5 + }, + lineStyle: { + width: 1, + opacity: 1, + }, + step: 'middle', + }, { legendHoverLink: false, zlevel: 1, @@ -283,20 +309,10 @@ export class AccelerationFeesGraphComponent implements OnInit { smooth: 0.25, symbol: 'none', lineStyle: { - width: 1, + width: 2, opacity: 1, } }, - { - legendHoverLink: false, - zlevel: 0, - yAxisIndex: 1, - name: 'Total accelerations', - data: data.map(block => [block.timestamp * 1000, block.accelerations, block.avgHeight]), - type: 'bar', - barWidth: '100%', - large: true, - }, ], dataZoom: (this.widget || data.length === 0 )? undefined : [{ type: 'inside', diff --git a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html index f5eb5d1cf..8676b8a44 100644 --- a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html +++ b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html @@ -46,17 +46,17 @@
-
-
-
Avg Block Fee (1m)
+
+
+
Avg Block Fee (24h)

-
-
???
+
+
Avg Block Fee (1m)

- ??? +

@@ -71,19 +71,19 @@
+ +
+
Avg Block Fee (24h)
+

+ +

+
+
-
-
-
Avg Block Fee
-

- -

-
-
-
???
-

- -

-
+
+
Avg Block Fee (1m)
+

+ +

\ No newline at end of file diff --git a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts index 7f73a197a..0283b2d00 100644 --- a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts +++ b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -41,6 +41,7 @@ export class BlockFeeRatesGraphComponent implements OnInit { renderer: 'svg', }; + hrStatsObservable$: Observable; statsObservable$: Observable; isLoading = true; formatNumber = formatNumber; @@ -85,6 +86,19 @@ export class BlockFeeRatesGraphComponent implements OnInit { }); } + this.hrStatsObservable$ = combineLatest([ + this.apiService.getHistoricalBlockFeeRates$('24h'), + this.stateService.rateUnits$ + ]).pipe( + map(([response, rateUnits]) => { + return { + blockCount: parseInt(response.headers.get('x-total-count'), 10), + avgMedianRate: response.body.length ? response.body.reduce((acc, rate) => acc + rate.avgFee_50, 0) / response.body.length : 0, + }; + }), + share(), + ); + this.statsObservable$ = combineLatest([ this.widget ? of(this.miningWindowPreference) : this.radioGroupForm.get('dateSpan').valueChanges.pipe(startWith(this.radioGroupForm.controls.dateSpan.value)), this.stateService.rateUnits$ From 2efd4743576f396aa2ade6f72f7a24f656c247ee Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 3 Dec 2023 08:16:20 +0000 Subject: [PATCH 303/639] Fix accelerator dashboard widget page link css --- .../accelerator-dashboard.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html index 530cbbb10..039252e3a 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html @@ -61,7 +61,7 @@
Latest accelerations
  - +
@@ -75,7 +75,7 @@
Latest blocks
  - +
Virtual size
Adjusted vsize
WeightLocktime
Sigops
Transaction hex - ${this.vbytesPipe.transform(item.value[1], 2, 'vB', 'MvB', false)} + ${(item.value[1] / 1_000_000).toFixed(2)} MvB - ${this.vbytesPipe.transform(totalValueArray[index], 2, 'vB', 'MvB', false)} + ${(totalValueArray[index] / 1_000_000).toFixed(2)} MvB diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index 078b6b30a..c03d79af5 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -519,7 +519,7 @@ html:lang(ru) .card-title { .fees-wrapper-tooltip-chart-advanced, .tx-wrapper-tooltip-chart-advanced { background: rgba(#1d1f31, 0.98); - width: 275px; + width: 300px; thead { th { From 9b8f70a0ae64d1d6346078214a8c89f14fe54a9b Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Tue, 21 Nov 2023 16:42:21 +0900 Subject: [PATCH 202/639] Change alignment and copy --- .../app/components/about/about.component.html | 24 +++++++++++-------- .../app/components/about/about.component.scss | 17 ++++++++++++- frontend/src/app/shared/shared.module.ts | 3 ++- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index c49ed8679..7354db6c7 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -33,18 +33,22 @@ -
-
-

If you're a business looking to integrate the Mempool explorer or API into your app—check out Mempool Enterprise®.

- Explore Mempool Enterprise® -
-
-

For exclusive swag, your avatar on the mempool.space About page, and more—sign up to be a Community Sponsor.

+
+
+

If you're an individual...

Become a Community Sponsor - + + + +
+
+

If you're a business...

+ Become an Enterprise Sponsor + + + +
-
diff --git a/frontend/src/app/components/about/about.component.scss b/frontend/src/app/components/about/about.component.scss index 5b94bd0c6..54dc38a27 100644 --- a/frontend/src/app/components/about/about.component.scss +++ b/frontend/src/app/components/about/about.component.scss @@ -262,13 +262,28 @@ border-radius: 16px; padding: 12px 20px; width: 400px; - padding: 40px; + padding: 40px 20px; } .become-sponsor a { margin-top: 10px; } +#become-sponsor-container .btn { + margin-bottom: 24px; +} + +#become-sponsor-container .ng-fa-icon { + color: #2ecc71; + margin-right: 5px; +} + +#become-sponsor-container .sponsor-feature { + text-align: left; + width: 250px; + margin: 12px auto; +} + @media (max-width: 992px) { #become-sponsor-container { diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index 76dbc65f1..0b4464727 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -4,7 +4,7 @@ import { NgbCollapseModule, NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstra import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome'; import { faFilter, faAngleDown, faAngleUp, faAngleRight, faAngleLeft, faBolt, faChartArea, faCogs, faCubes, faHammer, faDatabase, faExchangeAlt, faInfoCircle, faLink, faList, faSearch, faCaretUp, faCaretDown, faTachometerAlt, faThList, faTint, faTv, faClock, faAngleDoubleDown, faSortUp, faAngleDoubleUp, faChevronDown, - faFileAlt, faRedoAlt, faArrowAltCircleRight, faExternalLinkAlt, faBook, faListUl, faDownload, faQrcode, faArrowRightArrowLeft, faArrowsRotate, faCircleLeft, faFastForward, faWallet, faUserClock, faWrench, faUserFriends, faQuestionCircle, faHistory, faSignOutAlt, faKey, faSuitcase, faIdCardAlt, faNetworkWired, faUserCheck, faCircleCheck, faUserCircle } from '@fortawesome/free-solid-svg-icons'; + faFileAlt, faRedoAlt, faArrowAltCircleRight, faExternalLinkAlt, faBook, faListUl, faDownload, faQrcode, faArrowRightArrowLeft, faArrowsRotate, faCircleLeft, faFastForward, faWallet, faUserClock, faWrench, faUserFriends, faQuestionCircle, faHistory, faSignOutAlt, faKey, faSuitcase, faIdCardAlt, faNetworkWired, faUserCheck, faCircleCheck, faUserCircle, faCheck } from '@fortawesome/free-solid-svg-icons'; import { InfiniteScrollModule } from 'ngx-infinite-scroll'; import { MenuComponent } from '../components/menu/menu.component'; import { PreviewTitleComponent } from '../components/master-page-preview/preview-title.component'; @@ -364,5 +364,6 @@ export class SharedModule { library.addIcons(faUserCheck); library.addIcons(faCircleCheck); library.addIcons(faUserCircle); + library.addIcons(faCheck); } } From d471616a2449f4c48e2712db129d6120d603c54f Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 21 Nov 2023 20:29:41 +0900 Subject: [PATCH 203/639] Fix negative left margin on master page --- .../src/app/components/master-page/master-page.component.scss | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frontend/src/app/components/master-page/master-page.component.scss b/frontend/src/app/components/master-page/master-page.component.scss index ad95d162f..6b2377f92 100644 --- a/frontend/src/app/components/master-page/master-page.component.scss +++ b/frontend/src/app/components/master-page/master-page.component.scss @@ -248,8 +248,6 @@ main { height: calc(100vh - 65px); position: sticky; top: 65px; - transition: 0.25s; - margin-left: -250px; - box-shadow: 5px 0px 30px 0px #000; + margin-left: -225px; padding-bottom: 20px; } From 94a7b710c5800fa73d4fbf1d6d30a5ac2f0ccfcc Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 22 Nov 2023 11:04:52 +0900 Subject: [PATCH 204/639] Fix truncated hidden text layout flow bug --- .../components/truncate/truncate.component.html | 2 +- .../components/truncate/truncate.component.scss | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/shared/components/truncate/truncate.component.html b/frontend/src/app/shared/components/truncate/truncate.component.html index 0ec579dad..335c35212 100644 --- a/frontend/src/app/shared/components/truncate/truncate.component.html +++ b/frontend/src/app/shared/components/truncate/truncate.component.html @@ -1,5 +1,5 @@ - +
{{ text }}
diff --git a/frontend/src/app/shared/components/truncate/truncate.component.scss b/frontend/src/app/shared/components/truncate/truncate.component.scss index c5179384f..7f79eb043 100644 --- a/frontend/src/app/shared/components/truncate/truncate.component.scss +++ b/frontend/src/app/shared/components/truncate/truncate.component.scss @@ -3,6 +3,7 @@ display: flex; flex-direction: row; align-items: baseline; + position: relative; .truncate-link { display: flex; @@ -27,17 +28,17 @@ &.inline { display: inline-flex; } -} -.hidden { - color: transparent; - position: absolute; - max-width: 300px; - overflow: hidden; + .hidden-content { + color: transparent; + position: absolute; + max-width: 300px; + overflow: hidden; + } } @media (max-width: 567px) { - .hidden { + .hidden-content { max-width: 150px; } } From 89eb02dad0215df95a69ab9b37f56e895b2849e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Nov 2023 02:21:44 +0000 Subject: [PATCH 205/639] Bump cypress from 13.5.0 to 13.6.0 in /frontend Bumps [cypress](https://github.com/cypress-io/cypress) from 13.5.0 to 13.6.0. - [Release notes](https://github.com/cypress-io/cypress/releases) - [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md) - [Commits](https://github.com/cypress-io/cypress/compare/v13.5.0...v13.6.0) --- updated-dependencies: - dependency-name: cypress dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 16 ++++++++-------- frontend/package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index e4cfb1fc4..38c143ab7 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -31,10 +31,10 @@ "bootstrap": "~4.6.2", "browserify": "^17.0.0", "clipboard": "^2.0.11", + "cypress": "^13.6.0", "domino": "^2.1.6", "echarts": "~5.4.3", "lightweight-charts": "~3.8.0", - "mock-socket": "~9.3.1", "ngx-echarts": "~16.2.0", "ngx-infinite-scroll": "^16.0.0", "qrcode": "1.5.1", @@ -59,7 +59,7 @@ "optionalDependencies": { "@cypress/schematic": "^2.5.0", "@types/cypress": "^1.1.3", - "cypress": "^13.5.0", + "cypress": "^13.6.0", "cypress-fail-on-console-error": "~5.0.0", "cypress-wait-until": "^2.0.1", "mock-socket": "~9.3.1", @@ -7148,9 +7148,9 @@ "peer": true }, "node_modules/cypress": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.5.0.tgz", - "integrity": "sha512-oh6U7h9w8wwHfzNDJQ6wVcAeXu31DlIYlNOBvfd6U4CcB8oe4akawQmH+QJVOMZlM42eBoCne015+svVqdwdRQ==", + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.0.tgz", + "integrity": "sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==", "hasInstallScript": true, "optional": true, "dependencies": { @@ -22096,9 +22096,9 @@ "peer": true }, "cypress": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.5.0.tgz", - "integrity": "sha512-oh6U7h9w8wwHfzNDJQ6wVcAeXu31DlIYlNOBvfd6U4CcB8oe4akawQmH+QJVOMZlM42eBoCne015+svVqdwdRQ==", + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.0.tgz", + "integrity": "sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==", "optional": true, "requires": { "@cypress/request": "^3.0.0", diff --git a/frontend/package.json b/frontend/package.json index e549eb122..81928669f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -110,7 +110,7 @@ "optionalDependencies": { "@cypress/schematic": "^2.5.0", "@types/cypress": "^1.1.3", - "cypress": "^13.5.0", + "cypress": "^13.6.0", "cypress-fail-on-console-error": "~5.0.0", "cypress-wait-until": "^2.0.1", "mock-socket": "~9.3.1", From 8dc80eadf32fb41681841cacb060e9e667bcbdd1 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 22 Nov 2023 13:10:53 +0900 Subject: [PATCH 206/639] Fix health score when mempool was empty --- backend/src/api/audit.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/backend/src/api/audit.ts b/backend/src/api/audit.ts index e78b2796f..5aa04637d 100644 --- a/backend/src/api/audit.ts +++ b/backend/src/api/audit.ts @@ -144,7 +144,12 @@ class Audit { const numCensored = Object.keys(isCensored).length; const numMatches = matches.length - 1; // adjust for coinbase tx - const score = numMatches > 0 ? (numMatches / (numMatches + numCensored)) : 0; + let score = 0; + if (numMatches <= 0 && numCensored <= 0) { + score = 1; + } else if (numMatches > 0) { + score = (numMatches / (numMatches + numCensored)); + } const similarity = projectedWeight ? matchedWeight / projectedWeight : 1; return { From dbcd900056441f50eefb6440a82be126b184659e Mon Sep 17 00:00:00 2001 From: softsimon Date: Wed, 22 Nov 2023 16:22:41 +0900 Subject: [PATCH 207/639] Fixes truncated links --- .../app/shared/components/truncate/truncate.component.html | 4 ++-- .../app/shared/components/truncate/truncate.component.scss | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/shared/components/truncate/truncate.component.html b/frontend/src/app/shared/components/truncate/truncate.component.html index 335c35212..4d42ab91c 100644 --- a/frontend/src/app/shared/components/truncate/truncate.component.html +++ b/frontend/src/app/shared/components/truncate/truncate.component.html @@ -1,5 +1,4 @@ -
{{ text }}
@@ -12,10 +11,11 @@
- {{text.slice(0,-lastChars)}}{{text.slice(-lastChars)}} +
{{ text }}
{{text.slice(lastChars)}}{{text.slice(0,lastChars)}} +
{{ text }}
\ No newline at end of file diff --git a/frontend/src/app/shared/components/truncate/truncate.component.scss b/frontend/src/app/shared/components/truncate/truncate.component.scss index 7f79eb043..6f106a934 100644 --- a/frontend/src/app/shared/components/truncate/truncate.component.scss +++ b/frontend/src/app/shared/components/truncate/truncate.component.scss @@ -39,6 +39,6 @@ @media (max-width: 567px) { .hidden-content { - max-width: 150px; + max-width: 150px !important; } } From a3f2c42b8ef21113407640853640d8817b53f47f Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Wed, 22 Nov 2023 16:31:24 +0900 Subject: [PATCH 208/639] Replace vip events with early accelerator --- frontend/src/app/components/about/about.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index 7354db6c7..c1f74ae31 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -39,7 +39,7 @@
Become a Community Sponsor - +

If you're a business...

From 8bd2aa3dd37590a16ca2ae1b49f0518248a3336b Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 22 Nov 2023 16:38:58 +0900 Subject: [PATCH 209/639] simplify acceleration preview summary --- .../accelerate-preview.component.html | 48 +++---------------- .../accelerate-preview.component.ts | 1 - 2 files changed, 7 insertions(+), 42 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index 7f4d88688..2869d02ae 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -74,7 +74,7 @@
@@ -87,18 +87,10 @@
Acceleration summary
-
- - -
- + - - - - - - - - - - - - - @@ -166,7 +132,7 @@ - + @@ -180,8 +146,8 @@ - - + + @@ -195,7 +161,7 @@ - + @@ -203,7 +169,7 @@ - + - @@ -53,7 +53,7 @@ - @@ -95,7 +95,7 @@ - @@ -109,7 +109,7 @@ @@ -129,7 +129,7 @@ @@ -141,7 +141,7 @@ @@ -158,11 +158,11 @@ - @@ -181,13 +181,13 @@ - @@ -204,7 +204,7 @@ diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss index 814b37e7a..2e2b19ee8 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss @@ -8,9 +8,6 @@ align-items: center; justify-content: center; - .fee { - font-size: 1.2em; - } .rate { font-size: 0.9em; .symbol { @@ -64,8 +61,6 @@ .table-accelerator { tr { - text-wrap: wrap; - td { padding-top: 0; padding-bottom: 0; @@ -89,6 +84,7 @@ } &.info { color: #6c757d; + white-space: initial; } &.amt { text-align: right; @@ -97,6 +93,9 @@ &.units { padding-left: 0.2em; white-space: nowrap; + display: flex; + justify-content: space-between; + align-items: center; } } } @@ -106,4 +105,8 @@ flex-direction: row; align-items: stretch; margin-top: 1em; +} + +.item { + white-space: initial; } \ No newline at end of file From 98e3c7b9cfff2d68c7ab4b0dc99fad00c321006b Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 23 Nov 2023 15:47:28 +0900 Subject: [PATCH 225/639] [accelerator] small align tweak --- .../accelerate-preview/accelerate-preview.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index 980774d7c..bb4108914 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -37,7 +37,7 @@ - + - From c11551de7b8d784a12183f0fab84d28a8b7373cd Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 23 Nov 2023 17:00:57 +0900 Subject: [PATCH 226/639] [accelerator] fix preview UX on mobile when there is an error/warning --- .../accelerate-preview/accelerate-preview.component.html | 8 +++++--- .../accelerate-preview/accelerate-preview.component.ts | 8 ++++---- .../components/mempool-error/mempool-error.component.html | 2 +- .../components/mempool-error/mempool-error.component.ts | 1 + 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index bb4108914..2a075f1e2 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -1,14 +1,16 @@ +
-
+
Transaction has now been submitted to mining pools for acceleration.
+
-
- +
+
diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts index 7215f9bfb..530977c71 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts @@ -1,5 +1,4 @@ -import { Component, OnInit, Input, OnDestroy, OnChanges, SimpleChanges, HostListener } from '@angular/core'; -import { Router } from '@angular/router'; +import { Component, OnInit, Input, OnDestroy, OnChanges, SimpleChanges, HostListener, ChangeDetectorRef } from '@angular/core'; import { ApiService } from '../../services/api.service'; import { Subscription, catchError, of, tap } from 'rxjs'; import { StorageService } from '../../services/storage.service'; @@ -63,7 +62,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges constructor( private apiService: ApiService, private storageService: StorageService, - private router: Router, + private cd: ChangeDetectorRef ) { } ngOnDestroy(): void { @@ -163,13 +162,14 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges scrollToPreview(id: string, position: ScrollLogicalPosition) { const acceleratePreviewAnchor = document.getElementById(id); if (acceleratePreviewAnchor) { + this.cd.markForCheck(); acceleratePreviewAnchor.scrollIntoView({ behavior: 'smooth', inline: position, block: position, }); } -} + } /** * Send acceleration request diff --git a/frontend/src/app/shared/components/mempool-error/mempool-error.component.html b/frontend/src/app/shared/components/mempool-error/mempool-error.component.html index 020b147a9..b8179e4c3 100644 --- a/frontend/src/app/shared/components/mempool-error/mempool-error.component.html +++ b/frontend/src/app/shared/components/mempool-error/mempool-error.component.html @@ -1,2 +1,2 @@ -
+
diff --git a/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts b/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts index 4071146ab..e89daaffd 100644 --- a/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts +++ b/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts @@ -33,6 +33,7 @@ export function isMempoolError(error: string) { }) export class MempoolErrorComponent implements OnInit { @Input() error: string; + @Input() alertClass = 'alert-danger'; errorContent: SafeHtml; constructor(private sanitizer: DomSanitizer) { } From 7f4fd83ad2779d3bb468a8c4467235a08c10dcaf Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 23 Nov 2023 18:40:25 +0900 Subject: [PATCH 227/639] [ui] fix testnets padding --- .../src/app/components/master-page/master-page.component.scss | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frontend/src/app/components/master-page/master-page.component.scss b/frontend/src/app/components/master-page/master-page.component.scss index 6b2377f92..79f5e8a12 100644 --- a/frontend/src/app/components/master-page/master-page.component.scss +++ b/frontend/src/app/components/master-page/master-page.component.scss @@ -244,10 +244,9 @@ main { .sidenav { z-index: 1; background-color: transparent; - width: 225px; + width: 0px; height: calc(100vh - 65px); position: sticky; top: 65px; - margin-left: -225px; padding-bottom: 20px; } From 69081ed647674a4ed2b113cfb426b3e0df6c478d Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 23 Nov 2023 21:07:21 +0900 Subject: [PATCH 228/639] [about page] fix wrapping perk --- frontend/src/app/components/about/about.component.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/app/components/about/about.component.scss b/frontend/src/app/components/about/about.component.scss index 54dc38a27..94f6f11b5 100644 --- a/frontend/src/app/components/about/about.component.scss +++ b/frontend/src/app/components/about/about.component.scss @@ -282,6 +282,7 @@ text-align: left; width: 250px; margin: 12px auto; + white-space: nowrap; } @media (max-width: 992px) { From 99fd4500e4f395d3118d4033caa967ec5e35c20b Mon Sep 17 00:00:00 2001 From: wiz Date: Thu, 23 Nov 2023 21:50:27 +0900 Subject: [PATCH 229/639] Fix broken sponsor links on About page --- frontend/src/app/components/about/about.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index a56e172c8..a4cc51f90 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -36,14 +36,14 @@

If you're an individual...

- Become a Community Sponsor + Become a Community Sponsor

If you're a business...

- Become an Enterprise Sponsor + Become an Enterprise Sponsor From 5d5e9e8219f31766a27388e1d815ba0020081c64 Mon Sep 17 00:00:00 2001 From: wiz Date: Thu, 23 Nov 2023 22:23:06 +0900 Subject: [PATCH 230/639] Legal: update Privacy Policy 20231123 --- .../components/privacy-policy/privacy-policy.component.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/components/privacy-policy/privacy-policy.component.html b/frontend/src/app/components/privacy-policy/privacy-policy.component.html index fe4bd7f1e..d14b12bc3 100644 --- a/frontend/src/app/components/privacy-policy/privacy-policy.component.html +++ b/frontend/src/app/components/privacy-policy/privacy-policy.component.html @@ -5,7 +5,7 @@

Privacy Policy

-
Updated: November 18, 2021
+
Updated: November 23, 2023


@@ -59,7 +59,7 @@
    -
  1. If you provide your e-mail address, we may contact you regarding your account, billing purposess, or to update you about our services. We will not share this with any third-party.
  2. +
  3. If you provide your name, country, and/or e-mail address, we may use this information to manage your user account, for billing purposes, or to update you about our services. We will not share this with any third-party, except as detailed below if you sponsor The Mempool Open Source Project®, purchase a subscription to Mempool Enterprise®, or accelerate transactions using Mempool Accelerator™.
  4. If you connect your Twitter account, we may store your Twitter identity, e-mail address, and profile photo. We may publicly display your profile photo or link to your profile on our website, if you sponsor The Mempool Open Source Project, claim your Lightning node, or other such use cases.
  5. @@ -67,7 +67,7 @@
  6. If you make a Bitcoin or Liquid payment, we will process your payment using our self-hosted BTCPay Server instance and not share these details with any third-party.
  7. -
  8. If you accelerate transactions using Mempool Accelerator(tm), we will store the TXID of your transactions you accelerate with us. We share this information with our mining pool partners, as well as publicly display accelerated transaction details on our website and APIs.
  9. +
  10. If you accelerate transactions using Mempool Accelerator™, we will store the TXID of your transactions you accelerate with us. We share this information with our mining pool partners, as well as publicly display accelerated transaction details on our website and APIs.
From 3103ef15e55f275cdd241cd779a6d23000f80752 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 24 Nov 2023 11:13:12 +0900 Subject: [PATCH 231/639] [about page] move CTA sponsors box into a sub component --- .../about/about-sponsors.component.html | 16 +++++++ .../about/about-sponsors.component.scss | 44 ++++++++++++++++++ .../about/about-sponsors.component.ts | 9 ++++ .../app/components/about/about.component.html | 17 +------ .../app/components/about/about.component.scss | 45 ------------------- .../src/app/components/about/about.module.ts | 9 +++- 6 files changed, 77 insertions(+), 63 deletions(-) create mode 100644 frontend/src/app/components/about/about-sponsors.component.html create mode 100644 frontend/src/app/components/about/about-sponsors.component.scss create mode 100644 frontend/src/app/components/about/about-sponsors.component.ts diff --git a/frontend/src/app/components/about/about-sponsors.component.html b/frontend/src/app/components/about/about-sponsors.component.html new file mode 100644 index 000000000..c24abc244 --- /dev/null +++ b/frontend/src/app/components/about/about-sponsors.component.html @@ -0,0 +1,16 @@ +
+
+

If you're an individual...

+ Become a Community Sponsor + + + +
+
+

If you're a business...

+ Become an Enterprise Sponsor + + + +
+
diff --git a/frontend/src/app/components/about/about-sponsors.component.scss b/frontend/src/app/components/about/about-sponsors.component.scss new file mode 100644 index 000000000..c9fddde91 --- /dev/null +++ b/frontend/src/app/components/about/about-sponsors.component.scss @@ -0,0 +1,44 @@ +#become-sponsor-container { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: center; + align-items: center; + gap: 20px; + margin: 68px auto; +} + +.become-sponsor { + background-color: #1d1f31; + border-radius: 16px; + padding: 12px 20px; + width: 400px; + padding: 40px 20px; +} + +.become-sponsor a { + margin-top: 10px; +} + +#become-sponsor-container .btn { + margin-bottom: 24px; +} + +#become-sponsor-container .ng-fa-icon { + color: #2ecc71; + margin-right: 5px; +} + +#become-sponsor-container .sponsor-feature { + text-align: left; + width: 250px; + margin: 12px auto; +} + +@media (max-width: 992px) { + + #become-sponsor-container { + flex-wrap: wrap; + } + +} diff --git a/frontend/src/app/components/about/about-sponsors.component.ts b/frontend/src/app/components/about/about-sponsors.component.ts new file mode 100644 index 000000000..98e7d4384 --- /dev/null +++ b/frontend/src/app/components/about/about-sponsors.component.ts @@ -0,0 +1,9 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-about-sponsors', + templateUrl: './about-sponsors.component.html', + styleUrls: ['./about-sponsors.component.scss'], +}) +export class AboutSponsorsComponent { +} diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index a4cc51f90..8ef59f29a 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -33,22 +33,7 @@ -
-
-

If you're an individual...

- Become a Community Sponsor - - - -
-
-

If you're a business...

- Become an Enterprise Sponsor - - - -
-
+
diff --git a/frontend/src/app/components/about/about.component.scss b/frontend/src/app/components/about/about.component.scss index 54dc38a27..f7aa0b965 100644 --- a/frontend/src/app/components/about/about.component.scss +++ b/frontend/src/app/components/about/about.component.scss @@ -246,48 +246,3 @@ width: 64px; height: 64px; } - -#become-sponsor-container { - display: flex; - flex-direction: row; - flex-wrap: nowrap; - justify-content: center; - align-items: center; - gap: 20px; - margin: 68px auto; -} - -.become-sponsor { - background-color: #1d1f31; - border-radius: 16px; - padding: 12px 20px; - width: 400px; - padding: 40px 20px; -} - -.become-sponsor a { - margin-top: 10px; -} - -#become-sponsor-container .btn { - margin-bottom: 24px; -} - -#become-sponsor-container .ng-fa-icon { - color: #2ecc71; - margin-right: 5px; -} - -#become-sponsor-container .sponsor-feature { - text-align: left; - width: 250px; - margin: 12px auto; -} - -@media (max-width: 992px) { - - #become-sponsor-container { - flex-wrap: wrap; - } - -} diff --git a/frontend/src/app/components/about/about.module.ts b/frontend/src/app/components/about/about.module.ts index 1eb471f14..58a8ed9be 100644 --- a/frontend/src/app/components/about/about.module.ts +++ b/frontend/src/app/components/about/about.module.ts @@ -2,6 +2,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Routes, RouterModule } from '@angular/router'; import { AboutComponent } from './about.component'; +import { AboutSponsorsComponent } from './about-sponsors.component'; import { SharedModule } from '../../shared/shared.module'; const routes: Routes = [ @@ -13,7 +14,7 @@ const routes: Routes = [ @NgModule({ imports: [ - RouterModule.forChild(routes) + RouterModule.forChild(routes), ], exports: [ RouterModule @@ -25,10 +26,14 @@ export class AboutRoutingModule { } imports: [ CommonModule, AboutRoutingModule, - SharedModule, + SharedModule ], declarations: [ AboutComponent, + AboutSponsorsComponent, + ], + exports: [ + AboutSponsorsComponent, ] }) export class AboutModule { } From e95d5a7982307d57e4bcec23d5ffe399b97465d2 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 24 Nov 2023 18:14:16 +0900 Subject: [PATCH 232/639] [lightning] enlarge channel map --- .../nodes-channels-map.component.html | 26 ++++++---- .../nodes-channels-map.component.scss | 52 +++++++++++++++++++ .../nodes-channels-map.component.ts | 2 +- 3 files changed, 69 insertions(+), 11 deletions(-) diff --git a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.html b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.html index 095ae6f8e..7237c709f 100644 --- a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.html +++ b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.html @@ -1,22 +1,28 @@ -
+
-
-
- Lightning Nodes Channels World Map -
- (Tor nodes excluded) -
-
-
-
+ +
+ +
+
+ Lightning Nodes Channels World Map +
+ (Tor nodes excluded) +
+ +
+
+ +
diff --git a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.scss b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.scss index 6db0f27b0..558ad68a6 100644 --- a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.scss +++ b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.scss @@ -143,3 +143,55 @@ text-align: center; margin-top: 100px; } + +.full-container-graph { + display: flex; + flex-direction: column; + padding: 0px 15px; + width: 100%; + height: calc(100vh - 225px); + min-height: 400px; + @media (min-width: 992px) { + height: calc(100vh - 150px); + } +} +.full-container-graph.widget { + min-height: 240px; + height: 240px; + padding: 0px; +} +.full-container-graph.fit-container { + margin: 0; + padding: 0; + height: 100%; + min-height: 100px; + + .chart { + padding: 0; + min-height: 100px; + } +} + +.chart-graph { + display: flex; + flex: 1; + height: 100%; + padding-top: 30px; + padding-bottom: 20px; + padding-right: 10px; + @media (max-width: 992px) { + padding-bottom: 25px; + } + @media (max-width: 829px) { + padding-bottom: 50px; + } + @media (max-width: 767px) { + padding-bottom: 25px; + } + @media (max-width: 629px) { + padding-bottom: 55px; + } + @media (max-width: 567px) { + padding-bottom: 55px; + } +} diff --git a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts index 01978c324..296d60dec 100644 --- a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts +++ b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts @@ -65,6 +65,7 @@ export class NodesChannelsMap implements OnInit { } if (this.style === 'graph') { + this.center = [0, 5]; this.seoService.setTitle($localize`Lightning Nodes Channels World Map`); this.seoService.setDescription($localize`:@@meta.description.lightning.node-map:See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details.`); } @@ -238,7 +239,6 @@ export class NodesChannelsMap implements OnInit { title: title ?? undefined, tooltip: {}, geo: { - top: 75, animation: false, silent: true, center: this.center, From 0f04f751e1f99827d556391a38239d917cae5bb1 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 1 May 2023 17:59:48 -0600 Subject: [PATCH 233/639] Disconnect websocket clients on error --- backend/src/api/websocket-handler.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/src/api/websocket-handler.ts b/backend/src/api/websocket-handler.ts index 3a444701f..cdbf87719 100644 --- a/backend/src/api/websocket-handler.ts +++ b/backend/src/api/websocket-handler.ts @@ -96,7 +96,10 @@ class WebsocketHandler { this.wss.on('connection', (client: WebSocket) => { this.numConnected++; - client.on('error', logger.info); + client.on('error', (e) => { + logger.info('websocket client error: ' + (e instanceof Error ? e.message : e)); + client.close(); + }); client.on('close', () => { this.numDisconnected++; }); @@ -283,6 +286,7 @@ class WebsocketHandler { } } catch (e) { logger.debug('Error parsing websocket message: ' + (e instanceof Error ? e.message : e)); + client.close(); } }); }); From 652100f774813894b19af4444bcc87ba3bb8a3ea Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sat, 25 Nov 2023 09:02:27 +0000 Subject: [PATCH 234/639] More verbose websocket error logs --- backend/src/api/websocket-handler.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/src/api/websocket-handler.ts b/backend/src/api/websocket-handler.ts index cdbf87719..b082573f1 100644 --- a/backend/src/api/websocket-handler.ts +++ b/backend/src/api/websocket-handler.ts @@ -94,10 +94,11 @@ class WebsocketHandler { throw new Error('WebSocket.Server is not set'); } - this.wss.on('connection', (client: WebSocket) => { + this.wss.on('connection', (client: WebSocket, req) => { this.numConnected++; + client['remoteAddress'] = req.headers['x-forwarded-for'] || req.socket?.remoteAddress || 'unknown'; client.on('error', (e) => { - logger.info('websocket client error: ' + (e instanceof Error ? e.message : e)); + logger.info(`websocket client error from ${client['remoteAddress']}: ` + (e instanceof Error ? e.message : e)); client.close(); }); client.on('close', () => { @@ -285,7 +286,7 @@ class WebsocketHandler { client.send(serializedResponse); } } catch (e) { - logger.debug('Error parsing websocket message: ' + (e instanceof Error ? e.message : e)); + logger.debug(`Error parsing websocket message from ${client['remoteAddress']}: ` + (e instanceof Error ? e.message : e)); client.close(); } }); From e654170d0b826df6e5deffb96e2c481174a8c4df Mon Sep 17 00:00:00 2001 From: softsimon Date: Sat, 25 Nov 2023 17:49:37 +0900 Subject: [PATCH 235/639] Updating and correcting i18n strings --- .../blocks-list/blocks-list.component.ts | 4 +- .../calculator/calculator.component.html | 2 +- .../app/components/menu/menu.component.html | 2 +- .../mining-dashboard.component.html | 4 +- .../pool-ranking/pool-ranking.component.html | 14 +- .../transaction-preview.component.html | 2 +- .../tx-bowtie-graph-tooltip.component.html | 2 +- .../app/dashboard/dashboard.component.html | 10 +- frontend/src/app/docs/docs/docs.component.ts | 5 +- .../app/lightning/group/group.component.html | 4 +- .../app/lightning/node/node.component.html | 4 +- .../fee-rate/fee-rate.component.html | 4 +- .../global-footer.component.html | 48 +- frontend/src/locale/messages.xlf | 4701 ++++++++++------- 14 files changed, 2951 insertions(+), 1855 deletions(-) diff --git a/frontend/src/app/components/blocks-list/blocks-list.component.ts b/frontend/src/app/components/blocks-list/blocks-list.component.ts index fb57519a9..dc8ff9610 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.ts +++ b/frontend/src/app/components/blocks-list/blocks-list.component.ts @@ -55,7 +55,9 @@ export class BlocksList implements OnInit { this.skeletonLines = this.widget === true ? [...Array(6).keys()] : [...Array(15).keys()]; this.paginationMaxSize = window.matchMedia('(max-width: 670px)').matches ? 3 : 5; - this.seoService.setTitle($localize`:@@meta.title.blocks-list:Blocks`); + if (!this.widget) { + this.seoService.setTitle($localize`:@@meta.title.blocks-list:Blocks`); + } if( this.stateService.network==='liquid'||this.stateService.network==='liquidtestnet' ) { this.seoService.setDescription($localize`:@@meta.description.liquid.blocks:See the most recent Liquid${seoDescriptionNetwork(this.stateService.network)} blocks along with basic stats such as block height, block size, and more.`); } else { diff --git a/frontend/src/app/components/calculator/calculator.component.html b/frontend/src/app/components/calculator/calculator.component.html index bdbfdd0cd..5e084403d 100644 --- a/frontend/src/app/components/calculator/calculator.component.html +++ b/frontend/src/app/components/calculator/calculator.component.html @@ -1,6 +1,6 @@
-

Calculator

+

Calculator

diff --git a/frontend/src/app/components/menu/menu.component.html b/frontend/src/app/components/menu/menu.component.html index 1c247a94b..1cc7bdd03 100644 --- a/frontend/src/app/components/menu/menu.component.html +++ b/frontend/src/app/components/menu/menu.component.html @@ -7,7 +7,7 @@ - Sign in + Sign in diff --git a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html index 85f64f564..fd6e045dc 100644 --- a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html +++ b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html @@ -44,12 +44,12 @@
- +
-
Latest blocks
+
Recent Blocks
 
diff --git a/frontend/src/app/components/pool-ranking/pool-ranking.component.html b/frontend/src/app/components/pool-ranking/pool-ranking.component.html index d5cf08aa5..67bba016b 100644 --- a/frontend/src/app/components/pool-ranking/pool-ranking.component.html +++ b/frontend/src/app/components/pool-ranking/pool-ranking.component.html @@ -6,7 +6,7 @@
Pools luck
+ ngbTooltip="Pools luck (1 week)" placement="bottom" #minersluck [disableTooltip]="!isEllipsisActive(minersluck)">Pools Luck

{{ miningStats['minersLuck'] }}% @@ -14,14 +14,14 @@

Pools count
+ ngbTooltip="Pools count (1w)" placement="bottom" #poolscount [disableTooltip]="!isEllipsisActive(poolscount)">Pools Count

{{ miningStats.pools.length }}

-
Blocks (1w)

@@ -95,7 +95,7 @@

- + @@ -153,19 +153,19 @@
-
Pools Luck (1w)
+
Pools Luck

-
Blocks (1w)
+
Pools Count

-
Pools Count (1w)
+
Blocks (1w)

diff --git a/frontend/src/app/components/transaction/transaction-preview.component.html b/frontend/src/app/components/transaction/transaction-preview.component.html index 679138b14..63a11a8f0 100644 --- a/frontend/src/app/components/transaction/transaction-preview.component.html +++ b/frontend/src/app/components/transaction/transaction-preview.component.html @@ -40,7 +40,7 @@
- Coinbase + Coinbase {{ tx.vin[0].scriptsig | hex2ascii }}
diff --git a/frontend/src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html b/frontend/src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html index 9ebe36a87..1bc141f49 100644 --- a/frontend/src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html +++ b/frontend/src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -16,7 +16,7 @@ -

Coinbase

+

Coinbase

diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 9e9d48b27..1f393f037 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -76,7 +76,7 @@
-
Latest replacements
+
Recent Replacements
 
@@ -110,7 +110,7 @@
-
Latest blocks
+
Recent blocks
 
@@ -150,7 +150,7 @@
-
Latest transactions
+
Recent Transactions
Next block market rate @@ -121,32 +113,6 @@
- Your maximum - - ~{{ ((estimate.txSummary.effectiveFee + userBid) / estimate.txSummary.effectiveVsize) | number : '1.0-0' }} - sat/vB
- The maximum extra transaction fee you could pay - - - {{ userBid | number }} - - - sats - -
Transaction vsize fee
Estimated acceleration cost
If your tx is accelerated to {{ estimate.targetFeeRate | number : '1.0-0' }} sat/vB
Maximum acceleration cost diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts index 933ee6149..7215f9bfb 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts @@ -56,7 +56,6 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges maxCost = 0; userBid = 0; selectFeeRateIndex = 1; - showTable: 'estimated' | 'maximum' = 'maximum'; isMobile: boolean = window.innerWidth <= 767.98; maxRateOptions: RateOption[] = []; From afdb419bebd4c0a9f2e2bcbf29e89dfef57d7ffe Mon Sep 17 00:00:00 2001 From: wiz Date: Wed, 22 Nov 2023 16:55:40 +0900 Subject: [PATCH 210/639] Update our Privacy Policy for new backend --- .../privacy-policy.component.html | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/frontend/src/app/components/privacy-policy/privacy-policy.component.html b/frontend/src/app/components/privacy-policy/privacy-policy.component.html index e0979ce24..593ca9ed8 100644 --- a/frontend/src/app/components/privacy-policy/privacy-policy.component.html +++ b/frontend/src/app/components/privacy-policy/privacy-policy.component.html @@ -51,6 +51,24 @@

If you donate to mempool.space, your payment information and your Twitter identity (if provided) will be collected in a database, which may be used to publicly display the sponsor profiles on mempool.space/about. Thank you for supporting The Mempool Open Source Project.

+

SIGNING UP FOR AN ACCOUNT ON MEMPOOL.SPACE

+ +

If you sign up for an account on mempool.space, we may collect the following:

+ +
    + +
  1. If you provide your e-mail address, we may contact you regarding your account, billing purposess, or to update you about our services. We will not share this with any third-party.
  2. + +
  3. If you connect your Twitter account, we may store your Twitter identity, e-mail address, and profile photo. We may publicly display your profile photo or link to your profile on our website, if you sponsor The Mempool Open Source Project, claim your Lightning node, or other such use cases.
  4. + +
  5. If you make a credit card payment, we will process your payment using Square (Block, Inc.), and we will store details about the transaction in our database. Please see "Information we collect about customers" on Square's website at https://squareup.com/us/en/legal/general/privacy
  6. + +
  7. If you make a Bitcoin or Liquid payment, we will process your payment using our self-hosted BTCPay Server instance and not share these details with any third-party.
  8. + +
  9. If you accelerate transactions using Mempool Accelerator(tm), we will store the TXID of your transactions you accelerate with us. We share this information with our mining pool partners, as well as publicly display accelerated transaction details on our website and APIs.
  10. + +
+

EOF

From a76a600d3f2868aba91925862c9e57588aac8042 Mon Sep 17 00:00:00 2001 From: wiz Date: Wed, 22 Nov 2023 17:06:02 +0900 Subject: [PATCH 211/639] Tweak community sponsor word --- frontend/src/app/components/about/about.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index c1f74ae31..391de5ce9 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -39,7 +39,7 @@ Become a Community Sponsor - +

If you're a business...

From 047d1463e79470f1ab38b638b98d57dc5c774b93 Mon Sep 17 00:00:00 2001 From: wiz Date: Wed, 22 Nov 2023 17:15:39 +0900 Subject: [PATCH 212/639] Add missing
tag in privacy poilicy --- .../app/components/privacy-policy/privacy-policy.component.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/src/app/components/privacy-policy/privacy-policy.component.html b/frontend/src/app/components/privacy-policy/privacy-policy.component.html index 593ca9ed8..fe4bd7f1e 100644 --- a/frontend/src/app/components/privacy-policy/privacy-policy.component.html +++ b/frontend/src/app/components/privacy-policy/privacy-policy.component.html @@ -51,6 +51,8 @@

If you donate to mempool.space, your payment information and your Twitter identity (if provided) will be collected in a database, which may be used to publicly display the sponsor profiles on mempool.space/about. Thank you for supporting The Mempool Open Source Project.

+
+

SIGNING UP FOR AN ACCOUNT ON MEMPOOL.SPACE

If you sign up for an account on mempool.space, we may collect the following:

From ec8fc53dcb35aef62ac620665cceb98275ea3a2d Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 28 Sep 2023 15:48:37 +0100 Subject: [PATCH 213/639] eight blocks --- frontend/src/app/app-routing.module.ts | 5 + .../block-overview-graph.component.ts | 8 +- .../block-overview-graph/block-scene.ts | 44 ++-- .../eight-blocks/eight-blocks.component.html | 27 ++ .../eight-blocks/eight-blocks.component.scss | 50 ++++ .../eight-blocks/eight-blocks.component.ts | 244 ++++++++++++++++++ .../app/dashboard/dashboard.component.html | 2 +- .../app/shared/pipes/bytes-pipe/bytes.pipe.ts | 14 +- frontend/src/app/shared/shared.module.ts | 4 + 9 files changed, 370 insertions(+), 28 deletions(-) create mode 100644 frontend/src/app/components/eight-blocks/eight-blocks.component.html create mode 100644 frontend/src/app/components/eight-blocks/eight-blocks.component.scss create mode 100644 frontend/src/app/components/eight-blocks/eight-blocks.component.ts diff --git a/frontend/src/app/app-routing.module.ts b/frontend/src/app/app-routing.module.ts index ce91019ff..6365ec873 100644 --- a/frontend/src/app/app-routing.module.ts +++ b/frontend/src/app/app-routing.module.ts @@ -2,6 +2,7 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { AppPreloadingStrategy } from './app.preloading-strategy' import { BlockViewComponent } from './components/block-view/block-view.component'; +import { EightBlocksComponent } from './components/eight-blocks/eight-blocks.component'; import { MempoolBlockViewComponent } from './components/mempool-block-view/mempool-block-view.component'; import { ClockComponent } from './components/clock/clock.component'; import { StatusViewComponent } from './components/status-view/status-view.component'; @@ -124,6 +125,10 @@ let routes: Routes = [ path: 'view/mempool-block/:index', component: MempoolBlockViewComponent, }, + { + path: 'eight-blocks', + component: EightBlocksComponent, + }, { path: 'status', data: { networks: ['bitcoin', 'liquid'] }, diff --git a/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts b/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts index c32216db9..68d2a1bf3 100644 --- a/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts +++ b/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts @@ -20,6 +20,8 @@ export class BlockOverviewGraphComponent implements AfterViewInit, OnDestroy, On @Input() blockLimit: number; @Input() orientation = 'left'; @Input() flip = true; + @Input() animationDuration: number = 1000; + @Input() animationOffset: number | null = null; @Input() disableSpinner = false; @Input() mirrorTxid: string | void; @Input() unavailable: boolean = false; @@ -141,9 +143,9 @@ export class BlockOverviewGraphComponent implements AfterViewInit, OnDestroy, On } } - replace(transactions: TransactionStripped[], direction: string, sort: boolean = true): void { + replace(transactions: TransactionStripped[], direction: string, sort: boolean = true, startTime?: number): void { if (this.scene) { - this.scene.replace(transactions || [], direction, sort); + this.scene.replace(transactions || [], direction, sort, startTime); this.start(); this.updateSearchHighlight(); } @@ -226,7 +228,7 @@ export class BlockOverviewGraphComponent implements AfterViewInit, OnDestroy, On } else { this.scene = new BlockScene({ width: this.displayWidth, height: this.displayHeight, resolution: this.resolution, blockLimit: this.blockLimit, orientation: this.orientation, flip: this.flip, vertexArray: this.vertexArray, - highlighting: this.auditHighlighting }); + highlighting: this.auditHighlighting, animationDuration: this.animationDuration, animationOffset: this.animationOffset }); this.start(); } } diff --git a/frontend/src/app/components/block-overview-graph/block-scene.ts b/frontend/src/app/components/block-overview-graph/block-scene.ts index cb0537e2a..2569a3bb2 100644 --- a/frontend/src/app/components/block-overview-graph/block-scene.ts +++ b/frontend/src/app/components/block-overview-graph/block-scene.ts @@ -9,6 +9,9 @@ export default class BlockScene { txs: { [key: string]: TxView }; orientation: string; flip: boolean; + animationDuration: number = 1000; + configAnimationOffset: number | null; + animationOffset: number; highlightingEnabled: boolean; width: number; height: number; @@ -23,11 +26,11 @@ export default class BlockScene { animateUntil = 0; dirty: boolean; - constructor({ width, height, resolution, blockLimit, orientation, flip, vertexArray, highlighting }: - { width: number, height: number, resolution: number, blockLimit: number, + constructor({ width, height, resolution, blockLimit, animationDuration, animationOffset, orientation, flip, vertexArray, highlighting }: + { width: number, height: number, resolution: number, blockLimit: number, animationDuration: number, animationOffset: number, orientation: string, flip: boolean, vertexArray: FastVertexArray, highlighting: boolean } ) { - this.init({ width, height, resolution, blockLimit, orientation, flip, vertexArray, highlighting }); + this.init({ width, height, resolution, blockLimit, animationDuration, animationOffset, orientation, flip, vertexArray, highlighting }); } resize({ width = this.width, height = this.height, animate = true }: { width?: number, height?: number, animate: boolean }): void { @@ -36,6 +39,7 @@ export default class BlockScene { this.gridSize = this.width / this.gridWidth; this.unitPadding = Math.max(1, Math.floor(this.gridSize / 5)); this.unitWidth = this.gridSize - (this.unitPadding * 2); + this.animationOffset = this.configAnimationOffset == null ? (this.width * 1.4) : this.configAnimationOffset; this.dirty = true; if (this.initialised && this.scene) { @@ -90,8 +94,8 @@ export default class BlockScene { } // Animate new block entering scene - enter(txs: TransactionStripped[], direction) { - this.replace(txs, direction); + enter(txs: TransactionStripped[], direction, startTime?: number) { + this.replace(txs, direction, false, startTime); } // Animate block leaving scene @@ -108,8 +112,7 @@ export default class BlockScene { } // Reset layout and replace with new set of transactions - replace(txs: TransactionStripped[], direction: string = 'left', sort: boolean = true): void { - const startTime = performance.now(); + replace(txs: TransactionStripped[], direction: string = 'left', sort: boolean = true, startTime: number = performance.now()): void { const nextIds = {}; const remove = []; txs.forEach(tx => { @@ -133,7 +136,7 @@ export default class BlockScene { removed.forEach(tx => { tx.destroy(); }); - }, 1000); + }, (startTime - performance.now()) + this.animationDuration + 1000); this.layout = new BlockLayout({ width: this.gridWidth, height: this.gridHeight }); @@ -147,7 +150,7 @@ export default class BlockScene { }); } - this.updateAll(startTime, 200, direction); + this.updateAll(startTime, 50, direction); } update(add: TransactionStripped[], remove: string[], change: { txid: string, rate: number | undefined, acc: boolean | undefined }[], direction: string = 'left', resetLayout: boolean = false): void { @@ -214,10 +217,13 @@ export default class BlockScene { this.animateUntil = Math.max(this.animateUntil, tx.setHighlight(value)); } - private init({ width, height, resolution, blockLimit, orientation, flip, vertexArray, highlighting }: - { width: number, height: number, resolution: number, blockLimit: number, + private init({ width, height, resolution, blockLimit, animationDuration, animationOffset, orientation, flip, vertexArray, highlighting }: + { width: number, height: number, resolution: number, blockLimit: number, animationDuration: number, animationOffset: number, orientation: string, flip: boolean, vertexArray: FastVertexArray, highlighting: boolean } ): void { + this.animationDuration = animationDuration || 1000; + this.configAnimationOffset = animationOffset; + this.animationOffset = this.configAnimationOffset == null ? (this.width * 1.4) : this.configAnimationOffset; this.orientation = orientation; this.flip = flip; this.vertexArray = vertexArray; @@ -261,8 +267,8 @@ export default class BlockScene { this.applyTxUpdate(tx, { display: { position: { - x: tx.screenPosition.x + (direction === 'right' ? -this.width : (direction === 'left' ? this.width : 0)) * 1.4, - y: tx.screenPosition.y + (direction === 'up' ? -this.height : (direction === 'down' ? this.height : 0)) * 1.4, + x: tx.screenPosition.x + (direction === 'right' ? -this.width - this.animationOffset : (direction === 'left' ? this.width + this.animationOffset : 0)), + y: tx.screenPosition.y + (direction === 'up' ? -this.height - this.animationOffset : (direction === 'down' ? this.height + this.animationOffset : 0)), s: tx.screenPosition.s }, color: txColor, @@ -275,7 +281,7 @@ export default class BlockScene { position: tx.screenPosition, color: txColor }, - duration: animate ? 1000 : 1, + duration: animate ? this.animationDuration : 1, start: startTime, delay: animate ? delay : 0, }); @@ -284,8 +290,8 @@ export default class BlockScene { display: { position: tx.screenPosition }, - duration: animate ? 1000 : 0, - minDuration: animate ? 500 : 0, + duration: animate ? this.animationDuration : 0, + minDuration: animate ? (this.animationDuration / 2) : 0, start: startTime, delay: animate ? delay : 0, adjust: animate @@ -322,11 +328,11 @@ export default class BlockScene { this.applyTxUpdate(tx, { display: { position: { - x: tx.screenPosition.x + (direction === 'right' ? this.width : (direction === 'left' ? -this.width : 0)) * 1.4, - y: tx.screenPosition.y + (direction === 'up' ? this.height : (direction === 'down' ? -this.height : 0)) * 1.4, + x: tx.screenPosition.x + (direction === 'right' ? this.width + this.animationOffset : (direction === 'left' ? -this.width - this.animationOffset : 0)), + y: tx.screenPosition.y + (direction === 'up' ? this.height + this.animationOffset : (direction === 'down' ? -this.height - this.animationOffset : 0)), } }, - duration: 1000, + duration: this.animationDuration, start: startTime, delay: 50 }); diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.html b/frontend/src/app/components/eight-blocks/eight-blocks.component.html new file mode 100644 index 000000000..382d6056b --- /dev/null +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.html @@ -0,0 +1,27 @@ +
+ +
+
+ +
+

{{ blockInfo[i].height }}

+

{{ blockInfo[i].hash }}

+

{{ blockInfo[i].time }}

+

{{ blockInfo[i].count }}

+

{{ blockInfo[i].size }}

+
+
+
+
+
\ No newline at end of file diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.scss b/frontend/src/app/components/eight-blocks/eight-blocks.component.scss new file mode 100644 index 000000000..bee7d7151 --- /dev/null +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.scss @@ -0,0 +1,50 @@ +.blocks { + width: 100%; + height: 100%; + min-width: 100vw; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: start; + align-items: start; + align-content: start; + + &.wrap { + flex-wrap: wrap; + } + + .block-wrapper { + flex-grow: 0; + flex-shrink: 0; + position: relative; + --block-width: 1080px; + + .info { + position: absolute; + left: 10%; + top: 10%; + right: 10%; + bottom: 10%; + height: 80%; + width: 80%; + overflow: hidden; + font-size: calc(var(--block-width) * 0.04); + + h1 { + font-size: 4em; + margin-bottom: 0.1em; + } + h2 { + font-size: 2.5em; + margin-bottom: 0.1em; + } + + .hash { + font-family: monospace; + word-wrap: break-word; + font-size: 1em; + margin-bottom: 0.1em; + } + } + } +} \ No newline at end of file diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.ts b/frontend/src/app/components/eight-blocks/eight-blocks.component.ts new file mode 100644 index 000000000..0213ed5f3 --- /dev/null +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.ts @@ -0,0 +1,244 @@ +import { Component, OnInit, OnDestroy, ViewChildren, QueryList } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { catchError, startWith } from 'rxjs/operators'; +import { Subject, Subscription, of } from 'rxjs'; +import { StateService } from '../../services/state.service'; +import { WebsocketService } from '../../services/websocket.service'; +import { RelativeUrlPipe } from '../../shared/pipes/relative-url/relative-url.pipe'; +import { BlockExtended, TransactionStripped } from '../../interfaces/node-api.interface'; +import { ApiService } from '../../services/api.service'; +import { BlockOverviewGraphComponent } from '../block-overview-graph/block-overview-graph.component'; +import { detectWebGL } from '../../shared/graphs.utils'; +import { animate, style, transition, trigger } from '@angular/animations'; +import { BytesPipe } from '../../shared/pipes/bytes-pipe/bytes.pipe'; + +function bestFitResolution(min, max, n): number { + const target = (min + max) / 2; + let bestScore = Infinity; + let best = null; + for (let i = min; i <= max; i++) { + const remainder = (n % i); + if (remainder < bestScore || (remainder === bestScore && (Math.abs(i - target) < Math.abs(best - target)))) { + bestScore = remainder; + best = i; + } + } + return best; +} + +@Component({ + selector: 'app-eight-blocks', + templateUrl: './eight-blocks.component.html', + styleUrls: ['./eight-blocks.component.scss'], + animations: [ + trigger('infoChange', [ + transition(':enter', [ + style({ opacity: 0 }), + animate('1000ms', style({ opacity: 1 })), + ]), + transition(':leave', [ + animate('1000ms 500ms', style({ opacity: 0 })) + ]) + ]), + ], +}) +export class EightBlocksComponent implements OnInit, OnDestroy { + network = ''; + latestBlocks: BlockExtended[] = []; + isLoadingTransactions = true; + strippedTransactions: { [height: number]: TransactionStripped[] } = {}; + webGlEnabled = true; + hoverTx: string | null = null; + + blocksSubscription: Subscription; + cacheBlocksSubscription: Subscription; + networkChangedSubscription: Subscription; + queryParamsSubscription: Subscription; + graphChangeSubscription: Subscription; + + autofit: boolean = false; + padding: number = 0; + wrapBlocks: boolean = false; + blockWidth: number = 1080; + animationDuration: number = 2000; + animationOffset: number = 0; + stagger: number = 0; + testing: boolean = true; + testHeight: number = 800000; + testShiftTimeout: number; + + showInfo: boolean = true; + blockInfo: { [key: string]: string}[] = []; + + wrapperStyle = { + '--block-width': '1080px', + width: '1080px', + maxWidth: '1080px', + padding: '', + }; + containerStyle = {}; + resolution: number = 86; + + @ViewChildren('blockGraph') blockGraphs: QueryList; + + constructor( + private route: ActivatedRoute, + private router: Router, + public stateService: StateService, + private websocketService: WebsocketService, + private apiService: ApiService, + private bytesPipe: BytesPipe, + ) { + this.webGlEnabled = detectWebGL(); + } + + ngOnInit(): void { + this.websocketService.want(['blocks']); + this.network = this.stateService.network; + + this.blocksSubscription = this.stateService.blocks$ + .subscribe((blocks) => { + this.handleNewBlock(blocks); + }); + + this.queryParamsSubscription = this.route.queryParams.subscribe((params) => { + this.autofit = params.autofit === 'true'; + this.padding = Number.isInteger(Number(params.padding)) ? Number(params.padding) : 0; + this.blockWidth = Number.isInteger(Number(params.blockWidth)) ? Number(params.blockWidth) : 1080; + this.wrapBlocks = params.wrap === 'true'; + this.stagger = Number.isInteger(Number(params.stagger)) ? Number(params.stagger) : 0; + this.animationDuration = Number.isInteger(Number(params.animationDuration)) ? Number(params.animationDuration) : 2000; + this.animationOffset = this.padding * 2; + + if (this.autofit) { + this.resolution = bestFitResolution(76, 96, this.blockWidth - this.padding * 2); + } else { + this.resolution = 86; + } + + this.wrapperStyle = { + '--block-width': this.blockWidth + 'px', + width: this.blockWidth + 'px', + maxWidth: this.blockWidth + 'px', + padding: (this.padding || 0) +'px 0px', + }; + + if (params.test === 'true') { + this.blocksSubscription.unsubscribe(); + this.blocksSubscription = (new Subject()).subscribe((blocks) => { + this.handleNewBlock(blocks); + }); + this.shiftTestBlocks(); + } + }); + + this.setupBlockGraphs(); + + this.networkChangedSubscription = this.stateService.networkChanged$ + .subscribe((network) => this.network = network); + } + + ngAfterViewInit(): void { + this.graphChangeSubscription = this.blockGraphs.changes.pipe(startWith(null)).subscribe(() => { + this.setupBlockGraphs(); + }); + } + + ngOnDestroy(): void { + this.stateService.markBlock$.next({}); + this.blocksSubscription?.unsubscribe(); + this.cacheBlocksSubscription?.unsubscribe(); + this.networkChangedSubscription?.unsubscribe(); + this.queryParamsSubscription?.unsubscribe(); + } + + shiftTestBlocks(): void { + const sub = this.apiService.getBlocks$(this.testHeight).subscribe(result => { + sub.unsubscribe(); + this.handleNewBlock(result); + this.testHeight++; + clearTimeout(this.testShiftTimeout); + this.testShiftTimeout = window.setTimeout(() => { this.shiftTestBlocks(); }, 10000); + }); + } + + async handleNewBlock(blocks: BlockExtended[]): Promise { + const readyPromises: Promise[] = []; + const previousBlocks = this.latestBlocks; + const newHeights = {}; + this.latestBlocks = blocks; + for (const block of blocks) { + newHeights[block.height] = true; + if (!this.strippedTransactions[block.height]) { + readyPromises.push(new Promise((resolve) => { + const subscription = this.apiService.getStrippedBlockTransactions$(block.id).pipe( + catchError(() => { + return of([]); + }), + ).subscribe((transactions) => { + this.strippedTransactions[block.height] = transactions; + subscription.unsubscribe(); + resolve(transactions); + }); + })); + } + } + await Promise.allSettled(readyPromises); + this.updateBlockGraphs(blocks); + + // free up old transactions + previousBlocks.forEach(block => { + if (!newHeights[block.height]) { + delete this.strippedTransactions[block.height]; + } + }); + } + + updateBlockGraphs(blocks): void { + const startTime = performance.now() + 1000 - (this.stagger < 0 ? this.stagger * 8 : 0); + if (this.blockGraphs) { + this.blockGraphs.forEach((graph, index) => { + graph.replace(this.strippedTransactions[blocks?.[index]?.height] || [], 'right', false, startTime + (this.stagger * index)); + }); + } + this.showInfo = false; + setTimeout(() => { + this.blockInfo = blocks.map(block => { + return { + height: `${block.height}`, + hash: block.id, + time: (new Date(block.timestamp * 1000)).toLocaleTimeString(), + count: `${block.tx_count} txs`, + size: `${this.bytesPipe.transform(block.size, 2, 'B', 'MB', true)}`, + }; + }); + this.showInfo = true; + }, 1600); // Should match the animation time. + } + + setupBlockGraphs(): void { + if (this.blockGraphs) { + this.blockGraphs.forEach((graph, index) => { + graph.destroy(); + graph.setup(this.strippedTransactions[this.latestBlocks?.[index]?.height] || []); + }); + } + } + + onTxClick(event: { tx: TransactionStripped, keyModifier: boolean }): void { + const url = new RelativeUrlPipe(this.stateService).transform(`/tx/${event.tx.txid}`); + if (!event.keyModifier) { + this.router.navigate([url]); + } else { + window.open(url, '_blank'); + } + } + + onTxHover(txid: string): void { + if (txid && txid.length) { + this.hoverTx = txid; + } else { + this.hoverTx = null; + } + } +} diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 2e2e4bccc..9e9d48b27 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -237,7 +237,7 @@
 
-
/
+
/
diff --git a/frontend/src/app/shared/pipes/bytes-pipe/bytes.pipe.ts b/frontend/src/app/shared/pipes/bytes-pipe/bytes.pipe.ts index 83fc2433d..b2140f0dc 100644 --- a/frontend/src/app/shared/pipes/bytes-pipe/bytes.pipe.ts +++ b/frontend/src/app/shared/pipes/bytes-pipe/bytes.pipe.ts @@ -17,7 +17,7 @@ export class BytesPipe implements PipeTransform { 'TB': {max: Number.MAX_SAFE_INTEGER, prev: 'GB'} }; - transform(input: any, decimal: number = 0, from: ByteUnit = 'B', to?: ByteUnit, sigfigs?: number): any { + transform(input: any, decimal: number = 0, from: ByteUnit = 'B', to?: ByteUnit, plaintext = false, sigfigs?: number): any { if (!(isNumberFinite(input) && isNumberFinite(decimal) && @@ -42,7 +42,7 @@ export class BytesPipe implements PipeTransform { const result = numberFormat(BytesPipe.calculateResult(format, bytes)); - return BytesPipe.formatResult(result, to); + return BytesPipe.formatResult(result, to, plaintext); } for (const key in BytesPipe.formats) { @@ -51,13 +51,17 @@ export class BytesPipe implements PipeTransform { const result = numberFormat(BytesPipe.calculateResult(format, bytes)); - return BytesPipe.formatResult(result, key); + return BytesPipe.formatResult(result, key, plaintext); } } } - static formatResult(result: string, unit: string): string { - return `${result} ${unit}`; + static formatResult(result: string, unit: string, plaintext): string { + if (plaintext) { + return `${result} ${unit}`; + } else { + return `${result} ${unit}`; + } } static calculateResult(format: { max: number, prev?: ByteUnit }, bytes: number) { diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index 0b4464727..82327c561 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -87,6 +87,7 @@ import { AccelerateFeeGraphComponent } from '../components/accelerate-preview/ac import { MempoolErrorComponent } from './components/mempool-error/mempool-error.component'; import { BlockViewComponent } from '../components/block-view/block-view.component'; +import { EightBlocksComponent } from '../components/eight-blocks/eight-blocks.component'; import { MempoolBlockViewComponent } from '../components/mempool-block-view/mempool-block-view.component'; import { MempoolBlockOverviewComponent } from '../components/mempool-block-overview/mempool-block-overview.component'; import { ClockchainComponent } from '../components/clockchain/clockchain.component'; @@ -126,6 +127,7 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir ColoredPriceDirective, BlockchainComponent, BlockViewComponent, + EightBlocksComponent, MempoolBlockViewComponent, MempoolBlocksComponent, BlockchainBlocksComponent, @@ -179,6 +181,7 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir CalculatorComponent, BitcoinsatoshisPipe, BlockViewComponent, + EightBlocksComponent, MempoolBlockViewComponent, MempoolBlockOverviewComponent, ClockchainComponent, @@ -202,6 +205,7 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir FontAwesomeModule, ], providers: [ + BytesPipe, VbytesPipe, WuBytesPipe, RelativeUrlPipe, From d69cdacd5e0bd410a2f6fb8770b1433d2fb191ea Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 28 Sep 2023 21:54:01 +0100 Subject: [PATCH 214/639] Add numBlocks param --- .../eight-blocks/eight-blocks.component.html | 2 +- .../eight-blocks/eight-blocks.component.ts | 26 ++++++++++++------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.html b/frontend/src/app/components/eight-blocks/eight-blocks.component.html index 382d6056b..6a3bbb7c0 100644 --- a/frontend/src/app/components/eight-blocks/eight-blocks.component.html +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.html @@ -1,5 +1,5 @@
- +
{ - this.handleNewBlock(blocks); - }); - this.queryParamsSubscription = this.route.queryParams.subscribe((params) => { + this.numBlocks = Number.isInteger(Number(params.numBlocks)) ? Number(params.numBlocks) : 8; + this.blockIndices = [...Array(this.numBlocks).keys()]; this.autofit = params.autofit === 'true'; this.padding = Number.isInteger(Number(params.padding)) ? Number(params.padding) : 0; this.blockWidth = Number.isInteger(Number(params.blockWidth)) ? Number(params.blockWidth) : 1080; @@ -124,11 +123,18 @@ export class EightBlocksComponent implements OnInit, OnDestroy { }; if (params.test === 'true') { - this.blocksSubscription.unsubscribe(); + if (this.blocksSubscription) { + this.blocksSubscription.unsubscribe(); + } this.blocksSubscription = (new Subject()).subscribe((blocks) => { - this.handleNewBlock(blocks); + this.handleNewBlock(blocks.slice(0, this.numBlocks)); }); this.shiftTestBlocks(); + } else if (!this.blocksSubscription) { + this.blocksSubscription = this.stateService.blocks$ + .subscribe((blocks) => { + this.handleNewBlock(blocks.slice(0, this.numBlocks)); + }); } }); @@ -146,7 +152,9 @@ export class EightBlocksComponent implements OnInit, OnDestroy { ngOnDestroy(): void { this.stateService.markBlock$.next({}); - this.blocksSubscription?.unsubscribe(); + if (this.blocksSubscription) { + this.blocksSubscription?.unsubscribe(); + } this.cacheBlocksSubscription?.unsubscribe(); this.networkChangedSubscription?.unsubscribe(); this.queryParamsSubscription?.unsubscribe(); @@ -155,7 +163,7 @@ export class EightBlocksComponent implements OnInit, OnDestroy { shiftTestBlocks(): void { const sub = this.apiService.getBlocks$(this.testHeight).subscribe(result => { sub.unsubscribe(); - this.handleNewBlock(result); + this.handleNewBlock(result.slice(0, this.numBlocks)); this.testHeight++; clearTimeout(this.testShiftTimeout); this.testShiftTimeout = window.setTimeout(() => { this.shiftTestBlocks(); }, 10000); From 642be969a3629333865bc8881332732d4c832c33 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 1 Oct 2023 17:59:55 +0100 Subject: [PATCH 215/639] Add more block info, reduce font size --- .../eight-blocks/eight-blocks.component.html | 10 +++--- .../eight-blocks/eight-blocks.component.scss | 35 +++++++++++-------- .../eight-blocks/eight-blocks.component.ts | 13 +++---- 3 files changed, 34 insertions(+), 24 deletions(-) diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.html b/frontend/src/app/components/eight-blocks/eight-blocks.component.html index 6a3bbb7c0..cc4b7a734 100644 --- a/frontend/src/app/components/eight-blocks/eight-blocks.component.html +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.html @@ -16,10 +16,12 @@ >

{{ blockInfo[i].height }}

-

{{ blockInfo[i].hash }}

-

{{ blockInfo[i].time }}

-

{{ blockInfo[i].count }}

-

{{ blockInfo[i].size }}

+

{{ blockInfo[i].id.slice(0, 32) }}
{{ blockInfo[i].id.slice(32) }}

+

{{ blockInfo[i].timeString }}

+

{{ blockInfo[i].tx_count }} transactions

+

{{ blockInfo[i].extras.medianFee | feeRounding }} sat/vB

+

{{ blockInfo[i].size | bytes: 2 : 'B' : 'MB' : true }}

+

Mined by {{ blockInfo[i].extras.pool.name || 'Unknown' }}

diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.scss b/frontend/src/app/components/eight-blocks/eight-blocks.component.scss index bee7d7151..8b7825e8b 100644 --- a/frontend/src/app/components/eight-blocks/eight-blocks.component.scss +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.scss @@ -21,30 +21,37 @@ .info { position: absolute; - left: 10%; - top: 10%; - right: 10%; - bottom: 10%; - height: 80%; - width: 80%; - overflow: hidden; - font-size: calc(var(--block-width) * 0.04); + left: 5%; + top: 5%; + right: 5%; + bottom: 5%; + height: 90%; + width: 90%; + font-size: calc(var(--block-width) * 0.03); + text-shadow: 0 0 calc(var(--block-width) * 0.05) black; h1 { - font-size: 4em; - margin-bottom: 0.1em; + font-size: 3em; + line-height: 1; + margin-bottom: calc(var(--block-width) * 0.03); } h2 { - font-size: 2.5em; - margin-bottom: 0.1em; + font-size: 1.5em; + line-height: 1; + margin-bottom: calc(var(--block-width) * 0.03); } .hash { font-family: monospace; word-wrap: break-word; - font-size: 1em; - margin-bottom: 0.1em; + font-size: 1.2em; + line-height: 1; + margin-bottom: calc(var(--block-width) * 0.03); } } } + + .block-container { + overflow: hidden; + } } \ No newline at end of file diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.ts b/frontend/src/app/components/eight-blocks/eight-blocks.component.ts index 0027a3e7f..63be271d3 100644 --- a/frontend/src/app/components/eight-blocks/eight-blocks.component.ts +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.ts @@ -26,6 +26,10 @@ function bestFitResolution(min, max, n): number { return best; } +interface BlockInfo extends BlockExtended { + timeString: string; +} + @Component({ selector: 'app-eight-blocks', templateUrl: './eight-blocks.component.html', @@ -70,7 +74,7 @@ export class EightBlocksComponent implements OnInit, OnDestroy { testShiftTimeout: number; showInfo: boolean = true; - blockInfo: { [key: string]: string}[] = []; + blockInfo: BlockInfo[] = []; wrapperStyle = { '--block-width': '1080px', @@ -213,11 +217,8 @@ export class EightBlocksComponent implements OnInit, OnDestroy { setTimeout(() => { this.blockInfo = blocks.map(block => { return { - height: `${block.height}`, - hash: block.id, - time: (new Date(block.timestamp * 1000)).toLocaleTimeString(), - count: `${block.tx_count} txs`, - size: `${this.bytesPipe.transform(block.size, 2, 'B', 'MB', true)}`, + ...block, + timeString: (new Date(block.timestamp * 1000)).toLocaleTimeString(), }; }); this.showInfo = true; From fc56f273d44081c572ed35db1c46db23ca3754f9 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 11 Oct 2023 17:49:31 +0000 Subject: [PATCH 216/639] Simplify 8chain block info --- .../eight-blocks/eight-blocks.component.html | 9 ++--- .../eight-blocks/eight-blocks.component.scss | 31 +++++++++++++----- frontend/src/resources/Inter-Bold.ttf | Bin 0 -> 316584 bytes frontend/src/styles.scss | 7 ++++ 4 files changed, 31 insertions(+), 16 deletions(-) create mode 100644 frontend/src/resources/Inter-Bold.ttf diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.html b/frontend/src/app/components/eight-blocks/eight-blocks.component.html index cc4b7a734..59390c953 100644 --- a/frontend/src/app/components/eight-blocks/eight-blocks.component.html +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.html @@ -15,13 +15,8 @@ (txClickEvent)="onTxClick($event)" >
-

{{ blockInfo[i].height }}

-

{{ blockInfo[i].id.slice(0, 32) }}
{{ blockInfo[i].id.slice(32) }}

-

{{ blockInfo[i].timeString }}

-

{{ blockInfo[i].tx_count }} transactions

-

{{ blockInfo[i].extras.medianFee | feeRounding }} sat/vB

-

{{ blockInfo[i].size | bytes: 2 : 'B' : 'MB' : true }}

-

Mined by {{ blockInfo[i].extras.pool.name || 'Unknown' }}

+

{{ blockInfo[i].height }}

+

by {{ blockInfo[i].extras.pool.name || 'Unknown' }}

diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.scss b/frontend/src/app/components/eight-blocks/eight-blocks.component.scss index 8b7825e8b..52faf1651 100644 --- a/frontend/src/app/components/eight-blocks/eight-blocks.component.scss +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.scss @@ -21,22 +21,28 @@ .info { position: absolute; - left: 5%; - top: 5%; - right: 5%; - bottom: 5%; - height: 90%; - width: 90%; + left: 8%; + top: 8%; + right: 8%; + bottom: 8%; + height: 84%; + width: 84%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-family:'Inter'; + font-weight: 700; font-size: calc(var(--block-width) * 0.03); text-shadow: 0 0 calc(var(--block-width) * 0.05) black; h1 { - font-size: 3em; + font-size: 6em; line-height: 1; margin-bottom: calc(var(--block-width) * 0.03); } h2 { - font-size: 1.5em; + font-size: 1.8em; line-height: 1; margin-bottom: calc(var(--block-width) * 0.03); } @@ -44,10 +50,17 @@ .hash { font-family: monospace; word-wrap: break-word; - font-size: 1.2em; + font-size: 1.4em; line-height: 1; margin-bottom: calc(var(--block-width) * 0.03); } + + .mined-by { + position: absolute; + bottom: 0; + margin: auto; + text-align: center; + } } } diff --git a/frontend/src/resources/Inter-Bold.ttf b/frontend/src/resources/Inter-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fe23eeb9c93a377d0f4ab003f1f77b555d19b1d1 GIT binary patch literal 316584 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 #OJ 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ȇ@(g~$ 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 literal 0 HcmV?d00001 diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index c03d79af5..a3600cb1a 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -1171,3 +1171,10 @@ app-global-footer { line-height: 0.5; border-radius: 0.2rem; } + +@font-face { + font-family: "Inter"; + src: url("/resources/Inter-Bold.ttf"); + font-weight: 700; + font-style: normal; +} From 729fb3bb9d173ec9ceda8147e2d6f9d123f23a8b Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 22 Nov 2023 17:15:51 +0900 Subject: [PATCH 217/639] Move standalone blocks page to /view/blocks --- frontend/src/app/app-routing.module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/app-routing.module.ts b/frontend/src/app/app-routing.module.ts index 6365ec873..e123a1525 100644 --- a/frontend/src/app/app-routing.module.ts +++ b/frontend/src/app/app-routing.module.ts @@ -126,7 +126,7 @@ let routes: Routes = [ component: MempoolBlockViewComponent, }, { - path: 'eight-blocks', + path: 'view/blocks', component: EightBlocksComponent, }, { From 1a732f18fc9e6e479b8eecce685b24177d3dcb12 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 22 Nov 2023 17:46:18 +0900 Subject: [PATCH 218/639] Remove font, update 8 block defaults, fix deprecated css --- .../eight-blocks/eight-blocks.component.scss | 7 +++---- .../eight-blocks/eight-blocks.component.ts | 8 ++++---- frontend/src/resources/Inter-Bold.ttf | Bin 316584 -> 0 bytes frontend/src/styles.scss | 7 ------- 4 files changed, 7 insertions(+), 15 deletions(-) delete mode 100644 frontend/src/resources/Inter-Bold.ttf diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.scss b/frontend/src/app/components/eight-blocks/eight-blocks.component.scss index 52faf1651..6d2c9931c 100644 --- a/frontend/src/app/components/eight-blocks/eight-blocks.component.scss +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.scss @@ -5,9 +5,9 @@ display: flex; flex-direction: row; flex-wrap: nowrap; - justify-content: start; - align-items: start; - align-content: start; + justify-content: flex-start; + align-items: flex-start; + align-content: flex-start; &.wrap { flex-wrap: wrap; @@ -31,7 +31,6 @@ flex-direction: column; align-items: center; justify-content: center; - font-family:'Inter'; font-weight: 700; font-size: calc(var(--block-width) * 0.03); text-shadow: 0 0 calc(var(--block-width) * 0.05) black; diff --git a/frontend/src/app/components/eight-blocks/eight-blocks.component.ts b/frontend/src/app/components/eight-blocks/eight-blocks.component.ts index 63be271d3..96ab4dee9 100644 --- a/frontend/src/app/components/eight-blocks/eight-blocks.component.ts +++ b/frontend/src/app/components/eight-blocks/eight-blocks.component.ts @@ -105,10 +105,10 @@ export class EightBlocksComponent implements OnInit, OnDestroy { this.queryParamsSubscription = this.route.queryParams.subscribe((params) => { this.numBlocks = Number.isInteger(Number(params.numBlocks)) ? Number(params.numBlocks) : 8; this.blockIndices = [...Array(this.numBlocks).keys()]; - this.autofit = params.autofit === 'true'; - this.padding = Number.isInteger(Number(params.padding)) ? Number(params.padding) : 0; - this.blockWidth = Number.isInteger(Number(params.blockWidth)) ? Number(params.blockWidth) : 1080; - this.wrapBlocks = params.wrap === 'true'; + this.autofit = params.autofit !== 'false'; + this.padding = Number.isInteger(Number(params.padding)) ? Number(params.padding) : 10; + this.blockWidth = Number.isInteger(Number(params.blockWidth)) ? Number(params.blockWidth) : 540; + this.wrapBlocks = params.wrap !== 'false'; this.stagger = Number.isInteger(Number(params.stagger)) ? Number(params.stagger) : 0; this.animationDuration = Number.isInteger(Number(params.animationDuration)) ? Number(params.animationDuration) : 2000; this.animationOffset = this.padding * 2; diff --git a/frontend/src/resources/Inter-Bold.ttf b/frontend/src/resources/Inter-Bold.ttf deleted file mode 100644 index fe23eeb9c93a377d0f4ab003f1f77b555d19b1d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316584 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 #OJ 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ȇ@(g~$ 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 diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index a3600cb1a..c03d79af5 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -1171,10 +1171,3 @@ app-global-footer { line-height: 0.5; border-radius: 0.2rem; } - -@font-face { - font-family: "Inter"; - src: url("/resources/Inter-Bold.ttf"); - font-weight: 700; - font-style: normal; -} From 04eeb19bb971daab9b8625fef436fecc39d515fc Mon Sep 17 00:00:00 2001 From: wiz Date: Wed, 22 Nov 2023 17:56:56 +0900 Subject: [PATCH 219/639] Fix string in community sponsor CTA button box --- frontend/src/app/components/about/about.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index 391de5ce9..a56e172c8 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -39,7 +39,7 @@ Become a Community Sponsor

- +

If you're a business...

From 9844c3d2758d9cdd19c67eb956a112c16f68f399 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 22 Nov 2023 18:13:41 +0900 Subject: [PATCH 220/639] Restore the calculator --- frontend/src/app/master-page.module.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/src/app/master-page.module.ts b/frontend/src/app/master-page.module.ts index f1c0e2efa..d7ec87030 100644 --- a/frontend/src/app/master-page.module.ts +++ b/frontend/src/app/master-page.module.ts @@ -7,6 +7,7 @@ import { SharedModule } from './shared/shared.module'; import { StartComponent } from './components/start/start.component'; import { AddressComponent } from './components/address/address.component'; import { PushTransactionComponent } from './components/push-transaction/push-transaction.component'; +import { CalculatorComponent } from './components/calculator/calculator.component'; import { BlocksList } from './components/blocks-list/blocks-list.component'; import { RbfList } from './components/rbf-list/rbf-list.component'; @@ -87,6 +88,10 @@ const routes: Routes = [ loadChildren: () => import('./lightning/lightning.module').then(m => m.LightningModule), data: { preload: browserWindowEnv && browserWindowEnv.LIGHTNING === true, networks: ['bitcoin'] }, }, + { + path: 'tools/calculator', + component: CalculatorComponent + }, ], } ]; From 35e108aa1ce946d9b58b64171857b39b3e32f2d4 Mon Sep 17 00:00:00 2001 From: softsimon Date: Wed, 22 Nov 2023 19:26:04 +0900 Subject: [PATCH 221/639] Accelerate button height fix --- .../src/app/components/transaction/transaction.component.html | 4 ++-- .../src/app/components/transaction/transaction.component.scss | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 3e9c2bf52..6a2cdfb92 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -120,7 +120,7 @@ In several hours (or more) - Accelerate + Accelerate @@ -130,7 +130,7 @@ - Accelerate + Accelerate diff --git a/frontend/src/app/components/transaction/transaction.component.scss b/frontend/src/app/components/transaction/transaction.component.scss index 38c4d7755..8a3e13102 100644 --- a/frontend/src/app/components/transaction/transaction.component.scss +++ b/frontend/src/app/components/transaction/transaction.component.scss @@ -61,7 +61,7 @@ } .btn-small-height { - line-height: 1.1; + line-height: 1; } .arrow-green { @@ -259,7 +259,6 @@ .accelerate { display: flex !important; align-self: auto; - margin-top: 3px; margin-left: auto; background-color: #653b9c; @media (max-width: 849px) { From 75cc84467640f55dbbeaf8b7e4e4727bc012806f Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 22 Nov 2023 19:53:22 +0900 Subject: [PATCH 222/639] actually fix empty mempool health score --- backend/src/api/audit.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/api/audit.ts b/backend/src/api/audit.ts index 5aa04637d..0ddfc2cc2 100644 --- a/backend/src/api/audit.ts +++ b/backend/src/api/audit.ts @@ -9,7 +9,7 @@ class Audit { auditBlock(transactions: MempoolTransactionExtended[], projectedBlocks: MempoolBlockWithTransactions[], mempool: { [txId: string]: MempoolTransactionExtended }, useAccelerations: boolean = false) : { censored: string[], added: string[], fresh: string[], sigop: string[], fullrbf: string[], accelerated: string[], score: number, similarity: number } { if (!projectedBlocks?.[0]?.transactionIds || !mempool) { - return { censored: [], added: [], fresh: [], sigop: [], fullrbf: [], accelerated: [], score: 0, similarity: 1 }; + return { censored: [], added: [], fresh: [], sigop: [], fullrbf: [], accelerated: [], score: 1, similarity: 1 }; } const matches: string[] = []; // present in both mined block and template From e5d278873633b559b1469bb66d900bc4459ef5c7 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 23 Nov 2023 10:45:16 +0900 Subject: [PATCH 223/639] [menu] force background color when menu is open --- frontend/src/app/components/menu/menu.component.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/app/components/menu/menu.component.scss b/frontend/src/app/components/menu/menu.component.scss index 8fe651e27..59b04e92c 100644 --- a/frontend/src/app/components/menu/menu.component.scss +++ b/frontend/src/app/components/menu/menu.component.scss @@ -29,6 +29,7 @@ margin-left: 0px; left: 0px; display: block; + background-color: #1d1f31; } .sidenav a, button{ From 8badacf123102212b578ff1747b8a98e319651b0 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 23 Nov 2023 14:54:50 +0900 Subject: [PATCH 224/639] [accelerator] fix preview text wrap not working on safari/firefox [accelerator] polish accelerator preview --- .../accelerate-preview.component.html | 22 +++++++++---------- .../accelerate-preview.component.scss | 13 ++++++----- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index 2869d02ae..980774d7c 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -40,7 +40,7 @@
+ Size in vbytes of this transaction and its unconfirmed ancestors
+ Fees already paid by this transaction and its unconfirmed ancestors
Next block market rate + {{ estimate.targetFeeRate | number : '1.0-0' }} sat/vB sats - +
sats - +
sats - +
sats - +
+ If your tx is accelerated to {{ estimate.targetFeeRate | number : '1.0-0' }} sat/vB
sats - +
+ If your tx is accelerated to ~{{ ((estimate.txSummary.effectiveFee + userBid) / estimate.txSummary.effectiveVsize) | number : '1.0-0' }} sat/vB
sats - + Virtual size
@@ -48,7 +48,7 @@ In-band fees + {{ estimate.txSummary.effectiveFee | number : '1.0-0' }} sats
Avg Health Avg Block FeesEmpty blocksEmpty Blocks
@@ -233,7 +233,7 @@

-
Memory usage
+
Memory Usage
 
@@ -256,7 +256,7 @@ -
Incoming transactions
+
Incoming Transactions
 Backend is synchronizing ({{ mempoolLoadingStatus$ | async }}%) diff --git a/frontend/src/app/docs/docs/docs.component.ts b/frontend/src/app/docs/docs/docs.component.ts index 2793fd70d..329faeff7 100644 --- a/frontend/src/app/docs/docs/docs.component.ts +++ b/frontend/src/app/docs/docs/docs.component.ts @@ -62,12 +62,13 @@ export class DocsComponent implements OnInit { } else { this.seoService.setDescription($localize`:@@meta.description.docs.websocket-bitcoin:Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more.`); } + /* } else { this.activeTab = 3; - this.seoService.setTitle($localize`:@@meta.title.docs.websocket:Electrum RPC`); + this.seoService.setTitle($localize`:@@meta.title.docs.electrum:Electrum RPC`); this.seoService.setDescription($localize`:@@meta.description.docs.electrumrpc:Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance.`); + */ } - } ngOnDestroy(): void { diff --git a/frontend/src/app/lightning/group/group.component.html b/frontend/src/app/lightning/group/group.component.html index de85b299e..c1ffe7f6d 100644 --- a/frontend/src/app/lightning/group/group.component.html +++ b/frontend/src/app/lightning/group/group.component.html @@ -14,7 +14,7 @@
TXID
- + @@ -70,7 +70,7 @@
DescriptionDescription
These are the Lightning nodes operated by The Mempool Open Source Project that provide data for the mempool.space website. Connect to us!
- + diff --git a/frontend/src/app/lightning/node/node.component.html b/frontend/src/app/lightning/node/node.component.html index 11ddbc0eb..8f9f9ad70 100644 --- a/frontend/src/app/lightning/node/node.component.html +++ b/frontend/src/app/lightning/node/node.component.html @@ -133,11 +133,11 @@
Raw bits
{{ node.featuresBits }} -
Decoded
+
Decoded
AliasConnectConnect Location
- + diff --git a/frontend/src/app/shared/components/fee-rate/fee-rate.component.html b/frontend/src/app/shared/components/fee-rate/fee-rate.component.html index bd684369c..c3e1615ff 100644 --- a/frontend/src/app/shared/components/fee-rate/fee-rate.component.html +++ b/frontend/src/app/shared/components/fee-rate/fee-rate.component.html @@ -1,4 +1,4 @@ - {{ fee / (weight / 4) | feeRounding:rounding }} sat/vB - {{ fee / weight | feeRounding:rounding }} sat/WU + {{ fee / (weight / 4) | feeRounding:rounding }} sat/vB + {{ fee / weight | feeRounding:rounding }} sat/WU \ No newline at end of file diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.html b/frontend/src/app/shared/components/global-footer/global-footer.component.html index 505b82bf9..f216afc89 100644 --- a/frontend/src/app/shared/components/global-footer/global-footer.component.html +++ b/frontend/src/app/shared/components/global-footer/global-footer.component.html @@ -38,45 +38,45 @@
-

fiat price

+

Price

-

priority rate

+

High Priority

-

block size

+

Size

- - {{ i }} transaction - {{ i }} transactions + {{ blocks[blockIndex].tx_count | number }} + Transactions

-

memory usage

+

Memory Usage

{{ mempoolInfo.size | number }}

-

unconfirmed

+

Unconfirmed

diff --git a/frontend/src/app/components/clock/clock.component.scss b/frontend/src/app/components/clock/clock.component.scss index 64929aa38..34aadcd74 100644 --- a/frontend/src/app/components/clock/clock.component.scss +++ b/frontend/src/app/components/clock/clock.component.scss @@ -63,6 +63,7 @@ .label { font-size: calc(0.04 * var(--clock-width)); line-height: calc(0.05 * var(--clock-width)); + text-transform: lowercase; } &.top { diff --git a/frontend/src/app/components/graphs/graphs.component.html b/frontend/src/app/components/graphs/graphs.component.html index 8468deb82..94241b825 100644 --- a/frontend/src/app/components/graphs/graphs.component.html +++ b/frontend/src/app/components/graphs/graphs.component.html @@ -22,7 +22,7 @@ Block Sizes and WeightsBlock Health + [routerLink]="['/graphs/mining/block-health' | relativeUrl]" i18n="mining.blocks-health">Block Health diff --git a/frontend/src/app/components/pool/pool.component.html b/frontend/src/app/components/pool/pool.component.html index e1806086e..bf902dbf6 100644 --- a/frontend/src/app/components/pool/pool.component.html +++ b/frontend/src/app/components/pool/pool.component.html @@ -143,7 +143,7 @@
BitNameName Required
- + @@ -165,7 +165,7 @@
Blocks 24hBlocks (24h) 1w All
- + @@ -433,7 +433,7 @@
Blocks 24hBlocks (24h) 1w All
- + @@ -458,7 +458,7 @@
Blocks 24hBlocks (24h) 1w All
- + diff --git a/frontend/src/app/components/rbf-list/rbf-list.component.html b/frontend/src/app/components/rbf-list/rbf-list.component.html index c3206d37a..06c1ada8e 100644 --- a/frontend/src/app/components/rbf-list/rbf-list.component.html +++ b/frontend/src/app/components/rbf-list/rbf-list.component.html @@ -33,7 +33,7 @@
-

there are no replacements in the mempool yet!

+

There are no replacements in the mempool yet!

diff --git a/frontend/src/app/components/rbf-list/rbf-list.component.ts b/frontend/src/app/components/rbf-list/rbf-list.component.ts index 1ae14702b..0721c7fdf 100644 --- a/frontend/src/app/components/rbf-list/rbf-list.component.ts +++ b/frontend/src/app/components/rbf-list/rbf-list.component.ts @@ -55,7 +55,7 @@ export class RbfList implements OnInit, OnDestroy { }) ); - this.seoService.setTitle($localize`:@@meta.title.rbf-list:RBF Replacements`); + this.seoService.setTitle($localize`:@@5e3d5a82750902f159122fcca487b07f1af3141f:RBF Replacements`); this.seoService.setDescription($localize`:@@meta.description.rbf-list:See the most recent RBF replacements on the Bitcoin${seoDescriptionNetwork(this.stateService.network)} network, updated in real-time.`); } diff --git a/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html b/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html index 540da7480..0a5c40b3f 100644 --- a/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html +++ b/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html @@ -30,7 +30,7 @@ - + diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 1f393f037..97854fd60 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -99,7 +99,7 @@ diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 8f511f6a3..bde593b38 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -4277,7 +4277,7 @@ src/app/components/rbf-list/rbf-list.component.html - 25 + 23 src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html @@ -4364,7 +4364,11 @@ Full RBF src/app/components/rbf-list/rbf-list.component.html - 26 + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 src/app/dashboard/dashboard.component.html @@ -4376,7 +4380,7 @@ There are no replacements in the mempool yet! src/app/components/rbf-list/rbf-list.component.html - 36 + 34 rbf.no-replacements-yet @@ -4436,27 +4440,35 @@ status - - Full RBF - - src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html - 35 - - Full RBF - rbfInfo-features.tag.full-rbf - RBF src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html 36 + RBF + rbfInfo-features.tag.rbf + + + RBF src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html 37 + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + RBF - rbfInfo-features.tag.rbf + tx-features.tag.rbf Miners Reward @@ -5374,19 +5386,6 @@ RBF tooltip - - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method @@ -5470,14 +5469,6 @@ Transaction Status transaction.status - - RBF - - src/app/dashboard/dashboard.component.html - 102 - - transaction.rbf - Recent blocks From bebd2ea028ee7f872c17fb041e504aa3cc44db27 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 26 Nov 2023 15:48:44 +0900 Subject: [PATCH 239/639] More i18n fixes (3) --- .../accelerate-preview.component.html | 16 +- .../app/components/block/block.component.html | 2 +- .../calculator/calculator.component.html | 4 +- frontend/src/app/docs/docs/docs.component.ts | 2 - .../node/node-preview.component.html | 2 +- frontend/src/locale/messages.xlf | 193 ++++++++++-------- 6 files changed, 121 insertions(+), 98 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index 2a075f1e2..e40d6b5c9 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -51,7 +51,7 @@ In-band fees @@ -76,7 +76,7 @@
@@ -110,7 +110,7 @@ {{ math.max(0, estimate.nextBlockFee - estimate.txSummary.effectiveFee) | number }}
@@ -130,7 +130,7 @@ +{{ estimate.mempoolBaseFee | number }} @@ -142,7 +142,7 @@ +{{ estimate.vsizeFee | number }} @@ -159,7 +159,7 @@ @@ -182,7 +182,7 @@ - + diff --git a/frontend/src/app/components/calculator/calculator.component.html b/frontend/src/app/components/calculator/calculator.component.html index 5e084403d..e4ade67d2 100644 --- a/frontend/src/app/components/calculator/calculator.component.html +++ b/frontend/src/app/components/calculator/calculator.component.html @@ -26,7 +26,7 @@
- sats + sats
@@ -41,7 +41,7 @@
- sats + sats
diff --git a/frontend/src/app/docs/docs/docs.component.ts b/frontend/src/app/docs/docs/docs.component.ts index 329faeff7..6d6c3b0c1 100644 --- a/frontend/src/app/docs/docs/docs.component.ts +++ b/frontend/src/app/docs/docs/docs.component.ts @@ -62,12 +62,10 @@ export class DocsComponent implements OnInit { } else { this.seoService.setDescription($localize`:@@meta.description.docs.websocket-bitcoin:Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more.`); } - /* } else { this.activeTab = 3; this.seoService.setTitle($localize`:@@meta.title.docs.electrum:Electrum RPC`); this.seoService.setDescription($localize`:@@meta.description.docs.electrumrpc:Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance.`); - */ } } diff --git a/frontend/src/app/lightning/node/node-preview.component.html b/frontend/src/app/lightning/node/node-preview.component.html index eae076bf5..6eb5b7848 100644 --- a/frontend/src/app/lightning/node/node-preview.component.html +++ b/frontend/src/app/lightning/node/node-preview.component.html @@ -49,7 +49,7 @@ diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index bde593b38..78e788d70 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -1506,7 +1506,7 @@ satshared.sat - + sats src/app/components/accelerate-preview/accelerate-preview.component.html @@ -1540,8 +1540,67 @@ src/app/components/accelerate-preview/accelerate-preview.component.html 208 - sats - shared.sats + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats sat/vB @@ -2754,6 +2813,10 @@ src/app/lightning/channel/closing-type/closing-type.component.ts 32 + + src/app/lightning/node/node-preview.component.html + 52 + src/app/lightning/node/node.component.html 58 @@ -2869,6 +2932,35 @@ block.actual-block + + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits @@ -5321,31 +5413,6 @@ Tooltip about fees saved with taproot - - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot @@ -5682,6 +5749,20 @@ 63 + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 + + Base fee @@ -6159,62 +6240,6 @@ channels.id - - sats - - src/app/lightning/channels-list/channels-list.component.html - 63 - - - src/app/lightning/channels-list/channels-list.component.html - 87 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63 - - - src/app/lightning/group/group-preview.component.html - 34 - - - src/app/lightning/group/group.component.html - 32 - - - src/app/lightning/group/group.component.html - 83 - - - src/app/lightning/justice-list/justice-list.component.html - 28 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79 - - shared.sats - avg From f0c88ff6ccf6a627f6b81b0295349a7b87360cc9 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 26 Nov 2023 16:03:53 +0900 Subject: [PATCH 240/639] Fix duplicate recent block i18n --- frontend/src/app/dashboard/dashboard.component.html | 2 +- frontend/src/locale/messages.xlf | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 97854fd60..4025a45d0 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -110,7 +110,7 @@
-
Recent blocks
+
Recent Blocks
 
diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 78e788d70..38d9626c5 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -3981,6 +3981,10 @@ src/app/components/mining-dashboard/mining-dashboard.component.html 52 + + src/app/dashboard/dashboard.component.html + 113 + src/app/shared/components/global-footer/global-footer.component.html 44 @@ -5536,14 +5540,6 @@ Transaction Status transaction.status - - Recent blocks - - src/app/dashboard/dashboard.component.html - 113 - - dashboard.recent-block - Recent Transactions From f67848b0430fefcd40df95ca0368d7e2e134c2f4 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 26 Nov 2023 16:10:18 +0900 Subject: [PATCH 241/639] Merging another duplicate i18n string --- .../rbf-timeline-tooltip.component.html | 2 +- .../channels-list/channels-list.component.html | 2 +- frontend/src/locale/messages.xlf | 18 +++++++----------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html b/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html index 72703a6c2..84e20b75f 100644 --- a/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html +++ b/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html @@ -30,7 +30,7 @@
- + - + diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 38d9626c5..a27a05949 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -4524,17 +4524,22 @@ Transaction first seentransaction.first-seen - + Status src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html 33 + + src/app/dashboard/dashboard.component.html + 88 + src/app/lightning/channels-list/channels-list.component.html 40 - status + Transaction Status + transaction.status RBF @@ -5531,15 +5536,6 @@ dashboard.new-transaction-fee - - Status - - src/app/dashboard/dashboard.component.html - 88 - - Transaction Status - transaction.status - Recent Transactions From 3cff01b21e57f3c8afced78f21065f48e0570356 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 26 Nov 2023 16:20:46 +0900 Subject: [PATCH 242/639] Merging another duplicate i18n string --- .../src/app/components/footer/footer.component.html | 2 +- frontend/src/app/lightning/node/node.component.html | 2 +- frontend/src/locale/messages.xlf | 12 ++++-------- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/frontend/src/app/components/footer/footer.component.html b/frontend/src/app/components/footer/footer.component.html index cc5d1f9b9..9c0369827 100644 --- a/frontend/src/app/components/footer/footer.component.html +++ b/frontend/src/app/components/footer/footer.component.html @@ -11,7 +11,7 @@
 
‎{{ mempoolInfoData.vBytesPerSecond | ceil | number }} vB/s
-
‎{{ mempoolInfoData.vBytesPerSecond * 4 | ceil | number }} WU/s
+
‎{{ mempoolInfoData.vBytesPerSecond * 4 | ceil | number }} WU/s
diff --git a/frontend/src/app/lightning/node/node.component.html b/frontend/src/app/lightning/node/node.component.html index 8f9f9ad70..445eba1c2 100644 --- a/frontend/src/app/lightning/node/node.component.html +++ b/frontend/src/app/lightning/node/node.component.html @@ -119,7 +119,7 @@ -
+ - + diff --git a/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.scss b/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.scss index 00f6d94f7..9ad50fc30 100644 --- a/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.scss +++ b/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.scss @@ -19,4 +19,17 @@ .td-width { padding-right: 10px; +} + +.badge.badge-accelerated { + background-color: #653b9c; + box-shadow: #ad7de57f 0px 0px 12px -2px; + color: white; + animation: acceleratePulse 1s infinite; +} + +@keyframes acceleratePulse { + 0% { background-color: #653b9c; box-shadow: #ad7de57f 0px 0px 12px -2px; } + 50% { background-color: #8457bb; box-shadow: #ad7de5 0px 0px 18px -2px;} + 100% { background-color: #653b9c; box-shadow: #ad7de57f 0px 0px 12px -2px; } } \ No newline at end of file From 966adf5963621f787076721ef509c83013f11be6 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 5 Dec 2023 13:40:17 +0000 Subject: [PATCH 283/639] Show accelerated fee rates on mined tx pages --- .../transaction/transaction.component.html | 24 +++++++++++++---- .../transaction/transaction.component.scss | 5 ++++ .../transaction/transaction.component.ts | 27 ++++++++++++++++++- .../src/app/interfaces/node-api.interface.ts | 23 ++++++++++++++++ frontend/src/app/services/api.service.ts | 10 ++++++- 5 files changed, 82 insertions(+), 7 deletions(-) diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 2d1b31a5a..b496ec6d1 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -512,18 +512,32 @@   - + - - - + + + + + + + - - - - - + + + +
Blocks 24hBlocks (24h) 1w All
StatusStatus Full RBF RBF diff --git a/frontend/src/app/components/statistics/statistics.component.html b/frontend/src/app/components/statistics/statistics.component.html index 0bb10a1c3..fa63590b0 100644 --- a/frontend/src/app/components/statistics/statistics.component.html +++ b/frontend/src/app/components/statistics/statistics.component.html @@ -14,7 +14,7 @@ [class]="(stateService.env.MINING_DASHBOARD || stateService.env.LIGHTNING) ? 'mining' : 'no-menu'" (click)="saveGraphPreference()"> diff --git a/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html b/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html index 0a5c40b3f..72703a6c2 100644 --- a/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html +++ b/frontend/src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html @@ -32,9 +32,9 @@
Status - Full RBF + Full RBF RBF - RBF + RBF Mined
Mined Full RBF - RBF + RBF
- {{ estimate.txSummary.effectiveFee | number : '1.0-0' }} sats + {{ estimate.txSummary.effectiveFee | number : '1.0-0' }} sats
- sats + sats
- sats + sats
- sats + sats
- sats + sats
- sats + sats @@ -205,7 +205,7 @@ {{ estimate.userBalance | number }} - sats + sats diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index e65905cd2..7e00f3cec 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -262,7 +262,7 @@
Version{{ block.version | decimal2hex }} Taproot{{ block.version | decimal2hex }} Taproot
Bits
Location - unknown + Unknown
StatusStatus Full RBF RBF diff --git a/frontend/src/app/lightning/channels-list/channels-list.component.html b/frontend/src/app/lightning/channels-list/channels-list.component.html index b7b18892e..876551dc7 100644 --- a/frontend/src/app/lightning/channels-list/channels-list.component.html +++ b/frontend/src/app/lightning/channels-list/channels-list.component.html @@ -37,7 +37,7 @@
Alias  StatusStatus Fee rate Closing date Capacity FeaturesFeatures {{ bits }} diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index a27a05949..baad5170e 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -1072,6 +1072,10 @@ src/app/components/transaction/transaction.component.html 141 + + src/app/lightning/node/node.component.html + 122 + Transaction features transaction.features @@ -6785,14 +6789,6 @@ tor - - Features - - src/app/lightning/node/node.component.html - 122 - - lightning.features - Decoded From 478873302c6d45595ddb39ea834cf51b7c57ef55 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 26 Nov 2023 16:20:57 +0900 Subject: [PATCH 243/639] Merging another duplicate i18n string --- frontend/src/locale/messages.xlf | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index baad5170e..9429afc54 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -3608,14 +3608,18 @@ vB/s shared.vbytes-per-second - + WU/s src/app/components/footer/footer.component.html 14 - vB/s - shared.weight-units-per-second + + src/app/dashboard/dashboard.component.html + 268 + + WU/s + shared.weight-per-second Mempool size @@ -5582,15 +5586,6 @@ dashboard.incoming-transactions - - WU/s - - src/app/dashboard/dashboard.component.html - 268 - - WU/s - shared.weight-per-second - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc. From 1cece1037a262d317ba56cd643181adc8f8ffcb3 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 26 Nov 2023 16:29:20 +0900 Subject: [PATCH 244/639] Disclaimer i18n fix --- frontend/src/app/docs/api-docs/api-docs.component.html | 6 +++--- frontend/src/locale/messages.xlf | 10 +++------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index 48a8bf418..eee02790c 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -10,9 +10,9 @@
-

mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.

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

-

mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.

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

- +
+
+

mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.

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

diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 9429afc54..e0d66f18f 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -5586,15 +5586,11 @@ dashboard.incoming-transactions - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc. + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 13 - - - src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer From 8ae4c75c1aa176b7cef4f68da47d44b91c9f1fc8 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 26 Nov 2023 16:59:45 +0900 Subject: [PATCH 245/639] Fixing one last i18n string --- frontend/src/app/components/rbf-list/rbf-list.component.html | 2 +- frontend/src/locale/messages.xlf | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/rbf-list/rbf-list.component.html b/frontend/src/app/components/rbf-list/rbf-list.component.html index bdc7dfa77..78815544c 100644 --- a/frontend/src/app/components/rbf-list/rbf-list.component.html +++ b/frontend/src/app/components/rbf-list/rbf-list.component.html @@ -6,7 +6,7 @@
+ All
diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index e0d66f18f..fa4a302b8 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -1943,6 +1943,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 From 63ba273dbe480ffd0e20592ef629f9f980580c22 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 26 Nov 2023 17:00:34 +0900 Subject: [PATCH 246/639] Pull from transifex 11/25 --- frontend/src/locale/messages.ar.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.ca.xlf | 4943 +++++++++++++++---------- frontend/src/locale/messages.cs.xlf | 5030 +++++++++++++++---------- frontend/src/locale/messages.da.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.de.xlf | 5068 ++++++++++++++++---------- frontend/src/locale/messages.es.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.fa.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.fi.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.fr.xlf | 5030 +++++++++++++++---------- frontend/src/locale/messages.he.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.hi.xlf | 4962 +++++++++++++++---------- frontend/src/locale/messages.hr.xlf | 4864 +++++++++++++++---------- frontend/src/locale/messages.hu.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.it.xlf | 5256 ++++++++++++++++----------- frontend/src/locale/messages.ja.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.ka.xlf | 5022 +++++++++++++++---------- frontend/src/locale/messages.ko.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.lt.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.mk.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.nb.xlf | 5030 +++++++++++++++---------- frontend/src/locale/messages.ne.xlf | 5096 ++++++++++++++++---------- frontend/src/locale/messages.nl.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.pl.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.pt.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.ro.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.ru.xlf | 5112 +++++++++++++++----------- frontend/src/locale/messages.sl.xlf | 4986 +++++++++++++++---------- frontend/src/locale/messages.sv.xlf | 5166 ++++++++++++++++---------- frontend/src/locale/messages.th.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.tr.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.uk.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.vi.xlf | 5024 +++++++++++++++---------- frontend/src/locale/messages.zh.xlf | 5024 +++++++++++++++---------- 33 files changed, 100063 insertions(+), 65982 deletions(-) diff --git a/frontend/src/locale/messages.ar.xlf b/frontend/src/locale/messages.ar.xlf index 8431eb666..372ab7ffa 100644 --- a/frontend/src/locale/messages.ar.xlf +++ b/frontend/src/locale/messages.ar.xlf @@ -5,273 +5,271 @@ Close مغلق - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Slide of - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - السابق - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - التالي - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - اختر الشهر - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - اختر السنة - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - الشهر السابق - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - الشهر التالي - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - أول - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - السابق - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - التالي - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - آخر - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH ساعة - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - ساعات - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - دقيقة - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - دقائق - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - ساعات إضافية - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - انتقاص الساعات - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - دقائق إضافية - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - انتقاص الدقائق - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - ثانية - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - ثوان - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - ثواني اضافيه - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - انتقاص الثوان - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close مغلق - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + اختر الشهر + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + الشهر السابق + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + ساعات + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + السابق + + node_modules/src/ngb-config.ts + 13 + + + + MM + دقيقة + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + اختر السنة + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + الشهر التالي + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + التالي + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + دقائق + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + ساعات إضافية + + node_modules/src/ngb-config.ts + 13 + + + + First + أول + + node_modules/src/ngb-config.ts + 13 + + + + Previous + السابق + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + انتقاص الساعات + + node_modules/src/ngb-config.ts + 13 + + + + Next + التالي + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + دقائق إضافية + + node_modules/src/ngb-config.ts + 13 + + + + Last + آخر + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + انتقاص الدقائق + + node_modules/src/ngb-config.ts + 13 + + + + SS + ثانية + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + ثوان + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + ثواني اضافيه + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + انتقاص الثوان + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block الكتلة @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ كتلة : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ كتل BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ ارتفاع src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ تم تأكيد src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ المعاملات src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ حجم التداول في Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ الأسواق src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ أسواق البتكوين src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ السعر src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ احدث التداولات src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index مؤشر السعر Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ سعر سوق Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ عرض المزيد 》 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - شروط الخدمة - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - سياسة الخصوصية - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers طلبات الشراء src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ طلبات البيع src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ كمية () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics احصائيات BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date التاريخ src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ الكمية src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ حوالة src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - تأكيد - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - تأكيدات - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block مدرجة في الكتلة src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ الخصائص src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ الرسوم لكل بايت افتراضي src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details التفاصيل src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ المدخلات والمخرجات src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ معاملات BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ معرّف الحوالة src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ تم تأكيد src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ تنقيه src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ تحديد الكل src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades تداولات @@ -1443,7 +1452,7 @@ مشروع Mempool مفتوح المصدر src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ الميم بول و مستكشف سلسلة الكتل خاص لمجتمع البتكوين ، يركز على سوق رسوم المعاملات للأنظمة متعددة الطبقات ، مستضاف ذاتيًا تمامًا دون الثقة بأي جهات خارجية. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 رعاة المشروع 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - رعاة من المجتمع ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ تكاملات (Integrations) مجتمعية src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ التحالفات المجتمعية src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ مترجمو المشروع src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ المساهمون في المشروع src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ أعضاء المشروع src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ فريق صيانة المشروع src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ حول src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + ساتوشي + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + ساتوشي + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + ساتوشي/بايت + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of متعددة التواقيع من @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ العنوان: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ مجموعة من الأصول src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker المؤشر src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ نطاق المصدر src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ معرف الأصول src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ خطأ في تحميل بيانات الأصول. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ غير متصل src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ إعاده الاتصال... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ شبكات الطبقة 2 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ لوحة التحكم src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ احصائيات src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ المستندات src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ معدلات رسوم الكتل src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: في الكتله: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ تقريبا في الكتلة: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ رسوم الكتلة src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks فهرس الكتل src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + لا يوجد بيانات للعرض، يرجى المحاولة لاحقا. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ غير متاح src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - ساتوشي - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate معدل الرسوم @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - ساتوشي/بايت + + Effective fee rate + معدل الرسوم الفعلي src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + الحجم الافتراضي + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + حالة التدقيق + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + مطابق + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + مزال + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + هامش معدل الرسوم + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + تم البث مؤخرا + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + مضاف + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + مكافأة الكتلة + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + حجم و وزن الكتل + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + الحجم + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + الوزن + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + الحجم لكل الوزن + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + الكتلة : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + كتلة + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + متوسط ​​الرسوم + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + الرسوم الكلية + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + المعدن + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + الكتلة القادمة + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + الكتلة السابقة + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + الصحة + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + غير معروف + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + نطاق الرسوم + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + بناءً على متوسط معاملة native segwit التي يبلغ حجمها 140 ف بايت + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - الحجم الافتراضي - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - حالة التدقيق - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - مطابق - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - مزال - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - هامش معدل الرسوم - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - تم البث مؤخرا - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - مضاف - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - دقة توقع الكتلة - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - لا يوجد بيانات للعرض، يرجى المحاولة لاحقا. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - معدل المطابقة - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - مكافأة الكتلة - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - حجم و وزن الكتل - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - الحجم - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - الوزن - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - الحجم لكل الوزن - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - كتلة - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - متوسط ​​الرسوم - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - الرسوم الكلية - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - المعدن - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - الكتلة : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - الكتلة القادمة - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - الكتلة السابقة - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - الصحة - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - غير معروف - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - نطاق الرسوم - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - بناءً على متوسط معاملة native segwit التي يبلغ حجمها 140 ف بايت - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ كفالة + رسوم src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ متوقع src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ تجريبي src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ فعلي src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ الكتله المتوقعه src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ الكتله الحاليه src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits وحدات صغيرة. src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ الصعوبه src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ رمز أحادي فردي الإستخدام. src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ عنوان الكتلة الست عشري src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ مراجعة src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ التفاصيل src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ خطأ في تحميل البيانات. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ لماذا الكتلة فارغة؟ src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - تم تعدينه - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward المكافأة src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ الرسوم src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ التحويلات src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! تم النسخ! @@ -3063,12 +3447,60 @@ 19 + + High Priority + أولوية عالية + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + غير مؤكدة + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted معدلة src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ تغير src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ تعديل الصعوبة src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ متبقي src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - كتل + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ متوقعة src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ السابق src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ الفترة الحالية src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ الانقسام التالي src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ الكتل المتوقعة src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ الكتله المتوقعه src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ الكتل المعدنه src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ الكتله المعدنه src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ الكتل المتبقية src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ الكتلة المتبقية src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ كتل قادمه src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ كتله قادمه src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ كتل وراء src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ كتله وراء src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ متوسط وقت الكتل src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ إما ضعف الحد الأدنى أو معدل الأولوية المنخفضة (أيهما أقل) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ لا توجد أولوية src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ عادةً ما تضع معاملتك بين كتل الميم بول الثانية والثالثة src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ أولوية منخفضة src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ عادةً ما تضع معاملتك بين كتل الأولى والثانية src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ أولوية متوسطة src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ يضع حوالتك في الكتلة الأولى للميم بول src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - أولوية عالية - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions الحوالات الواردة src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ يتم مزامنة الباك اند src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ بايتات افتراضية\الثانية src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - غير مؤكدة + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size حجم الميم بول src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ معدل التجزئة src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ معدل التجزئة و معدل الصعوبة src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) (متوسط) معدل التجزئة src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ الرسوم البيانية src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ لوح معلومات التعدين src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ مستكشف البرق src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ توثيق src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks حزمة من كتل ميم بول src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ كتلة ميم بول src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ نطاق src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ المجموع src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats إحصائيات المكافأة @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - احدث الكتل + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - بث معاملة + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - حظ احواض التعدين + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ الحظ العام لجميع أحواض التعدين خلال الأسبوع الماضي. الحظ الأكبر من 100٪ يعني أن متوسط وقت الكتلة الحالي أقل من 10 دقائق. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - عدد الاحواض + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ كم عدد أحواض التعدين الفريدة التي وجدت كتلة واحدة على الأقل خلال الأسبوع الماضي. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ عدد الكتل المعثور عليها خلال الاسبوع الماضي. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ الترتيب src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ معدل الصحة. src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - الكتل الفارغة + + Avg Block Fees + متوسط رسوم الكتلة src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ كل المعدنين src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - حظ التجمعات (الاسبوع) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - عدد التجمعات (الاسبوع) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools تجمعات التعدين @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks كتل src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ اخرى () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ تجمعات التعدين src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ العلامات src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all عرض الكل src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ إخفاء src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ معدل التجزئة (٢٤ س) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - المتوقع + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - مبلغ عنها - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - الحظ - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - كتل تم تعدينها - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - ٢٤ ساعه - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ ١ أسبوع src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + تم تعدينه + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag علامة كوين بيس src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + بث معاملة + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex الرقم الست عشري للعملية @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + اول رؤية + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + استبدل بالرسوم + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward مكافأة المعدنين @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ المبلغ الذي يتم دفعه لمعدنين في الـ ١٤٤ كتله الماضية src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - متوسط رسوم الكتلة - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks متوسط الرسوم لكل كتلة خلال 144 كتلة الماضية src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ بتكوين / كتلة src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ متوسط الرسوم المدفوعة لكل معاملة في الـ ١٤٤ كتلة الماضية src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ ساتوشي/عملية src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - مكافئة لكل عملية - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem استكشف كامل أنظمة البتكوين src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ بحث src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view وضع التلفزيون src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ تصفية src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ عكس src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ حجم التحويلات في الثانية (بايت افتراضي/ثانية) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now الآن src/app/components/time/time.component.ts - 79 + 90 ago منذ - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - في ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + في ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - بعد src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + بعد src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + كوين بيس + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: هذه الحوالة تم استبدالها بـ: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - هذه العملية استبدلت: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - مستبدل - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - غير مؤكده - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - اول رؤية - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA الوقت المقدر للوصول src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ بعد عدة ساعات (أو أكثر) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant منحدر src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ الاصل src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow التدفق src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ اخف الرسم البياني src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ اعرض المزيد src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ قلل العرض src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ اعرض الرسم االبياني src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime وقت القفل src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. الحوالة غير موجودة. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ في انتظار ظهورها على mempool src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - معدل الرسوم الفعلي + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - كوين بيس - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (عملات تم إنشاؤها حديثًا) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ ربط src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ شوهد src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ نتائج التجزئة النصية العالقة 2 للشاهد النصي المنفصل. src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ ن التسلسل src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ نص النتائج السابقة. src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ نوع المخرجات السابقة src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out to src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ النتيجة النصية لمعاملات بتكوين(عملية عكسية لإلغاء الرموز النصية) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ النتيجة النصيةلمعاملات بتكوين (سلسلة ارقام سداسية عشرية) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ اعرض المزيد من المدخلات لتوضيح بيانات الرسوم src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ متبقي src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot هذه العملية تستخدم Taproot ووفرت ٪ من الرسوم ولكن كان بالامكان التوفير الاضافي بمقدار ٪ لو استخدمت Taproot بشكل كامل @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - استبدل بالرسوم - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method لا تدعم هذه المعاملة (الاستبدال بالرسوم) ولا يمكن دفع الرسوم باستخدام هذه الطريقة @@ -5308,25 +5883,48 @@ رسوم التحويل src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - احدث التحويلات + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee الحد الادنى للعمولة src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ تطهير src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - استخدام الذاكرة - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC المتداول src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - يوفر mempool.space بيانات حول شبكة البتكوين. لا يمكننا مساعدتك في استرداد الأموال ، وتأكيد معاملتك بشكل أسرع ، وما إلى ذلك. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ اعادة تشغيل خادم API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ نقطة النهاية src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ وصف src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ الدفع الإعتيادي:إجراء:أريد, بيانات:[’الكتل’،...]لتحدديد ما تريد دفعه.متوفر:كتل،;كتل عقود للعمليات غير المعلنة،جدول-2h-مباشر،وإحصاءات .دفع المعاملات المرتبطة بالعنوان:’إتبع-عنوان’: ’3PbJ...bF98’للحصول على معاملة جديدة تحتوي ذلك العنوان كإدخال و إخراج. إرجاع مصفوف المعاملات.عنوان المعاملاتلكتل العقود غير المعلنة الجديدة، و معاملات الكتللالمعاملات المؤكدة في الكتل الجديدة. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ مثال على الرمز src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ تنزيل المجموعة src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ الاستجابة src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - أسئلة متكررة src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ رصيد البداية src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ رصيد الاقفال src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ قناة برق src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ غير نشط src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ نشط src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ مغلق src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ منشأة src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ السعة src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel قناة البرق src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ آخر تحديث src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ تاريخ الاغلاق src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ مغلقة من src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ عملية الفتح src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ عملية الاغلاق src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ مفتوحة src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ لايوجد قنوات للعرض src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ مسمى src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - الحالة - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID معرف القناة src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - ساتوشي - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg متوسط src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ متوسط src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ متوسط السعة src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ متوسط معدل الرسوم src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ متوسط معدل الرسوم المفروضة من الأنواد الموجهة، مع تجاهل معدل الرسوم < ٠.٥٪ أو ٥٠٠٠ ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ متوسط رسوم الأساس src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ متوسط معدل الرسوم المفروضة من الأنواد الموجهة، مع تجاهل معدل الرسوم < 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ متوسطة السعة src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ معدل رسوم متوسط src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ وسيط معدل الرسوم المفروضة من الأنواد الموجهة، مع تجاهل معدل الرسوم < ٠.٥٪ أو ٥٠٠٠ ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ رسوم أساس متوسطة src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ وسيط معدل الرسوم المفروضة من الأنواد الموجهة، مع تجاهل معدل الرسوم < 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ مجموعة نود البرق src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ أنواد src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ السيولة src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ القنوات src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ حجم متوسط src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location الموقع src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics احصائيات الشبكة @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution توزع الرسوم @@ -6429,11 +7078,11 @@ الرسوم الصادرة src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ رسوم واردة src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ نسبة التغير للاسبوع الماضي src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ نود برق src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ السعة النشطة src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ القنوات النشطة src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ الدولة src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size متوسط حجم القناة src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ متوسط مسافة القناة src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ اللون src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ مزود خدمة الانترنت src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ حصرية على تور src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad اشهار سيولة src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ معدل رسوم العقد src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ أساس رسوم العقد src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ وزن التمويل src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ معدل رسوم القناة src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ أساس رسوم القناة src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ عقد سريع src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV extension records src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ قنوات مفتوحة src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ قنوات مغلقة src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ نود: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ ( أنواد تور مستثناة) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map قنوات أنواد البرق على خريطة العالم + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ لا يوجد معلومات عن الموقع الجغرافي src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ خارطة القنوات النشطة src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress تجري الفهرسة src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ كليرنت ودارك نت src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ كليرنت فقط (IPv4 ، IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ الداركنت فقط (Tor، I2P، cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ مشاركة src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes العقد src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ سعة BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ عدد مزودي الانترنت src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ أعلى مزودي الانترنت src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity سعة الكليرنت src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ حجم السيولة الجاري في الأنواد التي تشهر عنوان IP كليرنت واحد على الأقل src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ سعة غير معروفة src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ حجم السيولة الجاري في الأنواد التي لا يعرف مزود خدمة الانترنت لها src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ سعة تور src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ حجم السيولة الجاري في الأنواد التي تحمل عناوين تور فقط src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ أعلى 100 مزود انترنت يستضيفون أنواد برق src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + تجري الفهرسة + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ مزود خدمة انترنت للبرق src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ أعلى دولة src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ أعلى نود src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: أنواد برق على مزود الانترنت: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ أنواد نشطة src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ أعلى وأقدم 1000 نود برق src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes أقدم الأنواد @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - تجري الفهرسة + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + غير مؤكده + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + شروط الخدمة + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + سياسة الخصوصية + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.ca.xlf b/frontend/src/locale/messages.ca.xlf index 48d9623ac..aaeae0770 100644 --- a/frontend/src/locale/messages.ca.xlf +++ b/frontend/src/locale/messages.ca.xlf @@ -5,269 +5,269 @@ Close Tancar - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Anterior - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Següent - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Seleccioneu el mes - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Seleccioneu l'any - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Mes anterior - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Següent mes - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Primer - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Anterior - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Següent - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Últim - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Hores - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minuts - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Incrementar hores - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Reduir hores - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Incrementar minuts - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Reduir minuts - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Segons - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Incrementar segons - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Reduir segons - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Tancar - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Seleccioneu el mes + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Mes anterior + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Hores + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Anterior + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Seleccioneu l'any + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Següent mes + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Següent + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minuts + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Incrementar hores + + node_modules/src/ngb-config.ts + 13 + + + + First + Primer + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Anterior + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Reduir hores + + node_modules/src/ngb-config.ts + 13 + + + + Next + Següent + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Incrementar minuts + + node_modules/src/ngb-config.ts + 13 + + + + Last + Últim + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Reduir minuts + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Segons + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Incrementar segons + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Reduir segons + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 @@ -313,7 +313,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -354,15 +354,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -378,15 +378,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -397,6 +397,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block @@ -418,7 +425,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -435,31 +442,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -481,7 +488,14 @@ Block : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -489,7 +503,7 @@ BSQ Blocs src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -498,31 +512,31 @@ Alçada src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -531,7 +545,7 @@ Confirmat src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -540,7 +554,7 @@ Transaccions src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -552,15 +566,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -573,23 +599,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -597,11 +630,11 @@ Bisq volum de negociació src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -610,11 +643,11 @@ Mercats src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -623,11 +656,11 @@ Mercats de Bitcoin src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -648,15 +681,15 @@ Preu src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -668,7 +701,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -698,24 +735,38 @@ Últims intercanvis src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq index de preus src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -724,7 +775,7 @@ Bisq preu de mercat src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -732,11 +783,11 @@ View more » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -756,67 +807,12 @@ dashboard.view-more - - Terms of Service - Condicions del servei - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Ofertes de compra src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -825,7 +821,7 @@ Ofertes de venda src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -833,14 +829,28 @@ Amount () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ estadístiques @@ -893,7 +903,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -914,19 +924,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -969,12 +979,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Data src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -982,11 +999,11 @@ Quantitat src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -994,7 +1011,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1038,15 +1055,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1058,11 +1075,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1071,23 +1088,27 @@ Transacció src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1095,54 +1116,12 @@ shared.transaction - - confirmation - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Inclòs al bloc src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1152,15 +1131,19 @@ Característiques src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1170,29 +1153,38 @@ Quota per vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detalls src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1201,19 +1193,19 @@ Entrades & Sortides src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1226,11 +1218,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1238,7 +1237,7 @@ BSQ Transaccions src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1246,15 +1245,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1262,11 +1265,15 @@ Confirmat src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1304,11 +1311,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1387,7 +1394,7 @@ Filtre src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1395,7 +1402,7 @@ Seleccionar tot src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1406,6 +1413,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Intercanvis @@ -1426,7 +1440,7 @@ The Mempool Open Source Project src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1434,24 +1448,55 @@ Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Empreses patrocinadores 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Patrocinadors de la comunitat ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1459,7 +1504,7 @@ Community Integrations src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1467,7 +1512,7 @@ Community Alliances src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1475,7 +1520,7 @@ Project Translators src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1484,7 +1529,7 @@ Col·laboradors del projecte src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1492,7 +1537,7 @@ Project Members src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1501,7 +1546,7 @@ Mantenidors del projecte src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1510,21 +1555,176 @@ Sobre src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of @@ -1557,11 +1757,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1569,11 +1769,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1581,7 +1781,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1589,11 +1789,22 @@ Address: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1648,15 +1859,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1770,11 +1985,11 @@ Group of assets src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1794,7 +2009,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1813,23 +2028,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1850,16 +2069,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Símbol src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1868,11 +2094,11 @@ Domini emissor src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1881,11 +2107,11 @@ ID del actiu src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1894,7 +2120,7 @@ Error al carregar les dades dels actius. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1903,15 +2129,15 @@ Sense connexió src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1920,15 +2146,15 @@ Reconectant src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1937,15 +2163,15 @@ Xarxes de capa 2 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1954,15 +2180,15 @@ Panell src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -1971,7 +2197,7 @@ Estadístiques src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -1979,11 +2205,11 @@ Docs src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -1991,7 +2217,7 @@ Block Fee Rates src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2003,41 +2229,48 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 Around block: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 Block Fees src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2049,27 +2282,34 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2077,18 +2317,74 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 not available src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2099,13 +2395,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2113,33 +2413,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Quota d'intercanvi @@ -2149,11 +2427,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2161,41 +2439,547 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Quota efectiva d'intercanvi src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Mida virtual + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Mida + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Pes + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Quota mediana + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Quotes totals + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Miner + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Rang de quotes + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2217,477 +3001,17 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Mida virtual - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Mida - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Pes - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Quota mediana - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Quotes totals - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Miner - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Rang de quotes - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip Subsidy + fees src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2696,7 +3020,7 @@ Expected src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2704,11 +3028,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2716,7 +3040,7 @@ Actual src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2724,7 +3048,7 @@ Expected Block src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2732,16 +3056,45 @@ Actual Block src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2749,7 +3102,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2758,27 +3111,27 @@ Dificultat src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2786,7 +3139,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2794,7 +3147,7 @@ Block Header Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2802,7 +3155,7 @@ Audit src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2812,23 +3165,31 @@ Detalls src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2837,23 +3198,23 @@ Error loading data. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2861,7 +3222,7 @@ Why is this block empty? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2873,56 +3234,51 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Minat - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -2930,15 +3286,15 @@ Fees src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -2947,30 +3303,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Copiat! @@ -2979,11 +3368,57 @@ 19 + + High Priority + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -2991,7 +3426,7 @@ Change src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3000,11 +3435,11 @@ Canvi de dificultat src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3017,31 +3452,31 @@ Restant src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3057,11 +3492,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3069,11 +3504,11 @@ Estimate src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3081,11 +3516,11 @@ Previous src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3093,11 +3528,7 @@ Current Period src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3105,7 +3536,15 @@ Next Halving src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3113,7 +3552,7 @@ blocks expected src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3121,7 +3560,7 @@ block expected src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3129,7 +3568,7 @@ blocks mined src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3137,7 +3576,7 @@ block mined src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3145,7 +3584,7 @@ blocks remaining src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3153,7 +3592,7 @@ block remaining src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3161,7 +3600,7 @@ blocks ahead src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3169,7 +3608,7 @@ block ahead src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3177,7 +3616,7 @@ blocks behind src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3185,7 +3624,7 @@ block behind src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3193,7 +3632,7 @@ Average block time src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3201,7 +3640,7 @@ Either 2x the minimum, or the Low Priority rate (whichever is lower) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3209,11 +3648,11 @@ No Priority src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3221,7 +3660,7 @@ Usually places your transaction in between the second and third mempool blocks src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3229,11 +3668,11 @@ Low Priority src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3241,7 +3680,7 @@ Usually places your transaction in between the first and second mempool blocks src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3249,11 +3688,11 @@ Medium Priority src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3261,32 +3700,16 @@ Places your transaction in the first mempool block src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Transaccions entrants src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3294,11 +3717,11 @@ Backend is synchronizing src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3307,34 +3730,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mida de la memòria src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3355,7 +3778,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3367,7 +3790,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3395,7 +3818,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3403,7 +3826,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3415,7 +3838,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3423,7 +3846,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3435,7 +3858,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3447,7 +3870,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3463,7 +3886,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3479,7 +3902,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3487,27 +3910,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3515,23 +3938,30 @@ Hashrate & Difficulty src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3560,15 +3990,15 @@ Gràfiques src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3576,11 +4006,15 @@ Mining Dashboard src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3588,19 +4022,23 @@ Lightning Explorer src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning Documentation src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3608,34 +4046,60 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 Mempool block src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 Range src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 Sum src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats @@ -3652,18 +4116,21 @@ mining.144-blocks - - Latest blocks - Últims blocs + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3673,30 +4140,12 @@ dashboard.adjustments - - Broadcast Transaction + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3706,11 +4155,15 @@ mining.miners-luck-1w - - Pools luck + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3718,7 +4171,7 @@ The overall luck of all mining pools over the past week. A luck bigger than 100% means the average block time for the current epoch is less than 10 minutes. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3730,11 +4183,15 @@ mining.miners-count-1w - - Pools count + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3742,7 +4199,7 @@ How many unique pools found at least one block over the past week. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3754,11 +4211,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3766,7 +4223,7 @@ The number of blocks found over the past week. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3774,15 +4231,15 @@ Rank src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3790,19 +4247,55 @@ Avg Health src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks + + Avg Block Fees src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3810,26 +4303,10 @@ All miners src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools @@ -3837,38 +4314,45 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 Other () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3876,18 +4360,18 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 mining pool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -3895,47 +4379,58 @@ Tags src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -3943,7 +4438,7 @@ Hide src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -3951,111 +4446,39 @@ Hashrate (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4063,26 +4486,80 @@ 1w src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Minat + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex @@ -4091,10 +4568,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Vist per primera vegada + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward @@ -4103,11 +4723,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4115,27 +4735,15 @@ Amount being paid to miners in the past 144 blocks src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4143,7 +4751,7 @@ BTC/block src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4156,7 +4764,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4164,7 +4776,7 @@ Fee paid on average for each transaction in the past 144 blocks src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4172,28 +4784,24 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4202,7 +4810,7 @@ Buscar src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4278,12 +4886,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view Mode TV src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4295,7 +4915,7 @@ Filter src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4304,7 +4924,7 @@ Invertir src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4312,68 +4932,42 @@ Transaction vBytes per second (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Ara mateix src/app/components/time/time.component.ts - 79 + 90 ago - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4382,16 +4976,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4415,24 +5018,15 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ src/app/components/time/time.component.ts 141 @@ -4441,16 +5035,25 @@ src/app/components/time/time.component.ts 142 - - - After src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4474,24 +5077,15 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After src/app/components/time/time.component.ts 164 @@ -4500,88 +5094,98 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Sense confirmar - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Vist per primera vegada - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4591,20 +5195,33 @@ D'aquí unes hores (o més) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4613,20 +5230,29 @@ Ancestor src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4635,7 +5261,7 @@ Hide diagram src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4643,15 +5269,15 @@ Show more src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4659,11 +5285,11 @@ Show less src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4671,23 +5297,41 @@ Show diagram src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4696,35 +5340,25 @@ Esperant a que apareixi a la memòria... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Quota efectiva d'intercanvi + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Noves monedes generades) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4732,7 +5366,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4741,7 +5375,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4751,7 +5385,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4760,7 +5394,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4768,7 +5402,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4776,7 +5410,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4784,7 +5418,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -4793,7 +5427,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -4801,7 +5435,7 @@ Previous output script src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -4809,7 +5443,7 @@ Previous output type src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -4817,7 +5451,7 @@ Peg-out to src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -4826,7 +5460,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -4836,7 +5470,7 @@ ScriptPubKey (HEX)  src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -4845,7 +5479,7 @@ Show more inputs to reveal fee data src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -4853,7 +5487,7 @@ remaining src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -4947,31 +5581,6 @@ Tooltip about fees saved with taproot - - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot @@ -5012,20 +5621,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method @@ -5074,25 +5669,48 @@ Quota de transacció src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Últimes transaccions + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Quota mínima src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5101,38 +5719,32 @@ Purging src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Ús de memòria - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5140,7 +5752,7 @@ REST API service src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5148,11 +5760,11 @@ Endpoint src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5161,18 +5773,22 @@ Descripció src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-blocks, live-2h-chart, and stats.Push transactions related to address: 'track-address': '3PbJ...bF9B' to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5181,19 +5797,19 @@ Codi de exemple src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5202,7 +5818,7 @@ Instal·lar el paquet src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5211,31 +5827,85 @@ Resposta src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5246,7 +5916,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5258,15 +5928,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5334,11 +6004,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5346,7 +6016,7 @@ Starting balance src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5355,7 +6025,7 @@ Closing balance src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5364,7 +6034,7 @@ lightning channel src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5372,15 +6042,15 @@ Inactive src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5388,15 +6058,15 @@ Active src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5404,19 +6074,23 @@ Closed src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5424,11 +6098,11 @@ Created src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5436,15 +6110,19 @@ Capacity src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5456,43 +6134,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5500,31 +6178,42 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5532,31 +6221,31 @@ Last update src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5564,11 +6253,11 @@ Closing date src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5576,7 +6265,7 @@ Closed by src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5584,7 +6273,11 @@ Opening transaction src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5592,7 +6285,11 @@ Closing transaction src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5628,7 +6325,7 @@ Open src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5636,7 +6333,7 @@ No channels to display src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5644,111 +6341,55 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -5756,7 +6397,7 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -5764,11 +6405,11 @@ Avg Capacity src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -5776,11 +6417,11 @@ Avg Fee Rate src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -5788,7 +6429,7 @@ The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -5796,11 +6437,11 @@ Avg Base Fee src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -5808,7 +6449,7 @@ The average base fee charged by routing nodes, ignoring base fees > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -5816,7 +6457,7 @@ Med Capacity src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -5824,7 +6465,7 @@ Med Fee Rate src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -5832,7 +6473,7 @@ The median fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -5840,7 +6481,7 @@ Med Base Fee src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -5848,7 +6489,7 @@ The median base fee charged by routing nodes, ignoring base fees > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -5856,11 +6497,11 @@ Lightning node group src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -5868,35 +6509,39 @@ Nodes src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -5904,31 +6549,31 @@ Liquidity src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -5936,11 +6581,11 @@ Channels src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5952,55 +6597,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6008,54 +6653,71 @@ Average size src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics @@ -6088,16 +6750,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6110,12 +6768,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution @@ -6128,37 +6801,37 @@ Outgoing Fees src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 Incoming Fees src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 Percentage change past week src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6166,15 +6839,15 @@ Lightning node src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6182,11 +6855,11 @@ Active capacity src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6194,11 +6867,11 @@ Active channels src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6206,15 +6879,26 @@ Country src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6222,7 +6906,7 @@ Avg channel distance src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6230,7 +6914,7 @@ Color src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6238,11 +6922,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6250,15 +6934,24 @@ Exclusively on Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6266,7 +6959,7 @@ Lease fee rate src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6275,7 +6968,7 @@ Lease base fee src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6283,7 +6976,7 @@ Funding weight src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6291,7 +6984,7 @@ Channel fee rate src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6300,7 +6993,7 @@ Channel base fee src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6308,7 +7001,7 @@ Compact lease src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6316,7 +7009,7 @@ TLV extension records src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6324,7 +7017,7 @@ Open channels src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6332,7 +7025,7 @@ Closed channels src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6340,31 +7033,38 @@ Node: src/app/lightning/node/node.component.ts - 60 + 62 (Tor nodes excluded) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6374,97 +7074,118 @@ No geolocation data available src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 Active channels map src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 Clearnet and Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 Clearnet Only (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 Darknet Only (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 Share src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 BTC capacity src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6479,7 +7200,7 @@ ISP Count src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6487,7 +7208,7 @@ Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6498,15 +7219,22 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6514,7 +7242,7 @@ How much liquidity is running on nodes advertising at least one clearnet IP address src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6522,11 +7250,11 @@ Unknown Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6534,7 +7262,7 @@ How much liquidity is running on nodes which ISP was not identifiable src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6542,11 +7270,11 @@ Tor Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6554,7 +7282,7 @@ How much liquidity is running on nodes advertising only Tor addresses src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6562,26 +7290,38 @@ Top 100 ISPs hosting LN nodes src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6589,11 +7329,11 @@ Top country src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6601,7 +7341,7 @@ Top node src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6616,6 +7356,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: @@ -6628,7 +7379,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6636,7 +7387,7 @@ Active nodes src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6644,7 +7395,7 @@ Top 100 oldest lightning nodes src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -6655,6 +7406,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes @@ -6670,13 +7442,286 @@ 22 - - Indexing in progress + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Sense confirmar + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Condicions del servei + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.cs.xlf b/frontend/src/locale/messages.cs.xlf index 86a8afc34..ab6843d67 100644 --- a/frontend/src/locale/messages.cs.xlf +++ b/frontend/src/locale/messages.cs.xlf @@ -5,273 +5,271 @@ Close Zavřít - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Slide z - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Předchozí - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Další - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Vybrat měsíc - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Vybrat rok - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Předchozí měsíc - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Příští měsíc - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - První - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Předchozí - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Další - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Poslední - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Hodiny - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minuty - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Přírůstek hodin - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Snížení hodin - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Přírůstek minut - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Snížení minut - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Sekundy - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Přírůstek sekund - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Snížení sekund - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Zavřít - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Vybrat měsíc + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Předchozí měsíc + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Hodiny + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Předchozí + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Vybrat rok + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Příští měsíc + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Další + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minuty + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Přírůstek hodin + + node_modules/src/ngb-config.ts + 13 + + + + First + První + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Předchozí + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Snížení hodin + + node_modules/src/ngb-config.ts + 13 + + + + Next + Další + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Přírůstek minut + + node_modules/src/ngb-config.ts + 13 + + + + Last + Poslední + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Snížení minut + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Sekundy + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Přírůstek sekund + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Snížení sekund + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Blok @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Blok : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ Bloky src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Výška src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Potvrzeno src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Transakce src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Objem obchodování Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Trhy src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Bitcoinové trhy src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Cena src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Poslední obchody src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Cenový index Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Tržní cena na Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Zobrazit více » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Podmínky služby - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Ochrana osobních údajů - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Nabídky k nákupu src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Nabídky k prodeji src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Částka () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ statistiky @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Datum src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Množství src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Transakce src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - potvrzení - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - potvrzení - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Zahrnuto v bloku src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Funkce src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Poplatek za vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detaily src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Vstupy a Výstupy src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ Transakce src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Potvrzeno src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ FIltr src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Vybrat vše src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Obchody @@ -1443,7 +1452,7 @@ Open source projekt Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Náš průzkumník mempoolu a blockchainu pro bitcoinovou komunitu se zaměřením na trh transakčních poplatků a vícevrstvý ekosystém. Je zcela samostatně hostovaný bez nutnosti důvěry třetích stran. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Firemní sponzoři 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Komunitní sponzoři ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Komunitní integrace src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Komunitní aliance src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Překladatelé projektu src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Přispěvatelé projektu src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Členové projektu src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Správci projektu src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ O projektu src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig z @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Adresa: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Skupina aktiv src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Vydavatelská doména src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ID aktiva src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Chyba při načítání dat aktiv. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Offline src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Opětovné připojení... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Sítě 2. vrstvy src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Rozcestník src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Statistiky src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Dokumenty src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Sazby poplatků za blok src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: V bloku: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Kolem bloku: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Poplatky za blok src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indexování bloků src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Zatím se nezobrazují žádná data. Zkuste to později. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ není k dispozici src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Poplatek @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Efektivní poplatek src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Virtuální velikost + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Stav auditu + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Shoda + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Odstraněno + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Mezní sazba poplatku + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Nedávno odvysílané + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Přidané + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Odměny za blok + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Velikosti a váhy bloků + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Velikost + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Váha + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Velikost dle váhy + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Blok : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Blok + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Střední poplatek + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Celkové poplatky + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Těžař + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Další blok + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Předchozí blok + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Zdraví + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Neznámo + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Rozsah poplatků + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Na základě průměrné transakce nativního segwitu 140 vBytů + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Virtuální velikost - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Stav auditu - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Shoda - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Odstraněno - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Mezní sazba poplatku - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Nedávno odvysílané - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Přidané - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Přesnost předpovědi bloku - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Zatím se nezobrazují žádná data. Zkuste to později. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Míra shody - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Odměny za blok - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Velikosti a váhy bloků - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Velikost - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Váha - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Velikost dle váhy - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Blok - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Střední poplatek - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Celkové poplatky - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Těžař - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Blok : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Další blok - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Předchozí blok - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Zdraví - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Neznámo - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Rozsah poplatků - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Na základě průměrné transakce nativního segwitu 140 vBytů - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Vytěžené + poplatky src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Očekávané src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Aktuální src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Očekávaný blok src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Aktuální blok src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bity src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merklův kořen src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Obtížnost src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Hlavička bloku Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Audit src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Detaily src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Chyba při načítání dat. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Proč je tento blok prázdný? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Vytěžen - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Odměna src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Poplatky src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ Počet TX src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Zkopírováno! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Vysoká priorita + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Nepotvrzeno + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Upravené src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Změna src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Změna obtížnosti src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Zbývá src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - bloky + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Odhad src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Předchozí src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Současné období src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,39 +3624,51 @@ Další půlení src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving blocks expected + očekávaných bloků src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks block expected + očekávaný blok src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block blocks mined + vytěžených bloků src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks block mined + vytěžený blok src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3238,7 +3677,7 @@ zbývá bloků src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3247,7 +3686,7 @@ zbývá blok src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3256,7 +3695,7 @@ za bloků src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3265,7 +3704,7 @@ za blok src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3274,7 +3713,7 @@ Před bloků src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3283,7 +3722,7 @@ Před blok src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3292,7 +3731,7 @@ Průměrná perioda bloků src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3301,7 +3740,7 @@ Buď dvojnásobek minimální sazby, nebo sazba Nízká priorita (podle toho, která je nižší). src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3310,11 +3749,11 @@ Bez priority src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3323,7 +3762,7 @@ Obvykle umístí transakci mezi druhý a třetí blok mempoolu. src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3332,11 +3771,11 @@ Nízká priorita src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3345,7 +3784,7 @@ Obvykle umístí transakci mezi první a druhý blok mempoolu. src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3354,11 +3793,11 @@ Střední priorita src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3367,33 +3806,16 @@ Umístí transakci do prvního bloku mempoolu. src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Vysoká priorita - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Příchozí transakce src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3402,11 +3824,11 @@ Backend se synchronizuje src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3415,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Nepotvrzeno + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Velikost Mempoolu src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3466,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3479,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3510,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3518,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3531,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3539,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3552,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3565,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3582,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3599,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3608,27 +4029,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3637,24 +4058,31 @@ Hashrate & obtížnost src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Hashrate (KP) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3686,15 +4114,15 @@ Grafy src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3703,11 +4131,15 @@ Přehled těžby src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3716,12 +4148,16 @@ Lightning průzkumník src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3729,7 +4165,7 @@ Dokumentace src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3737,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Zásobník bloků mempoolu src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3750,7 +4193,18 @@ Mempool blok src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3758,7 +4212,7 @@ Rozsah src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3766,9 +4220,17 @@ Součet src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Statistiky odměn @@ -3787,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Poslední bloky + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3809,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Vyslat transakci + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3844,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Štěstí poolů + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3858,7 +4307,7 @@ 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. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3871,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Počet poolů + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3885,7 +4337,7 @@ Kolik unikátních poolů našlo za poslední týden alespoň jeden blok. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3898,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3911,7 +4363,7 @@ Počet nalezených bloků za poslední týden. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3920,15 +4372,15 @@ Pořadí src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3937,20 +4389,56 @@ Průměrné zdraví src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Prázdné bloky + + Avg Block Fees + Průměrné poplatky za blok src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3959,28 +4447,10 @@ Všichni těžaři src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Štěstí poolů (1t) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Počet poolů (1t) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Těžební pooly @@ -3989,39 +4459,47 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks bloků src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 Other () + Další () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4029,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4041,7 +4519,7 @@ těžební pool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4050,48 +4528,59 @@ Štítky src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Zobrazit vše src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4100,7 +4589,7 @@ Skrýt src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4109,116 +4598,39 @@ Hashrate (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Odhadované + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Nahlášené - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Štěstí - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Vytěžené bloky - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4227,27 +4639,82 @@ 1t src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Vytěžen + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Coinbase štítek src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Vyslat transakci + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Transakční hex @@ -4257,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Poprvé viděna + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Odměna pro těžaře @@ -4270,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4283,29 +4893,16 @@ Částka vyplacená těžařům v posledních 144 blocích src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Průměrné poplatky za blok - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Průměrné poplatky za blok v posledních 144 blocích src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4314,7 +4911,7 @@ BTC/blok src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4328,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4337,7 +4938,7 @@ Poplatek zaplacený v průměru za každou transakci v posledních 144 blocích src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4346,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Odměna za Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Prozkoumejte celý Bitcoin ekosystém src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4378,7 +4974,7 @@ Vyhledávání src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4463,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV pohled src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4481,7 +5089,7 @@ Filtr src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4490,7 +5098,7 @@ Převrátit src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4499,69 +5107,43 @@ Transakce vBytů za sekundu (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Právě teď src/app/components/time/time.component.ts - 79 + 90 ago Před - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4570,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - In ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4604,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + In ~ src/app/components/time/time.component.ts 141 @@ -4630,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Po src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4664,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Po src/app/components/time/time.component.ts 164 @@ -4690,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Tato transakce byla nahrazena: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Tato transakce nahradila: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Nahrazeno - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Nepotvrzeno - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Poprvé viděna - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4784,21 +5374,34 @@ Za několik hodin (nebo více) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Potomek src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4808,21 +5411,30 @@ Předek src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Tok src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4832,7 +5444,7 @@ Skrýt diagram src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4841,15 +5453,15 @@ Zobrazit více src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4858,11 +5470,11 @@ Zobrazit méně src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4871,25 +5483,43 @@ Zobrazit diagram src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transakce nebyla nalezena. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4898,35 +5528,25 @@ Čekání na to, až se objeví v mempoolu... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Efektivní poplatek + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Nově vytvořené mince) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4935,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4944,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4954,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4964,7 +5584,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4973,7 +5593,7 @@ P2SH redeem skript src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4982,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4991,7 +5611,7 @@ P2WSH witness skript src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5000,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5009,7 +5629,7 @@ Předchozí výstupní skript src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5018,7 +5638,7 @@ Předchozí typ výstupu src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5027,7 +5647,7 @@ Peg-out na src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5036,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5046,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5056,7 +5676,7 @@ Zobrazit další vstupy pro odhalení údajů o poplatcích src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5065,7 +5685,7 @@ zbývající src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5167,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Tato transakce využívá Taproot a již ušetřila nejméně % na poplatcích, ale mohla by ušetřit další % při plném využití Taproot. @@ -5238,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Tato transakce NEPODPORUJE Replace-by-Fee (RBF) a nelze ji pomocí této metody navýšit o poplatek @@ -5303,25 +5883,48 @@ Transakční poplatky src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Poslední transakce + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Minimální poplatek src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5331,40 +5934,33 @@ Čištění src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Využití paměti - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC v oběhu src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space pouze poskytuje údaje o Bitcoinové síti. Nemůže vám pomoci při získávání finančních prostředků, rychlejším potvrzování transakcí atd. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5373,7 +5969,7 @@ Služba REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5382,11 +5978,11 @@ Endpoint src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5395,11 +5991,15 @@ Popis src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5407,7 +6007,7 @@ Výchozí push: akce: 'want', data: ['blocks', ...] pro vyjádření toho, co chcete pushnout. K dispozici: blocks, mempool-blocks, live-2h-chart a stats. Push transakce související s adresou: 'track-address': '3PbJ...bF9B' pro příjem všech nových transakcí obsahujících tuto adresu jako vstup nebo výstup. Vrací pole transakcí. address-transactions pro nové transakce mempoolu a block-transactions pro nové transakce potvrzené blokem. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5416,19 +6016,19 @@ Příklad kódu src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5437,7 +6037,7 @@ Nainstalujte balíček src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5446,32 +6046,85 @@ Odezva src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - Časté dotazy src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5483,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5496,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5580,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5593,7 +6246,7 @@ Počáteční zůstatek src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5603,7 +6256,7 @@ Konečný zůstatek src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5613,7 +6266,7 @@ Lightning kanál src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5622,15 +6275,15 @@ Neaktivní src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5639,15 +6292,15 @@ Aktivní src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5656,19 +6309,23 @@ Uzavřeno src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5677,11 +6334,11 @@ Vytvořeno src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5690,15 +6347,19 @@ Kapacita src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5710,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5755,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Lightning kanál src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5789,31 +6461,31 @@ Poslední aktualizace src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5822,11 +6494,11 @@ Datum uzavření src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5835,7 +6507,7 @@ Uzavřeno src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5844,7 +6516,11 @@ Otvírací transakce src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5853,7 +6529,11 @@ Uzavírací transakce src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5894,7 +6574,7 @@ Otevřeno src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5903,7 +6583,7 @@ Žádné kanály k zobrazení src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5912,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID kanálu src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg prům src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6029,7 +6651,7 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6038,11 +6660,11 @@ Prům. kapacita src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6051,11 +6673,11 @@ Průměrná sazba poplatků src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6064,7 +6686,7 @@ Průměrná sazba poplatků účtovaná směrovacími uzly, přičemž se ignorují sazby poplatků > 0,5% nebo 5000 ppm. src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6073,11 +6695,11 @@ Prům. základní poplatek src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6086,7 +6708,7 @@ Průměrný základní poplatek účtovaný směrovacími uzly, bez ohledu na základní poplatky > 5000ppm. src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6095,7 +6717,7 @@ Mediánová kapacita src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6104,7 +6726,7 @@ Mediánový poplatek src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6113,7 +6735,7 @@ Mediánová sazba poplatků účtovaná směrovacími uzly, přičemž se neberou v úvahu sazby poplatků > 0,5% nebo 5000 ppm. src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6122,7 +6744,7 @@ Mediánový základní poplatek src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6131,7 +6753,7 @@ Medián základních poplatků účtovaných směrovacími uzly, přičemž se neberou v úvahu základní poplatky > 5000ppm. src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6140,11 +6762,11 @@ Skupina Lightning uzlů src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6153,35 +6775,39 @@ Uzly src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6190,31 +6816,31 @@ Likvidita src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6223,11 +6849,11 @@ Kanály src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6239,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6296,55 +6922,72 @@ Průměrná velikost src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Lokalita src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Síťové statistiky @@ -6381,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6404,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Rozložení poplatků @@ -6424,11 +7078,11 @@ Odchozí poplatky src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6436,11 +7090,11 @@ Příchozí poplatky src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6448,15 +7102,15 @@ Procentuální změna za poslední týden src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6465,15 +7119,15 @@ Lightning uzel src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6482,11 +7136,11 @@ Aktivní kapacita src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6495,11 +7149,11 @@ Aktivní kanály src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6508,16 +7162,27 @@ Země src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Průměrná velikost kanálu src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6526,7 +7191,7 @@ Průměrná vzdálenost kanálů src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6535,7 +7200,7 @@ Barva src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6544,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6557,16 +7222,25 @@ Výhradně na Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Inzerát na likviditu src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6575,7 +7249,7 @@ Sazba poplatku za pronájem src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6585,7 +7259,7 @@ Základní poplatek za pronájem src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6594,7 +7268,7 @@ Váha financování src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6603,7 +7277,7 @@ Sazba poplatku za kanál src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6613,7 +7287,7 @@ Základní poplatek za kanál src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6622,7 +7296,7 @@ Kompaktní pronájem src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6631,7 +7305,7 @@ Záznamy o rozšíření TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6640,7 +7314,7 @@ Otevřené kanály src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6649,7 +7323,7 @@ Uzavřené kanály src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6658,7 +7332,7 @@ Uzel: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6666,25 +7340,32 @@ (bez Tor uzlů) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Světová mapa kanálů Lightning uzlů + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6695,7 +7376,7 @@ Nejsou k dispozici žádné geolokační údaje src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6703,20 +7384,34 @@ Mapa aktivních kanálů src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Probíhá indexování src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6724,11 +7419,11 @@ Clearnet a Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6736,11 +7431,11 @@ Pouze Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6748,11 +7443,11 @@ Pouze Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6760,31 +7455,39 @@ Sdílet src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes + uzlů src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6792,7 +7495,7 @@ BTC kapacita src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6809,7 +7512,7 @@ Počet ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6818,7 +7521,7 @@ Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6830,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Kapacita clearnetu src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6848,7 +7558,7 @@ Kolik likvidity běží na uzlech, které inzerují alespoň jednu IP adresu clearnetu. src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6857,11 +7567,11 @@ Neznámá kapacita src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6870,7 +7580,7 @@ Kolik likvidity běží na uzlech, jejichž ISP nebylo možné identifikovat. src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6879,11 +7589,11 @@ Tor kapacita src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6892,7 +7602,7 @@ Kolik likvidity běží na uzlech inzerujících pouze Tor adresy src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6901,20 +7611,33 @@ 100 nejlepších ISP hostujících LN uzly src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Probíhající indexace + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6922,7 +7645,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6931,11 +7654,11 @@ Top země src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6944,7 +7667,7 @@ Top uzel src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6960,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Lightning uzly na ISP: @@ -6974,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6983,7 +7717,7 @@ Aktivní uzly src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6992,7 +7726,7 @@ 100 nejstarších lightning uzlů src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7004,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Nejstarší uzly @@ -7021,14 +7776,287 @@ 22 - - Indexing in progress - Probíhající indexace + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Nepotvrzeno + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Podmínky služby + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Ochrana osobních údajů + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.da.xlf b/frontend/src/locale/messages.da.xlf index 685648f28..dd48f4b26 100644 --- a/frontend/src/locale/messages.da.xlf +++ b/frontend/src/locale/messages.da.xlf @@ -5,273 +5,271 @@ Close Luk - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Slide af - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Forrige - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Næste - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Vælg måned - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Vælg år - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Forrige måned - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Næste måned - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Første - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Forrige - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Næste - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Sidste - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Timer - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minutter - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Juster timer op - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Juster timer ned - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Juster minutter op - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Juster minutter ned - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Sekunder - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Juster sekunder op - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Juster sekunder op - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Luk - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Vælg måned + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Forrige måned + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Timer + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Forrige + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Vælg år + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Næste måned + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Næste + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minutter + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Juster timer op + + node_modules/src/ngb-config.ts + 13 + + + + First + Første + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Forrige + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Juster timer ned + + node_modules/src/ngb-config.ts + 13 + + + + Next + Næste + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Juster minutter op + + node_modules/src/ngb-config.ts + 13 + + + + Last + Sidste + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Juster minutter ned + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Sekunder + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Juster sekunder op + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Juster sekunder op + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Blok @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Blok : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ Blokke src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Højde src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Bekræftet src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Transaktioner src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Bisq Handelsvolumen src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Markeder src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Bitcoin markeder src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Pris src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Seneste Handler src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq Prisindeks src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Bisq Markedspris src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Se mere » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Vilkår og betingelser - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Privatlivspolitik - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Købstilbud src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Salgstilbud src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Beløb () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ statistik @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Dato src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Mængde src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Transaktion src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - bekræftelse - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - bekræftelser - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Inkluderet i blok src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Funktioner src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Gebyr pr. vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detaljer src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Input & Output src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ Transaktioner src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Bekræftet src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Filter src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Vælg alle src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Handler @@ -1443,7 +1452,7 @@ Mempool Open Source-projektet src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Vores mempool og blockchain opdagelsesværktøj til Bitcoin-communityet, med fokus på markedet for transaktionsgebyrer og alle økosystemets lag. Komplet selv-hostet uden nogen betroede tredjeparter. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Virksomhedssponsorer 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Sponsorer fra communityet ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ En del af følgende communities src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Community alliancer src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Oversættere src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Bidragsydere src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Medlemmer src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Vedligeholdere src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Om src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig af @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Adresse: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Gruppe af aktiver src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Udsteders domæne src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ Aktiv-id src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Fejl ved indlæsning af aktivdata. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Offline src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Genopretter forbindelse... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Lag 2 netværk src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Panel src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Stats src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Dokumenter src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Blokafgiftssatser src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Ved blok: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Omkring blok: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Blokgebyrer src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indekserer blokke src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Ingen data at vise endnu. Prøv igen senere. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ ikke tilgængelig src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Gebyrsats @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Effektiv gebyrsats src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Virtuel størrelse + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Revisionsstatus + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Match + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Fjernet + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Marginal gebyrsats + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + For nylig udsendt + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Tilføjet + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Blokbelønninger + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Blokstørrelser og -vægte + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Størrelse + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Vægt + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Størrelse pr. vægt + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Blok : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Blok + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Mediangebyr + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Samlede gebyrer + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Miner + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Næste blok + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Forrige blok + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Helbred + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Ukendt + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Gebyrspænd + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Baseret på en gennemsnitlig "native segwit"-transaktion på 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Virtuel størrelse - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Revisionsstatus - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Match - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Fjernet - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Marginal gebyrsats - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - For nylig udsendt - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Tilføjet - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Blokforudsigelsesnøjagtighed - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Ingen data at vise endnu. Prøv igen senere. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Match rate - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Blokbelønninger - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Blokstørrelser og -vægte - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Størrelse - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Vægt - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Størrelse pr. vægt - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Blok - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Mediangebyr - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Samlede gebyrer - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Miner - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Blok : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Næste blok - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Forrige blok - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Helbred - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Ukendt - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Gebyrspænd - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Baseret på en gennemsnitlig "native segwit"-transaktion på 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Tilskud + gebyrer src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Forventet src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Faktiske src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Forventet blok src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Faktisk blok src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle-træ src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Sværhedsgrad src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Blokhoved Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Revision src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Detaljer src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Fejl ved indlæsning af data. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Hvorfor er denne blok tom? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Minet - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Belønning src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Gebyrer src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Kopieret! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Høj prioritet + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Ubekræftet + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Justeret src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Ændring src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Sværhedsgrad justering src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Tilbage src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - blokke + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Estimat src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Forrige src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Nuværende periode src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Næste Halvering src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ blokke forventes src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ blok forventet src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ blokke fundet src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ blok fundet src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ blokke tilbage src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ blok tilbage src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ blokke foran src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ blok foran src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ blokke bagved src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ blok bagved src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Gennemsnitlig bloktid src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Enten 2x minimum eller lavprioritetssatsen (alt efter hvad der er lavest) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Ingen prioritet src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Normalt kommer din transaktion med i enten den anden eller tredje mempool-blok src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Lav prioritet src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Normalt kommer din transaktion med i den første eller anden mempool-blok src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Mellem prioritet src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Placerer din transaktion i den første mempool-blok src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Høj prioritet - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Indgående transaktioner src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Backend synkroniserer src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Ubekræftet + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempoolens størrelse src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Hashrate og sværhedsgrad src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Hashrate (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Grafer src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Mining panel src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Lightning Explorer src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Dokumentation src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Stakke af mempool blokke src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Mempool blok src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Rækkevidde src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Sum src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Belønningsstatistik @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Seneste blokke + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Udsend transaktion + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Pool held + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Det overordnede held for alle mining pools i løbet af den seneste uge. Et nummer større end 100% betyder, at den gennemsnitlige tid mellem blokke i den aktuelle epoke er under 10 minutter. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Pool antal + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Hvor mange unikke pools fandt mindst én blok i løbet af den seneste uge. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Antallet af blokke fundet i løbet af den seneste uge. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Rang src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Gns. helbred src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Tomme blokke + + Avg Block Fees + Gns. blokgebyrer src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Alle miners src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Pools held (1u) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Antal pools (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Mining Pools @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks blokke src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Andet () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ mining pool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Tags src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Vis alt src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Skjul src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Hashrate (24t) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Anslået + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Rapporteret - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Held - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Minede blokke - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24t - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1u src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Minet + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Coinbase tag src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Udsend transaktion + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Transaktion hex @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Først set + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Minernes belønning @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Beløb, der blev betalt til miners i de sidste 144 blokke src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Gns. blokgebyrer - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Gennemsnitlige gebyrer pr. blok i de seneste 144 blokke src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/blok src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Gebyr betalt i gennemsnit for hver transaktion i de seneste 144 blokke src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Belønning pr. Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Udforsk hele Bitcoin-økosystemet src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Søg src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV visning src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filter src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Vend om src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Transaktion vBytes pr. sekund (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Lige nu src/app/components/time/time.component.ts - 79 + 90 ago siden - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Om ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Om ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Efter src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Efter src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Denne transaktion er blevet erstattet af: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Denne transaktion erstattede: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Erstattet - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Ubekræftet - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Først set - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Om adskillige timer (eller senere) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Efterkommer src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Forfader src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Flow src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Skjul diagram src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Vis mere src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Vis mindre src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Vis diagram src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Låsetid src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transaktionen blev ikke fundet. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Venter på, at den dukker op i mempoolen... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Effektiv gebyrsats + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Nyligt skabte coins) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Vidne src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH indløse script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH vidne script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Tidligere output script src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Tidligere outputtype src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out til src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Vis flere input for at se gebyrdata src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ tilbage src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Denne transaktion benytter Taproot og har allerede sparet mindst % i gebyr, men kunne spare yderligere % ved fuldt ud at benytte Taproot @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Denne transaktion understøtter IKKE Replace-By-Fee (RBF) og derfor tillades gebyrbumpning ikke. @@ -5308,25 +5883,48 @@ Transaktionsgebyrer src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Seneste transaktioner + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Minimumsgebyr src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Udrensning src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Hukommelsesbrug - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC i omløb src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space leverer udelukkende data om Bitcoin-netværket. Siden kan ikke hjælpe dig med at få penge tilbage, bekræfte dine transaktion hurtigere eller lignende. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API service src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Endpoint src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Beskrivelse src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-blocks, live-2h-chart, and stats.Push transactions related to address: 'track-address': '3PbJ...bF9B' to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Kode eksempel src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Installer pakke src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Svar src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Balance ved start src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Balance ved lukning src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ lightning kanal src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Inaktiv src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Aktiv src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Lukket src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Oprettet src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Kapacitet src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Lightning kanal src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Sidste ændring src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Lukkedato src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Lukket af src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Åbningstransaktion src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Lukningstransaktion src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Åben src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Ingen kanaler at vise src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID Kanal-id src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg gns. src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ med. src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Gns. kapacitet src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Gns. gebyrsats src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Den gennemsnitlige gebyrsats, der opkræves af routingnoder, fraregnet gebyrer større end 0,5 % eller 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Gns. basisgebyr src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Det gennemsnitlige basisgebyr, der opkræves af routingnoder, fraregnet gebyrer over 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Med. kapacitet src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Med. gebyrsats src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Median gebyrsatsen, der opkræves af routingnoder, fraregnet gebyrer større end 0,5 % eller 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Med. basisgebyr src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Median basisgebyr, der opkræves af routingnoder, fraregnet gebyrer over 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Lightning node gruppe src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Noder src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Likviditet src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Kanaler src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Gennemsnitsstørrelse src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Lokation src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Netværksstatistik @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Gebyrfordeling @@ -6429,11 +7078,11 @@ Udgående gebyrer src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Indgående gebyrer src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Procentvis ændring sidste uge src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Lightning node src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Aktiv kapacitet src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Aktive kanaler src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Land src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Gennemsnitlig kanalstørrelse src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Gns. kanalafstand src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Farve src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ Internetudbyder src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Udelukkende på Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Likviditetsannonce src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Gebyrsats for leasing src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Grundgebyr for leasing src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Finansieringsvægt src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Kanalgebyrsats src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Kanalbasisgebyr src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Kompakt lease src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV-udvidelsesposter src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Åbne kanaler src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Lukkede kanaler src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Node: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Tor-noder ekskluderet) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Verdenskort for Lightning Node-kanaler + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Ingen geolokationsdata tilgængelige src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Kort over aktive kanaler src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indeksering i gang src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet og Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Kun Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Kun Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Del src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes noder src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC kapacitet src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Antal internetudbydere src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Top internetudbyder src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Clearnet kapacitet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Hvor meget likviditet er på noder, der annoncerer mindst én clearnet IP-adresse src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Ukendt kapacitet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Hvor meget likviditet er på noder, hvor internetudbyderen ikke var identificerbar src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Tor kapacitet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Hvor meget likviditet er på noder, der kun annoncerer Tor-adresser src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Top 100 internetudbydere, der hoster LN-noder src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indeksering i gang + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Top land src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Top node src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Lightning noder på ISP: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Aktive noder src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Top 100 ældste lightning noder src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Ældste noder @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indeksering i gang + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Ubekræftet + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Vilkår og betingelser + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Privatlivspolitik + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.de.xlf b/frontend/src/locale/messages.de.xlf index 87050f55b..16ad47d38 100644 --- a/frontend/src/locale/messages.de.xlf +++ b/frontend/src/locale/messages.de.xlf @@ -5,273 +5,273 @@ Close Schließen - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Slide von - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Vorherige - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Nächstes - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Monat auswählen - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Jahr auswählen - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Vorheriger Monat - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Nächster Monat - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Erstes - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Vorheriges - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Nächstes - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Letztes - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Stunden - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minuten - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Stunden erhöhen - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Stunden verringern - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Minuten erhöhen - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Minuten verringern - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Sekunden - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Sekunden erhöhen - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Sekunden verringern - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Schließen - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Monat auswählen + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Vorheriger Monat + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + Folie von + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Stunden + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Vorherige + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Jahr auswählen + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Nächster Monat + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Nächstes + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minuten + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Stunden erhöhen + + node_modules/src/ngb-config.ts + 13 + + + + First + Erstes + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Vorheriges + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Stunden verringern + + node_modules/src/ngb-config.ts + 13 + + + + Next + Nächstes + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Minuten erhöhen + + node_modules/src/ngb-config.ts + 13 + + + + Last + Letztes + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Minuten verringern + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Sekunden + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Sekunden erhöhen + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Sekunden verringern + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +317,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +359,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +384,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +404,14 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + Aktuellen Kontostand, Offene Transaktionen und Verlauf der bestätigten Transaktionen für BSQ Adresse . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Block @@ -426,7 +434,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +451,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +498,15 @@ Block : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + Allel BSQ Transaktionen in Bitcoin Block (Block Hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +514,7 @@ BSQ-Blöcke src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +523,31 @@ Höhe src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +556,7 @@ Bestätigt src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +565,7 @@ Transaktionen src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +577,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +610,31 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + Liste der letzten Bitcoin-Blöcke mit BSQ-Transaktionen, dem gesamten pro Block gesendeten BSQ und mehr ansehen. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +642,11 @@ Bisq Handelsvolumen src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +655,11 @@ Märkte src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +668,11 @@ Bitcoin-Märkte src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +693,15 @@ Preis src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +713,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +747,40 @@ Neueste Trades src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + Märkte + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + Entdecken Sie das gesamte Bitcoin-Ökosystem mit The Mempool Open Source Project™. Sehen Sie sich Bisq-Marktpreise, Handelsaktivitäten und mehr an. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq-Preisindex src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +789,7 @@ Bisq Marktpreis src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +798,11 @@ Mehr anzeigen » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +822,12 @@ dashboard.view-more - - Terms of Service - Nutzungsbedingungen - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Datenschutzbestimmungen - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Kaufangebote src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +836,7 @@ Verkaufsangebote src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +845,30 @@ Betrag ( ) src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + Bisq-Markt: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + Preisverlauf, aktuelle Kauf-/Verkaufsangebote und die neuesten Trades für den -Markt auf Bisq ansehen. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ-Statistiken @@ -905,7 +921,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +942,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +997,20 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + High-Level Statistiken zur BSQ-Wirtschaft ansehen: Angebotskennzahlen, Anzahl der Adressen, BSQ-Preis, Marktkapitalisierung und mehr. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Datum src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1018,11 @@ Betrag src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1030,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1074,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1094,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1107,27 @@ Transaktion src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1135,12 @@ shared.transaction - - confirmation - Bestätigung - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - Bestätigungen - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Im Block aufgenommen src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1150,19 @@ Features src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1172,39 @@ Gebühr pro vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + Gebühr pro Gewichtseinheit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Details src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1213,19 @@ Inputs und Outputs src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1239,19 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + Eingaben, Ausgaben, Transaktionstyp, verbrannten Betrag und mehr für die Transaktion mit txid ansehen. + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1259,7 @@ BSQ-Transaktionen src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1267,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1287,15 @@ Bestätigt src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1333,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1417,7 @@ Auswahl src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1425,7 @@ Alles Auswählen src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1436,14 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + Aktuelle BSQ-Transaktionen ansehen: Betrag, TXID, zugehöriger Bitcoin-Block, Transaktionstyp und mehr. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Trades @@ -1443,7 +1465,7 @@ Das Open-Source-Projekt Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1474,60 @@ Unser Mempool- und Blockchain-Explorer für die Bitcoin-Community, der sich auf den Markt für Transaktionsgebühren und das mehrschichtige Ökosystem konzentriert und vollständig selbst gehostet wird, ohne vertrauenswürdige Drittanbieter. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + Community-Sponsor werden + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + Unternehmenssponsor werden + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Unternehmenssponsoren src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Community-Sponsoren ❤️ + + Whale Sponsors + Walsponsoren src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + Chad-Sponsoren + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + OG-Sponsoren ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1536,7 @@ Community Integrationen src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1545,7 @@ Community-Allianzen src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1554,7 @@ Projektübersetzer src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1563,7 @@ Projektmitwirkende src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1572,7 @@ Projektmitglieder src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1581,7 @@ Projektbetreuer src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1590,178 @@ Über src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + Mehr über das Mempool Open Source Project® erfahren: Unternehmenssponsoren, Einzelsponsoren, Integrationen, wer beiträgt, FOSS-Lizenzierung und mehr. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig von @@ -1581,11 +1796,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1808,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1820,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1829,23 @@ Adresse: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + Mempool-Transaktionen, bestätigte Transaktionen, Saldo und mehr für Adresse ansehen. + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1903,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2042,11 @@ Gruppe von Vermögenswerten src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2066,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2087,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2128,24 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + Alle im Liquid-Netzwerk ausgegebenen Vermögenswerte wie L-BTC, L-CAD, USDT und mehr erkunden. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2154,11 @@ Ausstellerdomäne src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2167,11 @@ Vermögenswert ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2180,7 @@ Fehler beim Laden der Daten der Vermögenswerte. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2189,15 @@ Offline src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2206,15 @@ Verbinden... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2223,15 @@ Layer 2-Netzwerke src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2240,15 @@ Dashboard src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2257,7 @@ Statistiken src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2266,11 @@ Dokumentation src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2279,7 @@ Blockgebührensätze src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2291,28 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + Visualisierung der Bitcoin-Feerate im Zeitverlauf ansehen, einschließlich der minimalen und maximalen Feerrate pro Block sowie der Feerate bei verschiedenen Perzentilen. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Bei Block: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2320,15 @@ Nah bei Block: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2336,7 @@ Blockgebühren src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2348,36 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + Durchschnittliche Mining-Gebühren pro Bitcoin-Block ansehen, visualisiert in BTC und USD im Zeitverlauf. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Blöcke am indizieren src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2385,72 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + Blockzustand + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + Blockzustand + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + Visualisierung des Bitcoin-Blockzustands im Zeitverlauf ansehen. Der Blockzustand ist ein Maß dafür, wie viele erwartete Transaktionen in einem tatsächlich gefundenen Block enthalten waren. Erwartete Transaktionen werden mithilfe der Neuimplementierung des Transaktionsauswahlalgorithmus von Bitcoin Core durch Mempool ermittelt. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Noch nichts da. Probier später nochmal + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + Zustand + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2458,7 @@ nicht verfügbar src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2469,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2487,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Gebührensatz @@ -2199,11 +2501,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2513,574 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Effektiver Gebührensatz src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + Beschleunigter Gebührensatz + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Virtuelle Größe + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + Gewicht + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Audit Status + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Übereinstimmung + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Entfernt + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Grenz-Gebührensatz + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + Hohe Sigop-Anzahl + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Kürzlich gesendet + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + Kürzlich CPFP gemacht + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Hinzugefügt + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + In Konflikt + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + Beschleunigt + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Blockbelohnungen + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + Bitcoin-Blockbelohnungen in BTC und USD im Zeitverlauf ansehen. Blockbelohnungen sind die gesamten Gelder, die Miner aus der Blocksubvention und den Gebühren verdienen. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Blockgrößen und Gewichte + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + Bitcoin-Blockgrößen (MB) und Blockgewichte (Gewichtseinheiten) im Zeitverlauf ansehen. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Größe + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Gewicht + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Grösse nach Gewicht + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Block : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + Größe, Gewicht, Gebührenbereich, enthaltene Transaktionen und mehr für Liquid Block () ansehen. + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Block + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Mediangebühr + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Gesamtgebühren + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Miner + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + Dieser Block gehört nicht zur Hauptchain, er wurde ersetzt durch: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Nächster Block + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Vorheriger Block + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + Abgestanden + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Gesundheit + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Unbekannt + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Gebührenspanne + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Basierend auf einer durchschnittlichen nativen Segwit-Transaktion von 140 vByte + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3102,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Virtuelle Größe - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Audit Status - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Übereinstimmung - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Entfernt - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Grenz-Gebührensatz - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Kürzlich gesendet - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Hinzugefügt - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Genauigkeit der Blockvorhersage - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Noch nichts da. Probier später nochmal - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Trefferquote - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Blockbelohnungen - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Blockgrößen und Gewichte - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Größe - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Gewicht - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Grösse nach Gewicht - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Block - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Mediangebühr - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Gesamtgebühren - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Miner - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Block : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Nächster Block - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Vorheriger Block - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Gesundheit - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Unbekannt - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Gebührenspanne - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Basierend auf einer durchschnittlichen nativen Segwit-Transaktion von 140 vByte - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3109,11 @@ Subvention + Gebühren src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3123,7 @@ Erwartet src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3132,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3145,7 @@ Tatsächlich src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3154,7 @@ Erwarteter Block src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3163,46 @@ Tatsächlicher Block src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3211,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3220,27 @@ Schwierigkeit src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3249,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3258,7 @@ Block-Header Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3267,7 @@ Prüfung src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3277,31 @@ Details src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3311,23 @@ Fehler beim Laden der Daten. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3336,7 @@ Weshalb dieser leere Block? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3349,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Gefunden - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Belohnung src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3403,15 @@ Gebühren src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3420,65 @@ TX src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + Blöcke + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + Taschenrechner + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Kopiert! @@ -3063,12 +3487,61 @@ 19 + + High Priority + Hohe Priorität + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + Speicherplatzverbrauch + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Unbestätigt + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Angepasst src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3550,7 @@ Änderung src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3559,11 @@ Schwierigkeitsanpassung src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3576,31 @@ Verbleibend src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - Blöcke + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3617,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3630,11 @@ Schätzung src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3643,11 @@ Vorherige src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3656,7 @@ Laufende Periode src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3665,15 @@ Nächste Halbierung src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3682,7 @@ Blöcke erwartet src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3691,7 @@ Block erwartet src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3700,7 @@ Blöcke gefunden src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3709,7 @@ Block gefunden src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3718,7 @@ verbleibende Blöcke src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3727,7 @@ verbleibender Block src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3736,7 @@ Blöcke voraus src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3745,7 @@ Block voraus src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3754,7 @@ Blöcke dahinter src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3763,7 @@ Block dahinter src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3772,7 @@ Durchschnittliche Blockzeit src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3781,7 @@ Entweder das 2-fache des Minimums oder die niedrige Prioritätsrate (je nachdem, welcher Wert niedriger ist) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3790,11 @@ Keine Priorität src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3803,7 @@ Platziert die Transaktion normalerweise zwischen dem zweiten und dritten Mempool-Block src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3812,11 @@ Niedrige Priorität src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3825,7 @@ Platziert die Transaktion normalerweise zwischen dem ersten und zweiten Mempool-Block src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3834,11 @@ Mittlere Priorität src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3847,16 @@ Platziert die Transaktion in den ersten Mempool-Block src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Hohe Priorität - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Eingehende Transaktionen src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3865,11 @@ Das Backend synchronisiert src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3878,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Unbestätigt + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempool Größe src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3928,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3941,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3972,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3980,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3993,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +4001,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +4014,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +4027,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4044,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4061,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4070,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4099,31 @@ Hashrate & Schwierigkeit src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Hashrate (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4155,15 @@ Grafiken src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4172,15 @@ Mining Dashboard src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4189,16 @@ Lightning Explorer src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4206,7 @@ Dokumentation src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4214,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Stapel von Mempool-Blöcken src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4234,19 @@ Mempool-Block src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + Anzahl + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4254,7 @@ Bereich src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4262,18 @@ Summe src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + Anmelden + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Belohnungsstatistiken @@ -3791,18 +4292,22 @@ mining.144-blocks - - Latest blocks - Neueste Blöcke + + Recent Blocks + Aktuelle Blöcke src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4318,12 @@ dashboard.adjustments - - Broadcast Transaction - Transaktion senden + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4334,15 @@ mining.miners-luck-1w - - Pools luck - Poolglück + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4351,7 @@ Das Gesamtglück aller Mining-Pools in der vergangenen Woche. Glück größer als 100 % bedeutet, dass die durchschnittliche Blockzeit für die aktuelle Epoche weniger als 10 Minuten beträgt. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4364,15 @@ mining.miners-count-1w - - Pools count - Anzahl der Pools + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4381,7 @@ Wie viele eindeutige Pools haben in der letzten Woche mindestens einen Block gefunden. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4394,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4407,7 @@ Die Anzahl der Blöcke, die in der letzten Woche gefunden wurden. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4416,15 @@ Rang src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4433,56 @@ Durchschn. Gesundheit src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Leere Blöcke + + Avg Block Fees + Durchschn. Blockgebühren src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4491,10 @@ Alle Miner src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Pools Glück (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Anzahl der Pools (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Mining Pools @@ -3993,24 +4503,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks blöcke src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4535,15 @@ Andere () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4551,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4563,7 @@ Mining Pool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4572,59 @@ Tags src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Alles anzeigen src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4633,7 @@ Ausblenden src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4642,39 @@ Hashrate (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Geschätzt + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Gemeldet - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Glück - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Gefundene Blöcke - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4683,82 @@ 1w src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Gefunden + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Coinbase tag src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Transaktion senden + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Transaktion hex @@ -4262,10 +4768,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Zuerst gesehen + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Miner-Belohnung @@ -4275,11 +4924,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4937,16 @@ Betrag, der in den letzten 144 Blöcken an Miner gezahlt wurde src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Durchschn. Blockgebühren - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Durchschnittliche Gebühren pro Block über die letzten 144 Blocks src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4955,7 @@ BTC/Block src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4969,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4982,7 @@ Durchschnittlich gezahlte Gebühr für jede Transaktion in den letzten 144 Blöcken src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4991,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Belohnung pro Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Erkunde das ganze Bitcoin Ökosystem src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +5018,7 @@ Suche src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5103,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV-Ansicht src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5133,7 @@ Filter src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5142,7 @@ Umkehren src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5151,43 @@ Transaktion vBytes pro Sekunde (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Gerade eben src/app/components/time/time.component.ts - 79 + 90 ago Vor - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5196,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - In ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5238,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + In ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5256,25 @@ src/app/components/time/time.component.ts 142 - - - After - Nach src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5298,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Nach src/app/components/time/time.component.ts 164 @@ -4695,91 +5316,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Diese Transaktion wurde ersetzt durch: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Diese Transaktion ersetzte: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Ersetzt - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Unbestätigt - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Zuerst gesehen - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Vorauss. Zeit bis Schürfung src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5418,34 @@ In mehreren Stunden (oder mehr) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Nachfahre src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5455,30 @@ Vorfahr src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Fluss src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5488,7 @@ Diagramm ausblenden src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5497,15 @@ Mehr anzeigen src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5514,11 @@ Weniger anzeigen src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5527,43 @@ Diagramm anzeigen src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Sperrzeit src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transaktion nicht gefunden. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5572,25 @@ Warten bis sie im Mempool erscheint... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Effektiver Gebührensatz + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Neu generierte Coins) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5599,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5608,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5618,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5628,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5637,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5646,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5655,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5664,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5673,7 @@ Vorheriges Output Script src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5682,7 @@ Vorheriger Ausgabetyp src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5691,7 @@ Peg-out zu src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5700,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5710,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5720,7 @@ Mehr Inputs anzeigen, um Gebührendaten anzuzeigen src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5729,7 @@ verbleiben src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5831,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Diese Transaktion benutzt Taproot und hat bereits mindestens % an Gebühren gespart, könnte aber durch volles Taproot weitere % sparen @@ -5243,20 +5876,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Diese Transaktion unterstützt NICHT Replace-By-Fee (RBF) und es kann mit dieser Methode nicht die Gebühr erhöht werden @@ -5308,25 +5927,48 @@ Transaktionsgebühr src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Neueste Transaktionen + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Mindestgebühr src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5978,33 @@ Streichung src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Speichernutzung - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC im Umlauf src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space liefert lediglich Daten zum Bitcoin Netzwerk. Es kann dir nicht helfen beim Geld holen, Transaktionbestätigung beschleunigen etc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +6013,7 @@ REST-API-Dienst src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +6022,11 @@ Endpunkt src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +6035,15 @@ Beschreibung src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6051,7 @@ Standard Senden: action: 'want', data: ['blocks', ...] um auszudrücken, was gepusht werden soll. Verfügbar: blocks, mempool-blocks, live-2h-chart, und stats.Sende Transaktionen bezogen auf die Adresse: 'track-address': '3PbJ...bF9B' um alle neuen Transaktionen mit der Adresse als Input oder Output enthalten zu empfangen. Gibt Array von Tansaktionen zurück. address-transactions für neue Mempool-Transaktionen, und block-transactions src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6060,19 @@ Codebeispiel src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6081,7 @@ Installationspaket src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6090,85 @@ Antwort src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6180,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6193,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6277,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6290,7 @@ Anfangsstand src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6300,7 @@ Schlussstand src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6310,7 @@ Lightning-Kanal src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6319,15 @@ Inaktiv src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6336,15 @@ Aktiv src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6353,23 @@ Geschlossen src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6378,11 @@ Erzeugt src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6391,19 @@ Kapazität src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6415,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6460,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Lightning-Kanal src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6505,31 @@ Letzte Aktualisierung src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6538,11 @@ Schließdatum src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6551,7 @@ Geschlossen von src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6560,11 @@ Öffnende Transaktion src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6573,11 @@ Schließende Transaktion src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6618,7 @@ Offen src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6627,7 @@ Keine Kanäle zum Anzeigen src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6636,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID Kanal ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg durchschn. src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6695,7 @@ mittel src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6704,11 @@ Durchschnittskapazität src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6717,11 @@ Durchschnittsgebührenrate src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6730,7 @@ Die durchschnittliche Gebührenrate für weiterleitende Nodes, ohne Gebührenrate >0.5% bzw. 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6739,11 @@ Durchschnitts-Basisgebühr src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6752,7 @@ Die durchschnittliche Basisgebühr, die von weiterleitenden Nodes verlangt wird, ohne solche >5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6761,7 @@ Median Kapazität src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6770,7 @@ Median Gebührenrate src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6779,7 @@ Der Median der Gebührenrate, die von weiterleitenden Nodes verlangt wird, ohne solche >0,5% bzw. 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6788,7 @@ Media Basisgebühr src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6797,7 @@ Der Median der Basisgebühr, die von weiterleitenden Nodes verlangt wird, ohne solche >5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6806,11 @@ Lightning-Node Gruppe src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6819,39 @@ Nodes src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6860,31 @@ Liquidität src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6893,11 @@ Kanäle src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6909,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6966,72 @@ Durchschnittsgröße src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Ort src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Netzwerkstatistik @@ -6386,16 +7068,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7087,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Gebührenverteilung @@ -6429,11 +7122,11 @@ Ausgehende Gebühren src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7134,11 @@ Einkommende Gebühren src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7146,15 @@ Prozentuale Änderung letzte Woche src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7163,15 @@ Lightning Node src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7180,11 @@ Aktive Kapazität src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7193,11 @@ Aktive Kanäle src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7206,27 @@ Land src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Durchschnittliche Kanalgröße src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7235,7 @@ Durchschn. Kanalentfernung src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7244,7 @@ Farbe src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7253,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7266,25 @@ Ausschließlich auf Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Liquiditätswerbung src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7293,7 @@ Lease Gebührensatz src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7303,7 @@ Lease Basisgebühr src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7312,7 @@ Finanzierungsgewicht src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7321,7 @@ Kanal-Gebührenrate src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7331,7 @@ Kanal-Basisgebühr src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7340,7 @@ Compact_lease src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7349,7 @@ LV Erweiterungs-Datensätze src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7358,7 @@ Offene Kanäle src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7367,7 @@ Geschlossene Kanäle src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7376,7 @@ Node: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7384,32 @@ (Tor-Nodes ausgenommen) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Weltkarte der Lightning-Node Kanäle + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7420,7 @@ Keine Geolokationsdaten verfügbar src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7428,34 @@ Aktive Kanalkarte src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indizierung läuft src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7463,11 @@ Clearnet und Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7475,11 @@ Nur Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7487,11 @@ Nur Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7499,39 @@ Teilen src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes nodes src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7539,7 @@ BTC Kapazität src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7556,7 @@ Anzahl ISPs src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7565,7 @@ Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7577,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Clearnet Kapazität src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7602,7 @@ Wie viel Liquidität auf Nodes liegt, die mindestens eine Klarnetz IP Adresse verbreiten src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7611,11 @@ Unbekannte Kapazität src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7624,7 @@ Wie viel Liquidität auf Nodes liegt, deren ISP nicht feststellbar war src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7633,11 @@ Tor Kapazität src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7646,7 @@ Wie viel Liquidität liegt auf Nodes, die nur Tor Adressen verbreiten src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7655,33 @@ Top 100 ISPs, die LN-Nodes beherbergen src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indizierung läuft + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7689,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7698,11 @@ Top Land src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7711,7 @@ Top Node src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7727,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Lightning-Nodes auf ISP: @@ -6980,7 +7752,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7761,7 @@ Aktive Knoten src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7770,7 @@ Top 100 ältesten Lightning Nodes src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7782,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Älteste Nodes @@ -7027,14 +7820,287 @@ 22 - - Indexing in progress - Indizierung läuft + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Unbestätigt + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Nutzungsbedingungen + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Datenschutzbestimmungen + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.es.xlf b/frontend/src/locale/messages.es.xlf index 278018339..426797516 100644 --- a/frontend/src/locale/messages.es.xlf +++ b/frontend/src/locale/messages.es.xlf @@ -5,273 +5,271 @@ Close Cerrar - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Diapositiva de - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Previo - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Siguiente - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Seleccionar mes - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Seleccionar año - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Mes anterior - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Siguiente mes - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Primero - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Previo - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Siguiente - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Último - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Horas - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minutos - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Incrementar horas - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Reducir horas - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Incrementar minutos - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Reducir minutos - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Segundos - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Incrementar segundos - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Reducir segundos - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Cerrar - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Seleccionar mes + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Mes anterior + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Horas + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Previo + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Seleccionar año + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Siguiente mes + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Siguiente + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minutos + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Incrementar horas + + node_modules/src/ngb-config.ts + 13 + + + + First + Primero + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Previo + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Reducir horas + + node_modules/src/ngb-config.ts + 13 + + + + Next + Siguiente + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Incrementar minutos + + node_modules/src/ngb-config.ts + 13 + + + + Last + Último + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Reducir minutos + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Segundos + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Incrementar segundos + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Reducir segundos + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Bloque @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Bloque : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ Bloques BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Altura src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Confirmación src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Transacciones src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Volumen de intercambio en Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Mercados src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Mercados Bitcoin src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Precio src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Últimos intercambios src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Índice de Precios Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Precio de Mercado Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Ver más » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Términos de servicio - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Política de Privacidad - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Ofertas de Compra src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Ofertas de Venta src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Cantidad () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics Estadísticas de BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Fecha src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Cantidad src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Transacción src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - confirmación - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - confirmaciones - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Incluido en el bloque src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Características src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Tasa por vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detalles src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Entradas y salidas src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Transacciones BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Confirmado src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Filtrar src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Seleccionar todas src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Intercambios @@ -1443,7 +1452,7 @@ El proyecto de código abierto Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Nuestro explorador de bloques y mempool para la comunidad Bitcoin, con foco en las tasas de mercado de transacciones y el ecosistema multicapa, completamente auto-hosteado sin terceras partes de confianza. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Empresas patrocinadoras 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Patrocinadores de la comunidad ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Integraciones de la comunidad src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Alianzas de la comunidad src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Traductores del proyecto src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Contribuyentes al proyecto src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Miembros del proyecto src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Mantenedores del proyecto src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Sobre nosotros src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multifirma de @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Dirección: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Grupo de activos src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Dominio del emisor src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ID del activo src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Error al cargar los datos de los activos. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Sin conexión src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Reconectando... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Redes de segunda capa src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Dashboard src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Estadísticas src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Documentos src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Ratio de tasas por bloque src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: En el bloque: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Alrededor del bloque: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Tasas por bloque src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indexando bloques src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Aún no hay datos a mostrar. Prueba luego. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ no disponible src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Tasa de intercambio @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Ratio de tasa efectiva src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Tamaño virtual + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Estado de auditoría + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Coincide + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Eliminado + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + ratio de tasa marginal + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Recientemente transmitido + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Añadido + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Recompensa por bloque + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Tamaños de bloque y pesos + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Tamaño + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Peso + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + tamaño por peso + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Bloque : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Bloque + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Tasa mediana + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Total de tasas + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Minero + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Siguiente bloque + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Bloque previo + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Salud + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Desconocido + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Rango de tasas + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Basado en el promedio de 140 vBytes de las transacciones segwit nativas + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Tamaño virtual - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Estado de auditoría - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Coincide - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Eliminado - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - ratio de tasa marginal - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Recientemente transmitido - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Añadido - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Precisión de la predicción de bloque - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Aún no hay datos a mostrar. Prueba luego. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Tasa de coincidencia - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Recompensa por bloque - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Tamaños de bloque y pesos - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Tamaño - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Peso - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - tamaño por peso - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Bloque - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Tasa mediana - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Total de tasas - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Minero - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Bloque : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Siguiente bloque - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Bloque previo - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Salud - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Desconocido - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Rango de tasas - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Basado en el promedio de 140 vBytes de las transacciones segwit nativas - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Subsidio + gastos src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Esperado src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Actua src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Bloque esperado src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Bloque real src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Raíz de Merkle src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Dificultad src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Block Header Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Auditoría src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Detalles src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Error cargando datos src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Por qué está este bloque vacío? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Minado - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Recompensa src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Tasas src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Copiado! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Alta prioridad + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Sin confirmar + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Ajustado src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Cambio src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Ajuste de Dificultad src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Restante src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - bloques + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Estimada src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Previo src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Período Actual src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Siguiente halving src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ bloques esperados src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ bloque esperado src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ bloques minados src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ bloque minado src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ bloques restantes src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ bloque restante src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ bloques por delante src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ bloque por delante src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ bloques por detrás src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ bloque por detrás src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Tiempo medio de bloque src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ O bien 2x el mínimo, o la tasa de prioridad baja (lo que resulte menor) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Sin prioridad src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Normalmente sitúa tu transacción entre los bloques segundo y tercero de la mempool src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Baja prioridad src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Normalmente sitúa tu transacción entre el primer y segundo bloque de la mempool src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Media prioridad src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Pone tu transacción en el primer bloque de la mempool src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Alta prioridad - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Transacciones entrantes src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ El backend se está sincronizando src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Sin confirmar + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Tamaño de la mempool src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Tasa de hash src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Tasa de hash y dificultad src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Tasa de hash (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Gráficos src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Tablero de minado src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Explorador Lightning src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Documentación src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Montón de bloques mempool src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Bloque mempool src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Rango src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Suma src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Estadísticas de recompensa @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Últimos bloques + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Transmitir transacción + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Suerte de las pools + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ La suerte general de todas las pools mineras en la última semana. Una suerte superior al 100% significa que el promedio de tiempo por bloque para la época actual es menor a 10 minutos. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Conteo de pools + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Cuantas pools únicas encontraron al menos un bloque en la última semana. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ El número de bloques encontrados en la última semana. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Ranking src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Promedio de salud src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Bloques vacíos + + Avg Block Fees + Media de tasas Por Bloque src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Todos los mineros src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Suerte de pools (7 días) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Conteo de pools (7 días) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Pools de minado @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks bloques src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Otros () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ Pool minera src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Etiquetas src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Mostrar todos src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Ocultar src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Tasa de hash (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Estimado + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Reportado - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Suerte - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Bloques minados - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 7 días src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Minado + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Etiqueta de coinbase src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Transmitir transacción + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Transacción en hex @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Visto por primera vez + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Recompensa de mineros @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Cantidad pagada a los mineros en los pasados 144 bloques src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Media de tasas Por Bloque - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Media de tasas por bloque en los últimos 144 bloques src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/bloque src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Tasa media pagada por cada transacción en los últimos 144 bloques src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Recompensa por tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Explora todo el ecosistema Bitcoin src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Buscar src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view Vista de TV src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filtro src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Invertir src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ vBytes de transacciones por segundo (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Justo ahora src/app/components/time/time.component.ts - 79 + 90 ago atrás - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - En ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + En ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Después src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Después src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Esta transacción ha sido reemplazada por: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Esta transacción reemplazó: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Reemplazada - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Sin confirmar - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Visto por primera vez - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Tiempo esparado de llegada src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ En unas cuantas horas (o más) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Descendiente src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Ancestro src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Flujo src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Esconder diagrama src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Mostrar más src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Mostras menos src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Mostrar diagrama src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Tiempo de bloque src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transacción no encontrada src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Esperando a que aparezca en la mempool... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Ratio de tasa efectiva + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Monedas recién generadas) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Testigo src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ script de canje P2SH src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ script de testigo P2WSH src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSecuencia src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Script de salida previo src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Anterior tipo de salida src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out a src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Mostrar más inputs para revelar datos de tasa src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ restantes src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Esta transacción usa Taproot y ahorra al menos % en tasas, pero podría ahorraradicionalmente % usando Taproot completamente @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Esta transacción NO soporta Reemplazar-Por-Tasa (RBF) y no puede aumentarse su tasa usando este método @@ -5308,25 +5883,48 @@ Tasa de Transacción src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Últimas transacciones + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Tarifa mínima src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Purga src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Uso de memoria - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC en circulación src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space simplemente proporciona datos sobre la red Bitcoin. No puede ayudarle a recuperar fondos, confirmar su transacción más rápido, etc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ servicio REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Endpoint src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Descripción src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Empujar por defecto: acciona: 'want', data: ['blocks', ...] para expresar lo que quiere empujar. Disponible: blocks, mempool-blocks, live-2h-chart, y stats.Empujar transacciones relaccionadas a la direccion: 'track-address': '3PbJ...bF9B' para recibir todas las nuevas transacciones que contengan la direccion como input o output. Devuelve cualquier formación de transacciones. dirección-transacciones para nuevas transacciones mempool, y bloque-transacciones para nuevas transacciones confirmadas en bloque. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Codigo de ejemplo src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Instalar Paquete src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Respuesta src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Balance inicial src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Balance de cierre src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ Canal lightning src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Inactivo src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Activo src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Cerrado src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Creado src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Capacidad src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Canal lightning src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Última actualización src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Fecha de cierre src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Cerrado por src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Transacción de apertura src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Transacción de cierre src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Abierto src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ No hay canales a mostrar src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Estado - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID de canal src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg Promedio src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ Med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Capacidad media src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Tasa media src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ La tasa media cargada por los nodos de enrutado, ignorando tasas > 0.5% o 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Tasa Base Media src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ La tasa base media cargada por nodos de enrutado, ignorando tasas base > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Capacidad Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Tasa media src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ La tasa media cargada por nodos de enrutado, ignorando tasas > 0.5% o 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Tasa Base Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ La tasa base mediana cargada por los nodos de enrutado, ignorando tasas > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Grupo de nodo lightning src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Nodos src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Liquidez src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Canales src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Tamaño medio src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Localización src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Estadísticas De Red @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Distribución de tasas @@ -6429,11 +7078,11 @@ Tasas de salida src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Tasas de entrada src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Cambio de porcentaje en la última semana src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Nodo lightning src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Capacidad activa src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Canales activos src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ País src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Tamaño medio del canal src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Distancia media del canal src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Color src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Exclusivamente en Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Liquidez ad src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Ratio de tasa de alquiler src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Tasa base de alquiler src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Peso de financiamiento src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Ratio de tasa de canal src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Tasa base del canal src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Alquiler compacto src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ Registros de extensión TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Canales abiertos src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Canales cerrados src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Nodo: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Nodos Tor excluídos) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Mapa Mundial De Canales De Nodos Lightning + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ No hay datos de geolocalización disponibles src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Mapa de canales activos src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indexado en progreso src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet y Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Solo Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Solo Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Compartido src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes nodos src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ capacidad BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Conteo ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ ISP principal src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Capacidad Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Cuánta liquidez está corriendo en nodos publicando al menos una dirección IP de la clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Capacidad desconocida src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Cuánta liquidez está corriendo en nodos cuya ISP no fue identificable src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Capacidad Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Cuánta liquidez está corriendo en nodos publicados solo en direcciones Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Principalese 100 ISPs alojando nodos LN src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indexado en progreso + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ ISP lightning src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ País principal src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Nodo principal src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Nodos lightning en ISP: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Nodos activos src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Principales 100 nodos lightning más antiguos src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Nodos más antiguos @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indexado en progreso + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Sin confirmar + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Términos de servicio + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Política de Privacidad + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.fa.xlf b/frontend/src/locale/messages.fa.xlf index e4bec8dbc..c7245ec0f 100644 --- a/frontend/src/locale/messages.fa.xlf +++ b/frontend/src/locale/messages.fa.xlf @@ -5,273 +5,271 @@ Close بستن - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - صفحه از - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - قبلی - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - بعدی - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - انتخاب ماه - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - انتخاب سال - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - ماه قبل - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - ماه بعد - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - اولین - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - قبلی - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - بعدی - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - آخرین - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - ساعت - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - دقیقه - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - افزایش ساعت - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - کاهش ساعت - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - افزایش دقیقه - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - کاهش دقیقه - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - ثانیه - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - افزایش ثانیه - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - کاهش ثانیه - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close بستن - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + انتخاب ماه + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + ماه قبل + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + ساعت + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + قبلی + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + انتخاب سال + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + ماه بعد + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + بعدی + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + دقیقه + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + افزایش ساعت + + node_modules/src/ngb-config.ts + 13 + + + + First + اولین + + node_modules/src/ngb-config.ts + 13 + + + + Previous + قبلی + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + کاهش ساعت + + node_modules/src/ngb-config.ts + 13 + + + + Next + بعدی + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + افزایش دقیقه + + node_modules/src/ngb-config.ts + 13 + + + + Last + آخرین + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + کاهش دقیقه + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + ثانیه + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + افزایش ثانیه + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + کاهش ثانیه + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block بلاک @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ بلاک : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ بلاک‌های BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ طول src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ تأیید شده src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ تراکنش‌ها src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ حجم معاملات Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ بازارها src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ بازارهای بیت‌کوین src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ قیمت src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ آخرین معاملات src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index شاخص قیمت Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ قیمت بازار Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ بیشتر » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - شرایط خدمات - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - سیاست حریم‌خصوصی - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers پیشنهادات خرید src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ پیشنهادات فروش src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ مقدار () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics آمارهای BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date تاریخ src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ مبلغ src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ تراکنش src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - تائید - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - تائید - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block قرارگرفته در بلاک src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ ویژگی‌ها src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ کارمزد بر vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details جزئیات src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ ورودی‌ها و خروجی‌ها src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ تراکنش‌های BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ شناسه src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ تأیید شده src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ پالایش src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ انتخاب همه src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades معاملات @@ -1443,7 +1452,7 @@ پروژهٔ متن‌باز ممپول src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ کاوشگر بلاک‌چین و ممپول برای جامعه بیت‌کوین، با تمرکز بر بازار کارمزد تراکنش‌ها و اکوسیستم چند لایه، به صورت کاملا مستقل از خدمات ثالث با امکان خودمیزبانی. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 حامیان سازمانی 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - حامیان جامعه ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ پیاده‌سازی‌ها src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ متحدین جامعه src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ مترجم‌های پروژه src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ مشارکت کنندگان src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ اعضای پروژه src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ نگهدارندگان پروژه src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ درباره src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + ساتوشی + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + ‏sat بر vB‏ + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of چندامضایی از @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ آدرس: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ گروهی از دارایی src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ دامنه صادرکننده src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ شناسه دارایی src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ خطا در بارکردن داده‌های دارایی‌ها. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ خاموش src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ در حال اتصال... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ شبکه‌های لایه 2 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ داشبورد src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ آمار src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ مستندات src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ نرخ کارمزد بلاک src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: در بلاک: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ حدودا در بلاک: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ کارمزد بلاک src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks فهرست‌بندی بلاک‌ها src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + هنوز اطلاعاتی برای نمایش وجود ندارد. لطفا بعدا امتحان کنید. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ در دسترس نیست src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - ساتوشی - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate نرخ کارمزد @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - ‏sat بر vB‏ + + Effective fee rate + نرخ کارمزد مؤثر src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + اندازه مجازی + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + وضعیت بررسی + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + همتا + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + حذف شده + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + نرخ کارمزد حاشیه‌ای + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + اخیرا منتشرشده + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + اضافه شده + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + پاداش بلاک + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + اندازه و وزن بلاک + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + اندازه + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + وزن + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + اندازه بر وزن + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + بلاک : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + بلاک + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + کارمزد میانه + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + مجموع کارمزدها + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + استخراج‌کننده + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + بلاک بعدی + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + بلاک قبلی + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + سلامت + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + ناشناخته + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + بازه‌ی کارمزد + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + بر اساس میانگین تراکنش سگویتی اصیل با اندازه 140 ساتوشی بر بایت مجازی + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - اندازه مجازی - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - وضعیت بررسی - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - همتا - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - حذف شده - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - نرخ کارمزد حاشیه‌ای - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - اخیرا منتشرشده - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - اضافه شده - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - دقت پیش‌بینی بلاک - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - هنوز اطلاعاتی برای نمایش وجود ندارد. لطفا بعدا امتحان کنید. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - نرخ همتایی - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - پاداش بلاک - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - اندازه و وزن بلاک - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - اندازه - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - وزن - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - اندازه بر وزن - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - بلاک - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - کارمزد میانه - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - مجموع کارمزدها - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - استخراج‌کننده - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - بلاک : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - بلاک بعدی - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - بلاک قبلی - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - سلامت - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - ناشناخته - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - بازه‌ی کارمزد - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - بر اساس میانگین تراکنش سگویتی اصیل با اندازه 140 ساتوشی بر بایت مجازی - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ یارانه + کارمزدها src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ پیش‌بینی شده src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ آزمایشی src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ واقعی src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ بلاک پیش‌بینی شده src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ بلاک واقعی src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits بیت src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ ریشه درخت مرکل src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ سختی شبکه src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ نانس src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ سربرگ بلاک به صورت Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ بررسی src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ جزئیات src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ خطا در بارگذاری داده‌ها. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ چرا این بلاک خالی است؟ src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - استخراج‌شده - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward پاداش src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ کارمزدها src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ تراکنش src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! کپی شد! @@ -3063,12 +3447,60 @@ 19 + + High Priority + اولویت بالا + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + تأیید نشده + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted تنظیم‌شده src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ تغییرات src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ تنظیم سختی بلاک‌ها src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ باقیمانده src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - بلاک + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ تخمین src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ قبلی src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ دوره فعلی src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ نصف‌شدن یارانهٔ بلاک بعدی src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ بلاک مورد انتظار src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ بلاک مورد انتظار src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ بلاک استخراج‌شده src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ بلاک استخراج‌شده src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ بلاک باقی‌مانده src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ بلاک باقی‌مانده src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ بلاک جلوتر از پیش‌بینی src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ بلاک جلوتر از پیش‌بینی src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ بلاک عقب‌تر از پیش‌بینی src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ بلاک عقب‌تر از پیش‌بینی src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ متوسط زمان ایجاد بلاک src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ «2 برابر نرخ کمینه» یا «اولویت پایین» (هر کدام که کمتر است) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ بدون اولویت src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ معمولا تراکنش شما را بین بلاک‌های دوم و سوم ممپول قرار می‌دهد src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ اولویت پایین src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ معمولا تراکنش شما را بین بلاک‌های اول و دوم ممپول قرار می‌دهد src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ اولویت متوسط src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ تراکنش شما را در اولین بلاک از بلاک‌های ممپول قرار می‌هد src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - اولویت بالا - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions تراکنش‌های منتشرشده src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ زیرساخت در حال همگام‌سازی است src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - تأیید نشده + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size اندازه ممپول src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ نرخ تولید هش src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ نرخ تولید هش و سختی src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) نرخ تولید هش (میانگین متحرک) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ نمودارها src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ داشبورد استخراج src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ کاوشگر لایتنینگ src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ مستندات src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks پشته‌ای از بلاک ممپول src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ بلاک ممپول src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ بازه src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ مجموع src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats وضعیت پاداش @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - آخرین بلاک‌ها + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - انتشار تراکنش + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - شانس استخرها + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ شانس کلی همه استخرهای استخراج طی هفته پیش. شانس بیشتر از 100 درصد یعنی متوسط زمان بلاک در دوره فعلی کمتر از 10 دقیقه است. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - تعداد استخرها + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ تعداد استخرهای منحصر به فردی که حداقل یک بلاک طی هفته گذشته پیدا کرده‌اند. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ تعداد بلاک‌هایی که طی هفته پیش پیدا کرده است. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ رتبه src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ متوسط سلامت src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - بلاک‌های خالی + + Avg Block Fees + متوسط کارمزدهای بلاک src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ همه ماینرها src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - شانس استخرها (1 هفته) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - تعداد استخرها (1 هفته) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools استخرهای استخراج @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks بلاک src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ دیگر () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ استخر استخراج src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ برچسب‌ها src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all نمایش همه src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ پنهان کردن src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ نرخ تولید هش (24 ساعته) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - تخمینی + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - گزارش‌شده - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - شانس - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - بلاک‌های استخراج‌شده - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24 ساعته - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1 هفته‌ای src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + استخراج‌شده + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag برچسب coinbase src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + انتشار تراکنش + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex تراکنش به صورت Hex @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + اولین زمان دیده‌شدن + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward پاداش ماینرها @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ مقدار پرداختی به ماینرها در 144 بلاک اخیر src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - متوسط کارمزدهای بلاک - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks متوسط کارمزدها بر بلاک در 144 بلاک اخیر src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC بر بلاک src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ میانگین کارمزد پرداختی به ازای هر تراکنش در 144 بلاک اخیر src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sat بر tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - پاداش به ازای تراکنش - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem کاوش در تمام زیست‌بوم بیت‌کوین src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ جستجو src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view نمایش تلویزیونی src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ پالایش src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ معکوس src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ تراکنش vByte بر ثانیه (vB بر ثانیه) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now همین الان src/app/components/time/time.component.ts - 79 + 90 ago پیش - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - در حدود src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + در حدود src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - بعد از src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + بعد از src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: این تراکنش جایگزین شده است: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - این تراکنش جایگزین شده است: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - جایگزین‌شده - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - تأییدنشده - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - اولین زمان دیده‌شدن - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA تخمین src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ در چند (یا چندین) ساعت آینده src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant نواده src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ والد src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow جریان src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ پنهان‌کردن نمودار src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ بیشتر src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ کمتر src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ نمایش نمودار src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime قفل‌زمانی src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. تراکنش پیدا نشد. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ منتظر دیده‌شدن در mempool... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - نرخ کارمزد مؤثر + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (سکه‌های تازه تولید شده) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ شاهد src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ اسکریپت نقد کردن P2SH src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ اسکریپت شاهد P2WSH src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ اسکریپت خروجی قبلی src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ نوع خروجی قبلی src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ ‏Peg-out به src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ نمایش ورودی‌های بیشتر برای افشای داده‌های کارمزد src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ عدد باقی مانده src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot این تراکنش با استفاده از Taproot حداقل درصد در کارمزد صرفه‌جویی کرده است. در صورت استفاده کامل از Taproot این صرفه‌جویی تا درصد بیشتر افزایش پیدا می‌کرد @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method این تراکنش از قابلیت جایگزینی با کارمزد (RBF) پشتیبانی نمی‌کند و امکان افزایش کارمزد آن با این روش وجود ندارد @@ -5308,25 +5883,48 @@ کارمزد تراکنش‌ها src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - آخرین تراکنش‌ها + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee حداقل کارمزد src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ آستانه حذف src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - حافظه مصرف‌شده - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation مقدار L-BTC در گردش src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - ممپول صرفا داده‌هایی درباره شبکه بیت‌کوین ارائه می‌کند. نمی‌توانید از آن برای دریافت وجه، سریع‌ کردن تأیید شدن تراکنش‌هایتان یا چنین کارهایی استفاده کنید. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ خدمات REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ نقطه اتصال src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ توضیحات src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ دستور پیش‌فرض: action: 'want', data: ['blocks', ...] که نشان می‌دهد چه چیزی باید ارسال شود. گزینه‌های در دسترس: blocks, mempool-blocks, live-2h-chart و stats. دستورهای مربوط به آدرس: 'track-address': '3PbJ...bF9B' جهت دریافت تمام تراکنش‌های جدیدی که خروجی یا ورودی‌های آنها شامل این آدرس می‌شود. آرایه‌ای از تراکنش‌ها برمی‌گرداند. address-transactions برای تراکنش‌های جدید ممپول و block-transactions برای تراکنش‌های بلاک تایید شده‌ی جدید. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ نمونه کد src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ بسته نصب src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ پاسخ دریافتی src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - سوالات متداول src/app/docs/docs/docs.component.ts - 34 + 45 - - API - رابط برنامه‌نویسی نرم‌افزار (API) + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ موجودی شروع src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ موجودی پایان src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ کانال لایتنینگ src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ غیرفعال src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ فعال src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ بسته‌شده src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ ساخته‌شده src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ ظرفیت src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel کانال لایتنینگ src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ آخرین بروز رسانی src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ تاریخ بسته‌شدن src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ بسته‌شده توسط src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ تراکنش بازشدن src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ تراکنش بسته‌شدن src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ باز src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ هیچ کانالی برای نمایش وجود ندارد src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ نام مستعار src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - وضعیت - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID شناسه کانال src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg متوسط src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ میانه src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ متوسط ظرفیت src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ متوسط نرخ کارمزد src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ متوسط نرخ کارمزد که توسط گره‌های مسیریاب گرفته می‌شود، با نادیده گرفتن نرخ کارمزدهای بیشتر از 0.5 درصد یا 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ متوسط کارمزد پایه src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ متوسط کارمزد پایه‌ای که توسط گره‌های مسیریاب گرفته می‌شود، با نادیده گرفتن کارمزد پایه‌های بیشتر از 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ میانه ظرفیت src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ میانه نرخ کارمزد src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ میانه نرخ کارمزدی که توسط گره‌های مسیریاب گرفته می‌شود، با نادیده گرفتن نرخ کارمزدهای بیشتر از 0.5 درصد یا 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ میانه کارمزد پایه src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ میانه کارمزد پایه‌ای که توسط گره‌های مسیریاب گرفته می‌شود، با نادیده گرفتن کارمزد پایه‌های بیشتر از 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ گروه گره لایتنینگ src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ گره‌ها src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ نقدینگی src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ کانال‌ها src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ متوسط اندازه src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location موقعیت src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics آمارهای شبکه @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution پراکندگی کارمزد @@ -6429,11 +7078,11 @@ کارمزدهای خروجی src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ کارمزدهای ورودی src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ درصد تغییر هفته گذشته src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ گره لایتنینگ src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ ظرفیت فعال src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ کانال‌های فعال src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ کشور src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size متوسط اندازه کانال src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ متوسط فاصله کانال src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ رنگ src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ارائه کننده اینترنت src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ فقط بر روی شبکه Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad اعلان نقدینگی src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ نرخ کارمزد اجاره src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ کارمزد پایه اجاره src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ وزن تأمین موجودی src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ نرخ کارمزد کانال src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ کارمزد پایه کانال src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ چکیده مشخصات اجاره src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ تاریخچه افزونه TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ کانال‌های باز src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ کانال‌های بسته src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ گره: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (به استثنای گره‌های Tor) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map نقشه کانال‌های گره‌های لایتنینگ دنیا + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ اطلاعات جغرافیایی در دسترس نیست src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ نقشه کانال‌های فعال src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress در حال فهرست‌سازی src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ شبکه آشکار و پنهان src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ فقط شبکه آشکار (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ فقط شبکه پنهان (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ سهم src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes گره src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ ظرفیت BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ تعداد ارائه کننده اینترنت src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ برترین ارائه کننده اینترنت src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity ظرفیت شبکه آشکار src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ نقدینگی گره‌هایی که حداقل یک آدرس IP دارند src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ ظرفیت نامعلوم src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ مقدار نقدینگی گره‌هایی که ارائه کننده اینترنت آنها شناسایی نشده src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ ‏ظرفیت Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ مقدار نقدینگی گره‌هایی که فقط آدرس Tor دارند src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ رتبه‌بندی 100 ارائه کننده اینترنت میزبان گره‌های لایتنینگ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + در حال فهرست‌سازی + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ ارائه کننده اینترنت لایتنینگ src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ کشور برتر src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ گره برتر src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: گره‌های لایتنینگ این ISP‏: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ گره‌های فعال src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ رتبه‌بندی 100 گره قدیمی لایتنینگ src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes قدیمی‌ترین گره‌ها @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - در حال فهرست‌سازی + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + تأییدنشده + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + شرایط خدمات + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + سیاست حریم‌خصوصی + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.fi.xlf b/frontend/src/locale/messages.fi.xlf index 81a2b478b..903107f49 100644 --- a/frontend/src/locale/messages.fi.xlf +++ b/frontend/src/locale/messages.fi.xlf @@ -5,273 +5,271 @@ Close Sulje - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Sivu / - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Edellinen - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Seuraava - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Valitse kuukausi - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Valitse vuosi - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Edellinen kuukausi - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Seuraava kuukausi - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Ensimmäinen - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Edellinen - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Seuraava - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Viimeinen - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Tunnit - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minuutit - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Tuntien lisäys - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Tuntien vähennys - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Minuuttien lisäys - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Minuuttien vähennys - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Sekuntit - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Sekuntien lisäys - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Sekuntien vähennys - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Sulje - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Valitse kuukausi + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Edellinen kuukausi + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Tunnit + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Edellinen + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Valitse vuosi + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Seuraava kuukausi + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Seuraava + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minuutit + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Tuntien lisäys + + node_modules/src/ngb-config.ts + 13 + + + + First + Ensimmäinen + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Edellinen + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Tuntien vähennys + + node_modules/src/ngb-config.ts + 13 + + + + Next + Seuraava + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Minuuttien lisäys + + node_modules/src/ngb-config.ts + 13 + + + + Last + Viimeinen + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Minuuttien vähennys + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Sekuntit + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Sekuntien lisäys + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Sekuntien vähennys + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Lohko @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Lohko : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ-lohkot src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Järjestysnumero src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Vahvistettu src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Siirtotapahtumat src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Bisq vaihtovolyymi src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Markkinat src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Bitcoin-markkinat src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Hinta src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Viimeisimmät vaihdot src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq-hintaindeksi src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Bisq-markkinahinta src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Näytä lisää » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Käyttöehdot - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Tietosuojakäytäntö - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Ostotarjoukset src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Myyntitarjoukset src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Määrä () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ tilastot @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Päivämäärä src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Määrä src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Siirtotapahtuma src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - vahvistus - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - vahvistusta - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Sisältyy lohkoon src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Ominaisuudet src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Siirtomaksu per vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Yksityiskohdat src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Syötteet & Tulosteet src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ-transaktiot src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ Siirtotunniste src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Vahvistettu src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Suodata src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Valitse kaikki src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Vaihdot @@ -1443,7 +1452,7 @@ Mempool avoimen lähdekoodin projekti src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Mempool- ja lohkoketjuselaimemme Bitcoin yhteisölle, joka keskittyy siirtomaksumarkkinoihin ja monikerroksiseen ekosysteemiin, täysin itse ylläpidetty ilman luotettuja kolmansia osapuolia. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Yrityssponsorit 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Yhteisösponsorit ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Yhteisön integraatiot src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Yhteisöliittoumat src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Projektin kääntäjät src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Projektin avustajat src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Projektin jäsenet src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Projektin ylläpitäjät src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Tietoja src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig / @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Osoite: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Omaisuuserien ryhmä src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Tunnus src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Liikkeeseenlaskijan verkkotunnus src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ Omaisuuserä tunnus src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Omaisuuserien tietoja ladattaessa tapahtui virhe. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Offline-tilassa src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Yhdistetään uudelleen... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ 2 kerroksen verkot src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Kojelauta src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Tilastot src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Dokumentit src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Siirtomaksujen tasot src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Lohkossa: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Lähellä lohkoa: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Lohkojen siirtomaksut src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Lohkojen indeksointi src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Ei vielä tietoja näytettäväksi. Yritä myöhemmin uudelleen. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ ei saatavilla src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Siirtomaksu taso @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Todellinen siirtomaksu taso src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Virtuaalikoko + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Tarkastuksen tila + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Osuma + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Poistettu + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Marginaali siirtomaksu taso + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Äskettäin lähetetty + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Lisätty + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Lohkopalkkiot + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Lohkojen koot ja painot + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Koko + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Paino + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Koko painon mukaan + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Lohko : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Lohko + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Keskimääräinen siirtomaksu + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Siirtomaksut yhteensä + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Louhija + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Seuraava lohko + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Edellinen lohko + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Tila + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Tuntematon + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Siirtomaksu väli + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Perustuu keskimääräiseen natiiviin 140 vByte segwit-siirtotapahtumaan + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Virtuaalikoko - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Tarkastuksen tila - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Osuma - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Poistettu - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Marginaali siirtomaksu taso - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Äskettäin lähetetty - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Lisätty - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Lohkon ennustustarkkuus - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Ei vielä tietoja näytettäväksi. Yritä myöhemmin uudelleen. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Vastaavuusaste - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Lohkopalkkiot - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Lohkojen koot ja painot - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Koko - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Paino - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Koko painon mukaan - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Lohko - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Keskimääräinen siirtomaksu - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Siirtomaksut yhteensä - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Louhija - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Lohko : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Seuraava lohko - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Edellinen lohko - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Tila - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Tuntematon - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Siirtomaksu väli - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Perustuu keskimääräiseen natiiviin 140 vByte segwit-siirtotapahtumaan - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Palkkio + siirtomaksut src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Odotettu src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Todellinen src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Odotettu lohko src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Todellinen lohko src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bitit src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle-juuri src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Vaikeus src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonssi src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Lohkon järjestysnumero heksa src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Tarkastus src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Yksityiskohdat src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Virhe tietojen lataamisessa. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Miksi tämä lohko on tyhjä? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Louhittu - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Palkkio src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Siirtomaksut src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ Siirtoa src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Kopioitu! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Korkea + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Vahvistamatta + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Säädetty src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Muutos src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Vaikeudensäätö src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Jäljellä src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - lohkoa + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Arvio src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Edellinen src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Nykyinen jakso src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Puoliintuminen src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ lohkoa odotetaan src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ odotettu lohko src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ lohkoa louhittu src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ louhittu lohko src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ lohkoa jäljellä src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ lohko jäljellä src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ lohkoa edellä src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ lohko edellä src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ lohkoa jäljessä src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ lohko jäljessä src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Keskimääräinen lohkoaika src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Joko 2x vähimmäismäärä tai alhaisen prioriteetin määrä (riippuen siitä, kumpi on alhaisempi) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Ei prioriteettia src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Sijoittaa transaktiosi yleensä toisen ja kolmannen mempool-lohkon väliin. src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Matala src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Sijoittaa transaktiosi yleensä ensimmäisen ja toisen mempool-lohkon väliin. src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Keskimääräinen src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Sijoittaa tapahtumasi ensimmäiseen mempool-lohkoon src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Korkea - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Saapuvat siirtotapahtumat src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Taustaosaa synkronoidaan... src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Vahvistamatta + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempoolin koko src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Laskentateho src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Laskentateho & Vaikeusaste src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Laskentateho (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Kaaviot src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Louhinnan näyttötaulu src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Salamaverkko selain src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Dokumentaatio src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Mempool-lohkon pino src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Mempool-lohko src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Alue src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Summa src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Palkkiotilastot @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Viimeisimmät lohkot + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Siirtotapahtuman kuulutus + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Poolien onni + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Kaikkien louhintapoolien onni viime viikolla. Yli 100 %:n onni tarkoittaa, että keskimääräinen lohkoaika kuluvalla jaksolla on alle 10 minuuttia. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Poolien lukumäärä + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Kuinka moni uniikki pooli löysi vähintään yhden lohkon viime viikolla. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Viime viikolla löydettyjen lohkojen määrä. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Sijoitus src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ keskim. Terveys src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Tyhjät lohkot + + Avg Block Fees + keskim. Lohkomaksut src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Kaikki louhijat src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Poolien onni (1vk) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Poolien määrä (1vk) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Louhintapoolit @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks lohkoa src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Muut () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ louhintapooli src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Tunnisteet src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Näytä kaikki src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Piilota src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Laskentateho (24t) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Arvioitu + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Raportoitu - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Onni - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Louhitut lohkot - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24t - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1vk src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Louhittu + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Kolikonluonti tunniste src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Siirtotapahtuman kuulutus + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Transaktion heksanumero @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Ensimmäiseksi nähty + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Louhijoiden palkkio @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Louhijoille viimeisten 144 lohkon aikana maksettu määrä src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - keskim. Lohkomaksut - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Keskimääräiset siirtomaksut lohkoa kohti viimeisten 144 lohkon aikana src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/lohko src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Kustakin siirtotapahtumasta viimeisten 144 lohkon aikana keskimäärin maksettu siirtokulu src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ satoshia/siirto src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Palkkio per siirto - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Tutustu koko Bitcoin-ekosysteemiin src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Hae src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV näkymä src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Suodatin src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Käänteinen src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Siirtotapahtuma vByte:ä sekunnissa (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Juuri nyt src/app/components/time/time.component.ts - 79 + 90 ago sitten - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - jälkeen src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + jälkeen src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Kolikonluonti + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Tämä siirtotapahtuma on korvattu seuraavalla: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Tämä transaktio korvasi: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Korvattu - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Vahvistamatta - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Ensimmäiseksi nähty - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Muutamassa tunnissa (tai enemmän) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Verso src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Juuri src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Virtaus src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Piilota kaavio src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Näytä enemmän src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Näytä vähemmän src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Näytä kaavio src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Lukitusaika src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Siirtotapahtumaa ei löydy. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Odotetaan sen ilmestymistä mempooliin... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Todellinen siirtomaksu taso + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Kolikonluonti - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Äskettäin luodut kolikot) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Kiinnitä src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Todistaja src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH lunastusskripti src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR taprootskripti src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH todistajaskripti src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Edellinen tulosteskripti src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Edellinen tulostetyyppi src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Irrotetaan src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Näytä lisää syötteitä paljastaaksesi siirtomaksutiedot src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ jäljellä src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Tämä siirtotapahtuma käyttää Taprootia ja on jo säästänyt vähintään % siirtomaksuissa, mutta voisi säästää vielä lisää % käyttämällä Taprootia täysimääräisesti @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Tämä siirtotapahtuma EI tue Replace-By-Fee (RBF), eikä sen siirtomaksuja voida nostaa tällä menetelmällä @@ -5308,25 +5883,48 @@ Siirtomaksut src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Viimeisimmät siirtotapahtumat + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Vähimmäis siirtomaksu src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Tyhjennys src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Muistin käyttö - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation Käytössä olevat L-BTC src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space tarjoaa vain tietoja Bitcoin-verkosta. Se ei voi auttaa sinua varojen saamisessa, siirtotapahtuman vahvistamisessa nopeammin jne. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API-palvelu src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Päätepiste src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Kuvaus src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Oletus työntö: action: 'want', data: ['blocks', ...] ilmaisemaan, mitä haluat työnnettävän. Käytettävissä: blocks, mempool-blocks, live-2h-chart ja stats.Työnnä osoitteeseen liittyvät tapahtumat: 'track-address': '3PbJ...bF9B' vastaanottaa kaikki uudet transaktiot, jotka sisältävät kyseisen osoitteen syötteenä tai tulosteena. Palauttaa transaktioiden joukon. address-transactions uusille mempool-transaktioille ja block-transactions uusille lohkon vahvistetuille transaktioille. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Koodiesimerkki src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Asenna paketti src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Vastaus src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - UKK src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Alkusaldo src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Loppusaldo src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ salamakanava src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Ei aktiivinen src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Aktiivinen src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Suljettu src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Luotu src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Kapasiteetti src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Salamakanava src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Viimeisin päivitys src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Päättymispäivä src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Sulkenut src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Avaava transaktio src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Sulkeva transaktio src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Avaa src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Ei näytettäviä kanavia src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Tila - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID Kanavan tunnus src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg keskim. src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ kohtalainen src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ keskim. Kapasiteetti src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ keskim. Siirtomaksu prosentti src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Reitityssolmujen perimien siirtomaksujen keskiarvo-osuus, kun ei oteta huomioon siirtomaksujen osuutta, jotka ovat yli 0,5 % tai 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ keskim. Perus siirtomaksu src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Reitityssolmujen perimä keskimääräinen perusmaksu, kun ei oteta huomioon perusmaksuja, jotka ovat yli 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Keskisuuri kapasiteetti src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Keskisuuri siirtomaksu taso src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Reitityssolmujen perimän siirtokulun mediaani, kun otetaan huomioon siirtokulu prosentit, jotka ovat yli 0,5 % tai 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Keskisuuri perus siirtomaksu src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Reitityssolmujen perimän perusmaksun mediaani, kun ei oteta huomioon perus siirtomaksuja, jotka ovat yli 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Salamasolmuryhmä src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Solmut src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Likviditeetti src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Kanavat src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Keskimääräinen koko src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Sijainti src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Verkon tilastot @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Siirtomaksujen jakautuminen @@ -6429,11 +7078,11 @@ Lähtevät siirtomaksut src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Saapuvat siirtomaksut src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Prosenttimuutos viime viikolla src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Salamasolmu src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Aktiivinen kapasiteetti src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Aktiiviset kanavat src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Maa src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Kanavan keskimääräinen koko src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ keskim. Kanavaetäisyys src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Väri src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ Palveluntarjoaja src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Ainoastaan Tor-verkossa src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Likviditeetti ad src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Vuokra siirtomaksun taso src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Vuokra perus siirtokulu src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Rahoituspaino src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Kanava siirtomaksu taso src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Kanava perus siirtomaksu src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Kompakti vuokraus src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV-laajennustiedot src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Avoimet kanavat src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Suljetut kanavat src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Solmu: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Tor-solmuja ei oteta huomioon) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Salamasolmu kanavien maailmankartta + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Paikannustietoja ei ole saatavilla src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Aktiivisten kanavien kartta src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indeksointi käynnissä src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Julkinenverkko ja Pimeäverkko src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Vain Julkinenverkko (IPv4, IPV6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Vain Pimeäverkko (Tor, I2p, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Jaa src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes solmua src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC kapasiteetti src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Palveluntarjoajien määrä src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Johtava palveluntarjoaja src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Julkinen kapasiteetti src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Kuinka paljon likviditeettiä on käytössä solmuissa, jotka mainostavat vähintään yhtä julkista IP-osoitetta src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Tuntematon src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Kuinka paljon likviditeettiä kulkee solmuissa, joiden palveluntarjoajaa ei voitu tunnistaa src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Tor kapasiteetti src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Kuinka paljon likviditeettiä on vain Tor-osoitteita mainostavissa solmuissa src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ 100 suurinta LN-solmuja ylläpitävää palveluntarjoajaa src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indeksointi käynnissä + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Salama palveluntarjoaja src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Johtava maa src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Johtava solmu src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Palveluntarjoajien salamasolmut: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Aktiiviset solmut src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Top 100 vanhinta salamasolmua src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Vanhimmat solmut @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indeksointi käynnissä + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Vahvistamatta + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Käyttöehdot + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Tietosuojakäytäntö + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.fr.xlf b/frontend/src/locale/messages.fr.xlf index c82fa0ee3..fb16c7c76 100644 --- a/frontend/src/locale/messages.fr.xlf +++ b/frontend/src/locale/messages.fr.xlf @@ -5,273 +5,271 @@ Close Fermer - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Diapositive de - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Précédent - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Suivant - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Sélectionner le mois - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Sélectionner l'année - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Mois précédent - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Mois suivant - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Premier - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Précédent - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Suivant - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Dernier - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Heures - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minutes - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Incrémenter les heures - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Décrémenter les heures - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Incrémenter les minutes - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Décrémenter les minutes - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Secondes - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Incrémenter les secondes - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Décrémenter les secondes - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Fermer - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Sélectionner le mois + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Mois précédent + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Heures + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Précédent + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Sélectionner l'année + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Mois suivant + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Suivant + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minutes + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Incrémenter les heures + + node_modules/src/ngb-config.ts + 13 + + + + First + Premier + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Précédent + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Décrémenter les heures + + node_modules/src/ngb-config.ts + 13 + + + + Next + Suivant + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Incrémenter les minutes + + node_modules/src/ngb-config.ts + 13 + + + + Last + Dernier + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Décrémenter les minutes + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Secondes + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Incrémenter les secondes + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Décrémenter les secondes + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Bloc @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Bloc : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ Blocs BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Hauteur src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Confirmé src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Transactions src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Volume de trading sur Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Marchés src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Marchés Bitcoin src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Prix src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Derniers ordres src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Indice de Prix de Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Prix du marché sur Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Voir plus » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Conditions d'utilisation - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Politique de confidentialité - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Offres d'achat src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Offres de vente src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Montant () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics Statistiques de BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Date src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Montant src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Transaction src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - confirmation - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - confirmations - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Inclus dans le bloc src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Fonctionnalités src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Frais par vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Détails src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Entrées & Sorties src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Transactions BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Confirmé src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ filtre src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Tout sélectionner src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Echange @@ -1443,7 +1452,7 @@ Le Projet Open Source Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Notre explorateur mempool et blockchain pour la communauté Bitcoin, axé sur le marché des frais de transaction et l'écosystème multicouche, entièrement auto-hébergé sans aucun tiers de confiance. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Entreprises sponsors 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Sponsors de la communauté ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Intégrations communautaires src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Alliances communautaires src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Traducteurs src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Contributeurs au projet src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Membres du projet src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Mainteneurs de projet src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ A propos src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + Sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multi-signature de @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Adresse: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Groupe de actifs src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Domaine de l'émetteur src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ Identifiant de l'actif src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Erreur lors du chargement des données des actifs. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Hors-ligne src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Reconnexion... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Réseaux de couche 2 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Tableau de bord src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Statistiques src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Docs src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Frais de bloc par tranche src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Au bloc : src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Autour du bloc : src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Frais de bloc src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indexage des blocs src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Aucune donnée à afficher pour le moment. Réessayez plus tard. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ pas disponible src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - Sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Taux de frais @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Taux de frais effectif src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Taille virtuelle + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + État de l'audit + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Correspond + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Supprimée + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Taux de frais marginal + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Récemment envoyée + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Ajoutées + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Récompenses de bloc + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Tailles et poids de bloc + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Taille + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Poids + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Taille par poids + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Bloc : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Bloc + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Frais médian + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Frais totaux + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Mineur + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Bloc suivant + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Bloc précédent + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Santé + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Inconnue + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + L'envergure des frais + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Basé sur une transaction segwit standard de 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Taille virtuelle - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - État de l'audit - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Correspond - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Supprimée - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Taux de frais marginal - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Récemment envoyée - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Ajoutées - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Précision de prédiction de bloc - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Aucune donnée à afficher pour le moment. Réessayez plus tard. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Taux de réussite - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Récompenses de bloc - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Tailles et poids de bloc - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Taille - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Poids - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Taille par poids - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Bloc - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Frais médian - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Frais totaux - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Mineur - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Bloc : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Bloc suivant - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Bloc précédent - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Santé - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Inconnue - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - L'envergure des frais - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Basé sur une transaction segwit standard de 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Subvention + frais src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Attendu src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ bêta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Réel src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Bloc attendu src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Bloc réel src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ racine de Merkle src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Difficulté src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Hex d'en-tête de bloc src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Audit src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Détails src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Une erreur est survenue lors du chargement. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Pourquoi ce bloc est-il vide ? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Miné - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Récompense src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Frais src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Copié! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Priorité haute + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Non confirmées + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Ajustée src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Ajustement src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Ajustement de la difficulté src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Restant src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - blocs + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Estimation src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Précédent src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Période actuelle src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Prochain halving src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ blocs attendus src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ bloc attendu src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ blocs trouvés src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ bloc trouvé src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ blocs restants src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ bloc restant src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ blocs d'avance src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ bloc d'avance src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ blocs de retard src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ bloc de retard src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Temps de bloc moyen src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Soit 2x les frais minimum, soit les frais de faible priorité (selon le plus bas) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Sans priorité src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Place généralement votre transaction entre les deuxième et troisième blocs mempool src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Priorité faible src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Place généralement votre transaction entre les premier et deuxième blocs mempool src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Priorité moyenne src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Place votre transaction dans le premier bloc mempool src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Priorité haute - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Transactions entrantes src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Synchronisation du backend src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Non confirmées + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Taille du mempool src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Taux de hachage src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Taux de hachage & difficulté src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Taux de hachage (moy) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Graphiques src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Tableau de bord de minage src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Explorateur Lightning src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Documentation src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Pile de blocs mempool src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Bloc mempool src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Intervalle src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Total src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Statistiques de récompense @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Derniers blocs + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Émettre une transaction + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Chance des pools + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ La chance globale des pools de minage au cours de la semaine dernière. Une chance supérieure à 100% signifie que le temps moyen entre chaque bloc pour l'époque actuelle est inférieur à 10 minutes. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Pools de minage + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Combien de pools ont trouvé au moins un bloc au cours de la semaine dernière. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Le nombre de blocs trouvés au cours de la semaine dernière. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,37 +4372,73 @@ Rang src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank Avg Health - Santé moyenne + Santé moy src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Bloc vides + + Avg Block Fees + Frais de bloc moyens src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Tous les mineurs src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Chance des pools - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Nombre de pool - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Pool de minage @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks blocs src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Autre ( ) src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ Pool de minage src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Labels src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Voir tout src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Cacher src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Taux de hachage (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Estimé + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Reporté - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Chance - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Blocs miné - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1 sem src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Miné + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Label coinbase src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Émettre une transaction + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Transaction hex @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Vu pour la première fois + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Total récompense @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Montant versé aux mineurs dans les 144 derniers blocs src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Frais de bloc moyens - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Frais moyens par bloc au cours des 144 derniers blocs src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/bloc src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Frais payés en moyenne pour chaque transaction au cours des 144 derniers blocs src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Récompense par tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Explorez tout l'écosystème Bitcoin src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Rechercher src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view Vue TV src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filtrer src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Inverser src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Transaction vBytes par seconde (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Juste maintenant src/app/components/time/time.component.ts - 79 + 90 ago Il y a - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Dans ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Dans ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Après src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Après src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Cette transaction a été remplacée par: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Cette transaction a remplacé : - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Remplacée - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - non confirmée - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Vu pour la première fois - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA - HAP + ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Dans plusieurs heures (ou plus) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Descendant src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Ancêtre src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Flux src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Masquer le diagramme src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Montrer plus src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Montrer moins src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Afficher le diagramme src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Temps de verrouillage src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transaction introuvable. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Veuillez patienter pendant que nous attendons qu'elle apparaisse dans le mempool src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Taux de frais effectif + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Nouveaux bitcoins générés) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Témoin src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ Script de rachat P2SH src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,16 +5602,16 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript P2WSH witness script - Script témoin PW2SH + Script témoin P2WSH src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Script de sortie précédent src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Script de sortie précédent src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out vers src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Afficher plus d'entrées pour révéler les données de frais src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ restantes src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Cette transaction utilise Taproot et a déjà économisé au moins % sur les frais, mais pourrait économiser % supplémentaires en utilisant pleinement Taproot @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Cette transaction ne prend pas en charge Replace-By-Fee (RBF) et les frais ne peuvent donc pas être augmentés en utilisant cette méthode. @@ -5308,25 +5883,48 @@ Frais de transaction src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Dernières transactions + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Frais minimums src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Purgées src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Mémoire utilisée - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC en circulation src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space fournit simplement des données sur le réseau Bitcoin. Il ne peut pas vous aider à récupérer des fonds, à confirmer vos transactions plus rapidement, etc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ Service d'API REST src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Point de terminaison src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Description src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Pousser par défaut : action: 'want', data: ['blocks', ...] pour exprimer ce que vous voulez pousser. Disponible: blocks, mempool-blocks, live-2h-chart, et stats.Pousse les transactions liées à l'adresse : 'track-address': '3PbJ...bF9B' pour recevoir toutes les nouvelles transactions contenant cette adresse en entrée ou en sortie. Renvoie un tableau de transactions. address-transactions pour les nouvelles transactions mempool, et block-transactions pour les nouvelles transactions confirmées en bloc. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Exemple de code src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Paquet d'installation src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Réponse src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Solde de départ src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Solde de clôture src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ canal Lightning src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Inactif src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Actif src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Fermé src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Établi src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Capacité src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Canal Lightning src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Dernière mise à jour src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Date de clôture src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Fermée par src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Transaction d'ouverture src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Transaction de clôture src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Ouvert src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Aucun canal à afficher src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Statut - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID du canal src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg moy. src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ med. src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Capacité moy src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Taux de frais moy src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Le taux de frais moyen facturé par les nœuds de routage, en ignorant les taux de frais > 0,5 % ou 5 000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Frais de base moy src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Frais de base moyens facturés par les nœuds de routage, sans tenir compte des frais de base > 5 000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Capacité med src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Taux de frais med src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Le taux de frais médian facturé par les nœuds de routage, en ignorant les taux de frais > 0,5 % ou 5 000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Frais de base med src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Frais de base médians facturés par les nœuds de routage, sans tenir compte des frais de base > 5 000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Groupe de nœuds Lightning src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Nœuds src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Liquidité src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Canaux src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Taille moyenne src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Emplacement src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Statistiques du réseau @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Répartition des frais @@ -6429,11 +7078,11 @@ Frais de sortie src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Frais entrants src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Variation sur une semaine src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Nœud Lightning src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Capacité active src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Canaux actifs src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Pays src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Taille moyenne du canal src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Distance moyenne des canaux src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Couleur src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ FAI src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Exclusivement sur Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Annonce de liquidité src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Taux de frais de location src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Frais de base de location src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Poids du financement src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Taux de frais de canal src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Frais de base du canal src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Location compacte src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ Enregistrements d'extension TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Canaux ouverts src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Canaux fermés src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Nœud : src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Nœuds Tor exclus) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Carte du monde des canaux Lightning + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Aucune donnée de géolocalisation disponible src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Carte des canaux actifs src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indexation en cours src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet et Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Clearnet seulement (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Darknet seulement (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Part src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes nœuds src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ Capacité de BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Nombre de FAI src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ FAI les plus utilisés src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Capacité Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Liquidité qui circule sur les nœuds annonçant au moins une adresse IP clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Capacité inconnue src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Liquidité qui circule sur les nœuds dont le FAI n'était pas identifiable src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Capacité Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Liquidité qui circule sur les nœuds annonçant uniquement les adresses Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Top 100 des FAI hébergeant des nœuds LN src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indexation en cours + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ FAI Lightning src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Meilleur pays src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Meilleur nœud src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Nœuds Lightning sur le FAI : @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Nœuds actifs src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Top 100 des nœuds Lightning les plus anciens src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Nœuds les plus anciens @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indexation en cours + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + non confirmée + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Conditions d'utilisation + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Politique de confidentialité + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.he.xlf b/frontend/src/locale/messages.he.xlf index 2e0d9b61f..b701ceabd 100644 --- a/frontend/src/locale/messages.he.xlf +++ b/frontend/src/locale/messages.he.xlf @@ -5,273 +5,271 @@ Close סגירה - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - שקף מתוך - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - הקודם - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - הבא - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - בחירת חודש - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - בחירת שנה - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - החודש הקודם - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - החודש הבא - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - ראשון - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - הקודם - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - הבא - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - אחרון - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - שעות - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - דקות - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - תוספת שעות - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - הפחתת שעות - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - תוספת דקות - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - הפחתת דקות - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - שניות - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - תוספת שניות - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - הפחתת שניות - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close סגירה - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + בחירת חודש + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + החודש הקודם + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + שעות + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + הקודם + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + בחירת שנה + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + החודש הבא + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + הבא + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + דקות + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + תוספת שעות + + node_modules/src/ngb-config.ts + 13 + + + + First + ראשון + + node_modules/src/ngb-config.ts + 13 + + + + Previous + הקודם + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + הפחתת שעות + + node_modules/src/ngb-config.ts + 13 + + + + Next + הבא + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + תוספת דקות + + node_modules/src/ngb-config.ts + 13 + + + + Last + אחרון + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + הפחתת דקות + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + שניות + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + תוספת שניות + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + הפחתת שניות + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block בלוק @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ בלוק : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ בלוקי BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ גובה src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ אושר src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ פעולות src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ נפח מסחר Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ שווקים src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ שווקי ביטקוין src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ מחיר src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ עסקאות אחרונות src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index מדד מחירי ביסק src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ מחירי שוק ביסק src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ צפה בעוד » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - תנאי השירות - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - מדיניות פרטיות - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers הצעות קנייה src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ הצעות מכירה src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ כמות () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics סטטיסטיקות BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date תאריך src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ כמות src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ פעולה src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - אישור - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - אישורים - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block נכלל בבלוק src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ מאפיינים src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ עמלה לבית src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details פרטים src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ קלטים ופלטים src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ פעולות BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ מזהה פעולה src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ אושר src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ סינון src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ בחר הכל src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades עסקאות @@ -1443,7 +1452,7 @@ פרויקט הקוד פתוח של Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ חוקר ה-Mempool וה-Blockchain שלנו עבור קהילת הביטקוין, המתמקד בשוק עמלות הטרנזקציות ובאקו-סיסטם הרב-שכבתי, ניתן לאחסון והרצה בעצמו לחלוטין ללא כל צד שלישי מהימן. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 נותני חסות ארגוניים 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - נותני חסות מהקהילה ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ שיתופי פעילות קהילתיים src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ בני ברית מהקהילה src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ מתרגמי הפרוייקט src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ תורמי הפרוייקט src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ חברי צוות הפרוייקט src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ מתחזקי הפרוייקט src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ אודות src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + סאט + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + סאטושיז + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + סאט/בית + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of ארנק מרובה חתימות מתוך @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ כתובת: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ קבוצת נכסים src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker פסנוע src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ דומיין מנפיק src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ מזהה נכס src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ שגיאה בטעינת נתוני נכסים. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ לא מקוון src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ מתחבר מחדש... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ רשתות שכבה שנייה src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ לוח מחוונים src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ סטטיסטיקה src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ מסמכים src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ גובה עמלות לבלוק src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: בבלוק: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ סביב בלוק: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ עמלות בלוק src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks מאנדקס בלוקים src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + אין מידע זמין להצגה. ניתן לנסות מאוחר יותר. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ לא זמין src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - סאט - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate שיעור עמלה @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - סאט/בית + + Effective fee rate + שיעור עמלה אפקטיבי src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + גודל וירטואלי + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + מצב בדיקה + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + התאמה + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + הוסר + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + שיעור עמלה שולית + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + שודר לאחרונה + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + נוסף + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + פרסי הבלוק + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + גדלי ומשקל הבלוק + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + גודל + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + משקל + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + גודל למשקל + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + בלוק : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + בלוק + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + עמלה חציונית + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + סך העמלות + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + כורה + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + הבלוק הבא + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + הבלוק הקודם + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + בריאות + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + לא ידוע + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + מרווח עמלה + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + מבוסס על טרנזקציית Native SegWit ממוצעת של 140 בתים + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - גודל וירטואלי - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - מצב בדיקה - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - התאמה - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - הוסר - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - שיעור עמלה שולית - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - שודר לאחרונה - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - נוסף - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - דיוק בלוק חזוי - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - אין מידע זמין להצגה. ניתן לנסות מאוחר יותר. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - שיעור התאמה - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - פרסי הבלוק - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - גדלי ומשקל הבלוק - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - גודל - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - משקל - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - גודל למשקל - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - בלוק - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - עמלה חציונית - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - סך העמלות - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - כורה - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - בלוק : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - הבלוק הבא - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - הבלוק הקודם - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - בריאות - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - לא ידוע - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - מרווח עמלה - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - מבוסס על טרנזקציית Native SegWit ממוצעת של 140 בתים - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ תגמול + עמלות src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ צפוי src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ בטא src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ בפועל src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ בלוק צפוי src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ בלוק בפועל src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + טאפרוט + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits ביטים src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ שורש מרקל src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ קושי src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ תוספתא src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ קידוד כותר הבלוק src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ בדיקה src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ פרטים src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ שגיאה בטעינת נתונים src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ למה בלוק זה ריק? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - נכרה - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward פרס src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ עמלות src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! הועתק! @@ -3063,12 +3447,60 @@ 19 + + High Priority + עדיפות גבוהה + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + טרם אושר + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted מותאם src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ עודף src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ התאמת קשי src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ נותרו src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - בלוקים + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ הערכה src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ הקודם src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ מחזור נוכחי src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ חצייה הבאה src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ בלוקים צפויים src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ בלוק צפוי src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ בלוקים נכרו src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ בלוק נכרה src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ בלוקים נותרו src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ בלוק נותר src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ בלוקים קדימה src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ בלוק קדימה src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ בלוקים מאחור src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ בלוק מאחור src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ זמן בלוק ממוצע src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ או כפול מהמינימום או בעמלת עדיפות נמוכה (הנמוך מבין השניים) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ ללא עדיפות src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ לרב ממקם את הטרנזקציה בטווח שבין הבלוק השני לשלישי שבתור src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ עדיפות נמוכה src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ לרב ממקם את הטרנזקציה בטווח שבין הבלוק הראשון לשני שבתור src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ עדיפות בינונית src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ ממקם את הטרנזקציה שלך בבלוק הבא בתור src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - עדיפות גבוהה - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions טרנזקציות נכנסות src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ מתבצע סנכרון בצד שרת src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - טרם אושר + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size גודל הממפול src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ כמות האשים src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ קשי וכמות האשים src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) כמות האשים (ממוצע נע) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ גרפים src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ לוח מכווני כרייה src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ חוקר רשת הברק src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ דוקיומנטציה src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks ערימה של בלוקי ממפול src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ ממפול בלוק src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ טווח src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ סכום src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats סטטיסטיקת פרסים @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - בלוקים אחרונים + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - שדר טרנזקציה + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - מזל הבריכות + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ מזל בריכות הכירה בשבוע החולף. מזל הגבוה מ100% מציין כי ממוצע זמן מציאת הבלוק קטן מ10 דקות. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - ספירת בריכות + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ כמות בריכות הכרייה אשר מצאו לפחות בלוק אחד בשבוע החולף. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ מספר הבלוקים שנמצאו בשבוע החולף src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ דירוג src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ בריאות ממוצעת src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - בלוקים ריקים + + Avg Block Fees + ממוצע עמלות בלוק src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ כל הכורים src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - מזל בריכות (שבוע) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - ספירת בריכות (שבוע) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools בריכות כרייה @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks בלוקים src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ אחר () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ בריכה כרייה src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ תגיות src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all הצג הכל src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ הסתר src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ כמות האשים (24 שע׳) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - מוערך + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - מדווח - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - מזל - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - בלוקים שנכרו - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24 שע׳ - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ שבוע src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + נכרה + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag תיוג מטבעה src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + שדר טרנזקציה + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex קידוד טרנזקציה @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + נראה לראשונה + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward פרסי הכורים @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ כמות התשלום לכורים ל144 הבלוקים האחרונים src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - ממוצע עמלות בלוק - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks ממוצע העמלות לבלוק ב144 הבלוקים האחרונים src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ ביטקוין/בלוק src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ עמלה ממוצעת לטרנזקציה ב144 הבלוקים האחרונים src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ סאט/טרנזק׳ src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - פרס לטרנזקציה - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem חקור את מרחב רשתות הביטקוין src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ חפש src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view תצוגת מרקע src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ סנן src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ להפוך src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ טרנזקציות vBytes לשניה (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now זה עתה src/app/components/time/time.component.ts - 79 + 90 ago לפני - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - תוך ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + תוך ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - לאחר src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + לאחר src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + מטבעה + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: טרנזקציה זו הוחלפה ב: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - טרנזקציה זו הוחלפה: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - הוחלפה - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - טרם אושרו - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - נראה לראשונה - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA זמן אישור משוער src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ בעוד מספר שעות (או יותר) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant צאצא src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ אב קדמון src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow זרימה src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ הסתר דיאגרמה src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ הצג עוד src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ הצג פחות src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ הצג דיאגמה src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime זמן נעילה src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. טרנזקציה לא נמצאה. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ ממתין להופעתה בממפול.. src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - שיעור עמלה אפקטיבי + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - מטבעה - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (מטבעות שזה עתה נוצרו) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ סקריפט P2TR src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ פלט קודם src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ סוג פלט קודם src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ התפגר ל src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ הצג עוד קלטים כדי לחשוף מידע אודות עמלה src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ נותרו src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - טאפרוט - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot טרנזקציה זו משתמשת בטאפרוט ולכן חסכה לפחות % בעמלות, אך יכלה לחסוך % נוספים בשימוש מלא בטאפרוט @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method טרנזקציה זו אינה תומכת בשינוי עמלות (RBF) ולא ניתן להעלות את העמלה @@ -5308,25 +5883,48 @@ עמלת טרנזקציה src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - טרנזקציות אחרונות + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee עמלה מינימלית src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ סף עמלה src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - שימוש בזיכרון - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC במחזור src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space מספק נתונים מרשת הביטקוין בלבד. אין אפשרות לסייע באיחזור נכסים, אישור מהיר יותר של טרנזקציות וכו'. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ שירותי API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ נקודת קצה src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ תיאור src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ ברירת מחדל דוחף: פעולה ׳רוצה׳, מידע: [׳בלוקים׳,...] לבטא את מה שרצית לדחוף. זמין בלוקים , בלוקי-ממפול , תצוגה חיה-שעתיים-טבלה , ו סטטיסטיקות . דוחף טרנזקציות הקשורות לכתובת: ׳עקוב-כתובת׳: ׳3PbJ...bF9B' לקבלה של כל הטרנזקציות החדשות המכילות את כתובת זו כקלט או פלט. מאחזר מערך של טרנזקציות. טרנזקציות-כתובת לטרנזקציות ממפול חדשות ו בלוקי-טרנזקציות לבלוקים מאושרים חדשים. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ קוד לדוגמה src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ התקנת חבילה src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ תגובה src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - שאלות נפוצות src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ מאזן התחלתי src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ מאזן סגירה src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ ערוץ ברק src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ לא פעיל src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ פעיל src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ סגור src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ נוצר src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ קיבולת src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ פפ"מ src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel ערוץ ברק src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ עידכון אחרון src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ תאריך סגירה src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ נסגר ע"י src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ טרנזקציית פתיחה src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ טרנזקציית סגירה src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ פתוח src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ אין ערוצים להצגה src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ כינוי src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - מצב - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID מזהה ערוץ src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - סאטושיז - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg ממוצע src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ חציון src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ קיבולת ממוצעת src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ ממוצע שיעור העמלה src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ ממוצע העמלות שנגבה בידי צמתי ניתוב, בהתעלמות מתעריף העמלה > 0.5% או 5000 פפ"מ src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ ממוצע בסיס העמלה src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ ממוצע העמלות שנגבה בידי צמתי ניתוב, בהתעלמות מתעריף העמלה > 5000 פפ"מ src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ קיבולת חציונית src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ שיעור חציון העמלה src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ חציון העמלות שנגבה בידי צמתי ניתוב, בהתעלמות תעריף העמלה > 0.5% או 5000 פפ"מ src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ בסיס העמלה החציוני src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ חציון העמלות שנגבה על ידי צמתי ניתוב, בהתעלמות מבסיס העמלה > 5000 פפ"מ src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ קבוצת צמתי ברק src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ צמתים src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ נזילות src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ ערוצים src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ גודל ממוצע src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location מיקום src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics סטטיסטיקת רשת @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution תפוצת עמלות @@ -6429,11 +7078,11 @@ עמלות יוצאות src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ עמלות נכנסות src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ אחוז השינוי בשבוע החולף src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ צומת ברק src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ קיבולת פעילה src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ ערוצים פעילים src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ מדינה src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size ממוצע גודל ערוץ src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ ממוצע מרחק ערוץ src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ צבע src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ רשת גלויה src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ ייחודי ברשת תור src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad פרסומת ליקווידיטי src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ שיעור עמלת שכירות src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ עמלת בסיס לשכירות src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ משקל מימון src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ שיעור עמלת הערוץ src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ בסיס עמלת הערוץ src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ שכירות קומפקטית src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ תיעוד TLV מורחב src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ ערוצים פתוחים src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ ערוצים סגורים src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ צומת: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (ללא צמתי תור) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map מפת ערוצי רשת הברק העולמית + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ מידע גיאולוקאלי אינו זמין src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ מפת ערוצים פעילים src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress מפתוח בתהליך src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ רשת גלויה ומוסתרת src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ רשת גלויה בלבד (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ רשת מוסתרת בלבד (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ שיתוף src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes צמתים src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ קיבולת ביטקוין src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ כמות ספקיות src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ ספקיות מובילות src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity קיבולת רשת גלויה src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ כמה ליקווידיטי רץ על צמתים המפרסמים לפחות כתובת IP גלויה אחת src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ קיבולת לא ידועה src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ כמה ליקווידיטי רץ על צמתים ללא ספקית רשת מזוהה src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ קיבולת ברשת תור src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ כמה ליקווידיטי רץ על צמתים המפרסמים כתובות תור בלבד src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ 100 הספקיות המובילות באיחסון צמתי רשת הברק src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + מפתוח בתהליך + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC ביטקוין src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ ספקיות ברק src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ מדינה מובילה src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ צומת מוביל src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: צמתי ברק ברשת הגלויה: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ צמתים פעילים src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ רשימת 100 צמתי הברק הותיקים ביותר src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes צמתים ישנים ביותר @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - מפתוח בתהליך + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + טרם אושרו + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + תנאי השירות + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + מדיניות פרטיות + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.hi.xlf b/frontend/src/locale/messages.hi.xlf index 0bd98f80f..d2ccf42a4 100644 --- a/frontend/src/locale/messages.hi.xlf +++ b/frontend/src/locale/messages.hi.xlf @@ -5,269 +5,269 @@ Close बंद - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - पिछला - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - अगला - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - महीना चुनिए - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - वर्ष चुनें - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - पिछ्ला महिना - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - अगला महीना - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - प्रथम - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - पिछला - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - अगला - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - अंतिम - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH एचएच - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - घंटे - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - एम्एम् - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - मिनट - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - घंटे बढ़ाए - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - घंटे घटाये - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - मिनट बढ़ाये - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - मिनट घटाये - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - एसएस - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - सेकंड - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - सेकंड बढ़ाये - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - सेकंड घटाये - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close बंद - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + महीना चुनिए + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + पिछ्ला महिना + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + घंटे + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + पिछला + + node_modules/src/ngb-config.ts + 13 + + + + MM + एम्एम् + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + वर्ष चुनें + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + अगला महीना + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + अगला + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + मिनट + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + घंटे बढ़ाए + + node_modules/src/ngb-config.ts + 13 + + + + First + प्रथम + + node_modules/src/ngb-config.ts + 13 + + + + Previous + पिछला + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + घंटे घटाये + + node_modules/src/ngb-config.ts + 13 + + + + Next + अगला + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + मिनट बढ़ाये + + node_modules/src/ngb-config.ts + 13 + + + + Last + अंतिम + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + मिनट घटाये + + node_modules/src/ngb-config.ts + 13 + + + + SS + एसएस + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + सेकंड + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + सेकंड बढ़ाये + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + सेकंड घटाये + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 @@ -313,7 +313,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -355,15 +355,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -380,15 +380,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -400,6 +400,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block ब्लॉक @@ -422,7 +429,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -439,31 +446,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -486,7 +493,14 @@ ब्लॉक : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -494,7 +508,7 @@ बीएसक्यू ब्लॉक src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -503,31 +517,31 @@ ऊंचाई src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -536,7 +550,7 @@ पूर्ण src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -545,7 +559,7 @@ ट्रांसेक्शन src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -557,15 +571,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -578,23 +604,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -602,11 +635,11 @@ बिस्क ट्रेडिंग वॉल्यूम src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -615,11 +648,11 @@ बाजार src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -628,11 +661,11 @@ बिटकॉइन बाजार src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -653,15 +686,15 @@ कीमत src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -673,7 +706,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -703,24 +740,38 @@ हाल के ट्रेड्स src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index बिस्क प्राइस इंडेक्स src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -729,19 +780,20 @@ बिस्क बाजार मूल्य src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title View more » + और देखें » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -761,68 +813,12 @@ dashboard.view-more - - Terms of Service - नियम और शर्तें - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - गोपनीयता नीति - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers खरीदने के ऑफर src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -831,7 +827,7 @@ बेचने के ऑफर src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -840,14 +836,28 @@ राशि ( ) src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics बीएसक्यू आंकड़े @@ -900,7 +910,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -921,19 +931,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -976,12 +986,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date तारीख src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -989,11 +1006,11 @@ राशी src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1001,7 +1018,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1045,15 +1062,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1065,11 +1082,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1078,23 +1095,27 @@ ट्रांसेक्शन src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1102,56 +1123,12 @@ shared.transaction - - confirmation - पुष्टिकरण - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - पुष्टिकरण - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block ब्लॉक में शामिल src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1161,15 +1138,19 @@ विशेषताएं src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1179,29 +1160,38 @@ शुल्क प्रति वीबाइट src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details विवरण src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1210,19 +1200,19 @@ इनपुट और आउटपुट src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1236,11 +1226,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1248,7 +1245,7 @@ बीएसक्यू ट्रांसेक्शन src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1256,15 +1253,19 @@ टी एक्स आई डी src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1272,11 +1273,15 @@ पुष्ट src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1314,11 +1319,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1398,7 +1403,7 @@ फ़िल्टर src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1406,7 +1411,7 @@ सभी का चयन करे src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1417,6 +1422,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades ट्रेडों @@ -1438,7 +1450,7 @@ मेमपूल ओपन सोर्स प्रोजेक्ट src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1446,24 +1458,55 @@ Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 एंटरप्राइज़ प्रायोजक src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - समुदाय प्रायोजक ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1471,7 +1514,7 @@ Community Integrations src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1480,7 +1523,7 @@ सामुदायिक गठबंधन src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1488,7 +1531,7 @@ Project Translators src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1497,7 +1540,7 @@ परियोजना योगदानकर्ता src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1506,7 +1549,7 @@ परियोजना सदस्य src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1515,7 +1558,7 @@ परियोजना अनुरक्षक src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1524,21 +1567,176 @@ विवरण src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + सैट + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + सैट/वीबी + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of @@ -1572,11 +1770,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1584,11 +1782,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1596,7 +1794,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1605,11 +1803,22 @@ पता: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1664,15 +1873,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1798,11 +2011,11 @@ Group of assets src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1822,7 +2035,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1841,23 +2054,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1878,16 +2095,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker टिकर src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1896,11 +2120,11 @@ जारीकर्ता डोमेन src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1909,11 +2133,11 @@ एसेट आईडी src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1922,7 +2146,7 @@ एसेट डेटा लोड करने में गड़बड़ी. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1931,15 +2155,15 @@ ऑफलाइन src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1948,15 +2172,15 @@ फिर से कनेक्ट हो रहा है... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1965,15 +2189,15 @@ लेयर 2 नेटवर्क्स src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1982,15 +2206,15 @@ डैशबोर्ड src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -1999,7 +2223,7 @@ आँकड़े src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2008,11 +2232,11 @@ डॉक्स src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2020,7 +2244,7 @@ Block Fee Rates src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2032,41 +2256,48 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 Around block: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 Block Fees src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2078,27 +2309,34 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2106,18 +2344,74 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 not available src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2128,13 +2422,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2142,33 +2440,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - सैट - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate शुल्क दर @@ -2178,11 +2454,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2190,41 +2466,551 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - सैट/वीबी + + Effective fee rate + प्रभावी शुल्क दर src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + वर्चुअल साइज + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + साइज + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + वेइट + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + ब्लॉक : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + औसत शुल्क + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + कुल शुल्क + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + माइनर + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + अगला ब्लॉक + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + पिछला ब्लॉक + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + फी स्पेन + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + 140 वीबाइट्स के औसत नेटिव सेगविट लेनदेन के आधार पर + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2246,481 +3032,17 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - वर्चुअल साइज - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - साइज - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - वेइट - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - औसत शुल्क - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - कुल शुल्क - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - माइनर - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - ब्लॉक : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - अगला ब्लॉक - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - पिछला ब्लॉक - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - फी स्पेन - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - 140 वीबाइट्स के औसत नेटिव सेगविट लेनदेन के आधार पर - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip Subsidy + fees src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2729,7 +3051,7 @@ Expected src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2737,11 +3059,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2749,7 +3071,7 @@ Actual src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2757,7 +3079,7 @@ Expected Block src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2765,16 +3087,45 @@ Actual Block src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits बिट्स src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2783,7 +3134,7 @@ मर्कल रुट src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2792,27 +3143,27 @@ कठिनाई src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2821,7 +3172,7 @@ नोन्स src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2830,7 +3181,7 @@ ब्लॉक हैडर हेक्स src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2838,7 +3189,7 @@ Audit src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2848,23 +3199,31 @@ विवरण src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2873,23 +3232,23 @@ Error loading data. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2897,7 +3256,7 @@ Why is this block empty? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2909,56 +3268,51 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - माइंड - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -2966,15 +3320,15 @@ Fees src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -2983,30 +3337,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! कोपीड! @@ -3015,11 +3402,58 @@ 19 + + High Priority + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + अपुष्ट + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3027,7 +3461,7 @@ Change src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3036,11 +3470,11 @@ डिफीकल्टी एडजस्टमेंट src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3053,31 +3487,31 @@ बचा हुआ src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3093,11 +3527,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3106,11 +3540,11 @@ आकलन src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3119,11 +3553,11 @@ पिछला src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3132,11 +3566,7 @@ वर्तमान अवधि src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3144,7 +3574,15 @@ Next Halving src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3152,7 +3590,7 @@ blocks expected src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3160,7 +3598,7 @@ block expected src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3168,7 +3606,7 @@ blocks mined src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3176,7 +3614,7 @@ block mined src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3184,7 +3622,7 @@ blocks remaining src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3192,7 +3630,7 @@ block remaining src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3200,7 +3638,7 @@ blocks ahead src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3208,7 +3646,7 @@ block ahead src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3216,7 +3654,7 @@ blocks behind src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3224,7 +3662,7 @@ block behind src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3232,7 +3670,7 @@ Average block time src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3240,7 +3678,7 @@ Either 2x the minimum, or the Low Priority rate (whichever is lower) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3248,11 +3686,11 @@ No Priority src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3260,7 +3698,7 @@ Usually places your transaction in between the second and third mempool blocks src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3268,11 +3706,11 @@ Low Priority src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3280,7 +3718,7 @@ Usually places your transaction in between the first and second mempool blocks src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3288,11 +3726,11 @@ Medium Priority src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3300,32 +3738,16 @@ Places your transaction in the first mempool block src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions आने वाले ट्रांसक्शन्स src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3334,11 +3756,11 @@ बैकएंड सिंक्रोनाइज़ कर रहा है src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3347,35 +3769,34 @@ वीबी/एस src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - अपुष्ट + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size मेमपूल साइज src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3396,7 +3817,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3408,7 +3829,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3436,7 +3857,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3444,7 +3865,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3456,7 +3877,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3464,7 +3885,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3476,7 +3897,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3488,7 +3909,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3504,7 +3925,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3520,7 +3941,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3528,27 +3949,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3556,23 +3977,30 @@ Hashrate & Difficulty src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3601,15 +4029,15 @@ ग्राफ्स src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3617,11 +4045,15 @@ Mining Dashboard src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3629,12 +4061,16 @@ Lightning Explorer src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3642,7 +4078,7 @@ प्रलेखन src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3650,12 +4086,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks मेमपूल ब्लॉक का ढेर src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3663,7 +4106,18 @@ मेमपूल ब्लॉक src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3671,7 +4125,7 @@ श्रेणी src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3679,9 +4133,17 @@ योग src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats @@ -3698,18 +4160,21 @@ mining.144-blocks - - Latest blocks - नई ब्लॉक + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3719,31 +4184,12 @@ dashboard.adjustments - - Broadcast Transaction - प्रसारण लेनदेन + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3753,11 +4199,15 @@ mining.miners-luck-1w - - Pools luck + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3765,7 +4215,7 @@ The overall luck of all mining pools over the past week. A luck bigger than 100% means the average block time for the current epoch is less than 10 minutes. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3777,11 +4227,15 @@ mining.miners-count-1w - - Pools count + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3789,7 +4243,7 @@ How many unique pools found at least one block over the past week. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3801,11 +4255,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3813,7 +4267,7 @@ The number of blocks found over the past week. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3821,15 +4275,15 @@ Rank src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3837,19 +4291,55 @@ Avg Health src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks + + Avg Block Fees src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3857,26 +4347,10 @@ All miners src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools @@ -3884,38 +4358,45 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 Other () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3923,18 +4404,18 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 mining pool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -3942,47 +4423,58 @@ Tags src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -3990,7 +4482,7 @@ Hide src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -3998,111 +4490,39 @@ Hashrate (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4110,26 +4530,81 @@ 1w src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + माइंड + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + प्रसारण लेनदेन + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex @@ -4138,10 +4613,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + प्रथम देखा + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + आरबीएफ + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward @@ -4150,11 +4768,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4162,27 +4780,15 @@ Amount being paid to miners in the past 144 blocks src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4190,7 +4796,7 @@ BTC/block src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4203,7 +4809,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4211,7 +4821,7 @@ Fee paid on average for each transaction in the past 144 blocks src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4219,28 +4829,24 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4249,7 +4855,7 @@ सर्च src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4326,12 +4932,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view टीवी दृश्य src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4344,7 +4962,7 @@ फ़िल्टर src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4353,7 +4971,7 @@ उल्टे src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4362,69 +4980,43 @@ लेनदेन vBytes प्रति सेकंड (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now अभी src/app/components/time/time.component.ts - 79 + 90 ago पहले - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4433,16 +5025,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4466,24 +5067,15 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ src/app/components/time/time.component.ts 141 @@ -4492,17 +5084,25 @@ src/app/components/time/time.component.ts 142 - - - After - . के बाद src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4526,24 +5126,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + . के बाद src/app/components/time/time.component.ts 164 @@ -4552,89 +5144,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + कॉइनबेस + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: इस लेन-देन को इसके द्वारा प्रतिस्थापित किया गया है: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - अपुष्ट - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - प्रथम देखा - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA इटीए src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4644,21 +5246,34 @@ कई घंटों में (या अधिक) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant वंशज src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4668,20 +5283,29 @@ पूर्वज src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4690,7 +5314,7 @@ Hide diagram src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4698,15 +5322,15 @@ Show more src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4714,11 +5338,11 @@ Show less src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4726,25 +5350,43 @@ Show diagram src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime लॉकटाइम src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. ट्रांसेक्शन नहीं मिला। src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4753,35 +5395,25 @@ मेमपूल में इसके प्रकट होने की प्रतीक्षा की जा रही है... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - प्रभावी शुल्क दर + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - कॉइनबेस - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (नए सृजित कोइन्स) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4790,7 +5422,7 @@ पेग-इन src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4799,7 +5431,7 @@ स्क्रिप्टसिग (एएसएम) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4809,7 +5441,7 @@ स्क्रिप्टसिग (हेक्स) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4819,7 +5451,7 @@ विटनेस src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4828,7 +5460,7 @@ P2SH रिडीम स्क्रिप्ट src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4836,7 +5468,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4845,7 +5477,7 @@ P2WSH विटनेस स्क्रिप्ट src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -4854,7 +5486,7 @@ nसीक्वेंस src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -4863,7 +5495,7 @@ पिछली आउटपुट स्क्रिप्ट src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -4872,7 +5504,7 @@ पिछला आउटपुट प्रकार src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -4881,7 +5513,7 @@ पेग-आउट से src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -4890,7 +5522,7 @@ स्क्रिप्टपबकी (एएसएम) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -4900,7 +5532,7 @@ स्क्रिप्टपबकी (हेक्स) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -4909,7 +5541,7 @@ Show more inputs to reveal fee data src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -4917,7 +5549,7 @@ remaining src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5011,31 +5643,6 @@ Tooltip about fees saved with taproot - - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot @@ -5077,20 +5684,6 @@ RBF tooltip - - RBF - आरबीएफ - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method यह लेन-देन प्रतिस्थापन-दर-शुल्क (आरबीएफ) का समर्थन नहीं करता है और इस पद्धति का उपयोग करके शुल्क में बाधा नहीं डाली जा सकती है @@ -5142,25 +5735,48 @@ ट्रांसेक्शन शुल्क src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - नवीनतम ट्रांसक्शन्स + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee न्यूनतम शुल्क src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5170,39 +5786,33 @@ पर्जिंग src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - मेमोरी उपयोग - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation प्रचलन में एल-बीटीसी src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5210,7 +5820,7 @@ REST API service src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5219,11 +5829,11 @@ ैंडपॉइन्ट src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5232,11 +5842,15 @@ विवरण src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5244,7 +5858,7 @@ डिफ़ॉल्ट पुश: क्रिया: 'चाहते हैं', डेटा: ['ब्लॉक', ...] जो आप चाहते हैं उसे व्यक्त करने के लिए धक्का दिया। उपलब्ध: ब्लॉक, मेमपूल-ब्लॉक, लाइव-2h-चार्ट, और आँकड़े। पते से संबंधित लेनदेन को पुश करें: 'ट्रैक-एड्रेस': '3PbJ...bF9B' इनपुट या आउटपुट के रूप में उस पते वाले सभी नए लेनदेन प्राप्त करने के लिए। लेन-देन की एक सरणी देता है। नए मेमपूल लेनदेन के लिए पता-लेनदेन, और नए ब्लॉक की पुष्टि लेनदेन के लिए ब्लॉक-लेनदेन। src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5253,19 +5867,19 @@ कोड उदाहरण src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5274,7 +5888,7 @@ इनस्टॉल पैकेज src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5283,31 +5897,85 @@ रिस्पांस src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - एपीआई + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5318,7 +5986,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5330,15 +5998,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5406,11 +6074,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5418,7 +6086,7 @@ Starting balance src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5427,7 +6095,7 @@ Closing balance src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5436,7 +6104,7 @@ lightning channel src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5444,15 +6112,15 @@ Inactive src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5460,15 +6128,15 @@ Active src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5476,19 +6144,23 @@ Closed src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5496,11 +6168,11 @@ Created src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5508,15 +6180,19 @@ Capacity src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5528,43 +6204,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5572,31 +6248,42 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5604,31 +6291,31 @@ Last update src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5636,11 +6323,11 @@ Closing date src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5648,7 +6335,7 @@ Closed by src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5656,7 +6343,11 @@ Opening transaction src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5664,7 +6355,11 @@ Closing transaction src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5700,7 +6395,7 @@ Open src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5708,7 +6403,7 @@ No channels to display src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5716,111 +6411,55 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -5828,7 +6467,7 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -5836,11 +6475,11 @@ Avg Capacity src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -5848,11 +6487,11 @@ Avg Fee Rate src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -5860,7 +6499,7 @@ The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -5868,11 +6507,11 @@ Avg Base Fee src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -5880,7 +6519,7 @@ The average base fee charged by routing nodes, ignoring base fees > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -5888,7 +6527,7 @@ Med Capacity src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -5896,7 +6535,7 @@ Med Fee Rate src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -5904,7 +6543,7 @@ The median fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -5912,7 +6551,7 @@ Med Base Fee src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -5920,7 +6559,7 @@ The median base fee charged by routing nodes, ignoring base fees > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -5928,11 +6567,11 @@ Lightning node group src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -5940,35 +6579,39 @@ Nodes src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -5976,31 +6619,31 @@ Liquidity src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6008,11 +6651,11 @@ Channels src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6024,55 +6667,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6080,54 +6723,71 @@ Average size src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics @@ -6160,16 +6820,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6182,12 +6838,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution @@ -6200,37 +6871,37 @@ Outgoing Fees src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 Incoming Fees src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 Percentage change past week src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6238,15 +6909,15 @@ Lightning node src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6254,11 +6925,11 @@ Active capacity src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6266,11 +6937,11 @@ Active channels src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6278,15 +6949,26 @@ Country src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6294,7 +6976,7 @@ Avg channel distance src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6302,7 +6984,7 @@ Color src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6310,11 +6992,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6322,15 +7004,24 @@ Exclusively on Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6338,7 +7029,7 @@ Lease fee rate src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6347,7 +7038,7 @@ Lease base fee src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6355,7 +7046,7 @@ Funding weight src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6363,7 +7054,7 @@ Channel fee rate src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6372,7 +7063,7 @@ Channel base fee src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6380,7 +7071,7 @@ Compact lease src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6388,7 +7079,7 @@ TLV extension records src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6396,7 +7087,7 @@ Open channels src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6404,7 +7095,7 @@ Closed channels src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6412,31 +7103,38 @@ Node: src/app/lightning/node/node.component.ts - 60 + 62 (Tor nodes excluded) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6446,97 +7144,118 @@ No geolocation data available src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 Active channels map src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 Clearnet and Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 Clearnet Only (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 Darknet Only (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 Share src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 BTC capacity src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6551,7 +7270,7 @@ ISP Count src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6559,7 +7278,7 @@ Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6570,15 +7289,22 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6586,7 +7312,7 @@ How much liquidity is running on nodes advertising at least one clearnet IP address src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6594,11 +7320,11 @@ Unknown Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6606,7 +7332,7 @@ How much liquidity is running on nodes which ISP was not identifiable src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6614,11 +7340,11 @@ Tor Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6626,7 +7352,7 @@ How much liquidity is running on nodes advertising only Tor addresses src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6634,26 +7360,38 @@ Top 100 ISPs hosting LN nodes src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6661,11 +7399,11 @@ Top country src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6673,7 +7411,7 @@ Top node src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6688,6 +7426,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: @@ -6700,7 +7449,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6708,7 +7457,7 @@ Active nodes src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6716,7 +7465,7 @@ Top 100 oldest lightning nodes src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -6727,6 +7476,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes @@ -6742,13 +7512,287 @@ 22 - - Indexing in progress + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + अपुष्ट + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + नियम और शर्तें + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + गोपनीयता नीति + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.hr.xlf b/frontend/src/locale/messages.hr.xlf index 4d6ea4e03..480c4eb16 100644 --- a/frontend/src/locale/messages.hr.xlf +++ b/frontend/src/locale/messages.hr.xlf @@ -4,242 +4,242 @@ Close - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + + node_modules/src/ngb-config.ts + 13 + + + + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + + node_modules/src/ngb-config.ts + 13 + + + + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + + node_modules/src/ngb-config.ts + 13 + + + + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + + node_modules/src/ngb-config.ts + 13 + + + + First + + node_modules/src/ngb-config.ts + 13 + + + + Previous + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + + node_modules/src/ngb-config.ts + 13 + + + + Next + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + + node_modules/src/ngb-config.ts + 13 + + + + Last + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + + node_modules/src/ngb-config.ts + 13 + + + + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 @@ -282,7 +282,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -322,15 +322,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -346,15 +346,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -365,6 +365,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block @@ -385,7 +392,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -401,31 +408,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -446,14 +453,21 @@ Block : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 BSQ Blocks src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -461,31 +475,31 @@ Height src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -493,7 +507,7 @@ Confirmed src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -501,7 +515,7 @@ Transactions src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -513,15 +527,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -533,34 +559,41 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 Bisq Trading Volume src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -568,11 +601,11 @@ Markets src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -580,11 +613,11 @@ Bitcoin Markets src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -603,15 +636,15 @@ Price src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -623,7 +656,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -650,23 +687,37 @@ Latest Trades src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -674,7 +725,7 @@ Bisq Market Price src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -682,11 +733,11 @@ View more » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -706,65 +757,11 @@ dashboard.view-more - - Terms of Service - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -772,7 +769,7 @@ Sell Offers src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -780,14 +777,28 @@ Amount () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics @@ -836,7 +847,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -856,19 +867,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -908,22 +919,29 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 Amount src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -931,7 +949,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -971,15 +989,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -990,11 +1008,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1003,23 +1021,27 @@ Transakcija src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1027,54 +1049,12 @@ shared.transaction - - confirmation - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Uključen u bloku src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1083,15 +1063,19 @@ Features src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1101,29 +1085,38 @@ Naknada po vByte-u src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detalji src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1132,19 +1125,19 @@ Ulazi & Izlazi src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1157,33 +1150,44 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 BSQ Transactions src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1191,11 +1195,15 @@ Potvrđena src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1229,11 +1237,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1303,14 +1311,14 @@ Filter src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 Select all src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1320,6 +1328,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades @@ -1338,7 +1353,7 @@ The Mempool Open Source Project src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1346,22 +1361,54 @@ Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1369,7 +1416,7 @@ Community Integrations src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1377,7 +1424,7 @@ Community Alliances src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1385,7 +1432,7 @@ Project Translators src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1393,7 +1440,7 @@ Project Contributors src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1401,7 +1448,7 @@ Project Members src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1409,7 +1456,7 @@ Project Maintainers src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1417,21 +1464,175 @@ About src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of @@ -1463,11 +1664,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1475,11 +1676,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1487,7 +1688,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1495,11 +1696,22 @@ Address: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1551,15 +1763,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1673,11 +1889,11 @@ Group of assets src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1696,7 +1912,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1715,23 +1931,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1750,15 +1970,22 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1766,11 +1993,11 @@ Issuer domain src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1778,11 +2005,11 @@ Asset ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1790,7 +2017,7 @@ Error loading assets data. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1798,15 +2025,15 @@ Offline src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1814,15 +2041,15 @@ Reconnecting... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1830,15 +2057,15 @@ Layer 2 Networks src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1846,15 +2073,15 @@ Dashboard src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -1862,7 +2089,7 @@ Stats src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -1870,11 +2097,11 @@ Docs src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -1882,7 +2109,7 @@ Block Fee Rates src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -1894,41 +2121,48 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 Around block: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 Block Fees src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -1940,27 +2174,34 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -1968,18 +2209,74 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 not available src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -1990,13 +2287,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2004,32 +2305,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate @@ -2038,11 +2318,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2050,41 +2330,540 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Virtualna veličina + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2106,471 +2885,17 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Virtualna veličina - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip Subsidy + fees src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2579,7 +2904,7 @@ Expected src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2587,11 +2912,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2599,7 +2924,7 @@ Actual src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2607,7 +2932,7 @@ Expected Block src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2615,15 +2940,44 @@ Actual Block src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2631,7 +2985,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2639,27 +2993,27 @@ Difficulty src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2667,7 +3021,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2675,7 +3029,7 @@ Block Header Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2683,7 +3037,7 @@ Audit src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2693,23 +3047,31 @@ Detalji src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2718,23 +3080,23 @@ Error loading data. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2742,7 +3104,7 @@ Why is this block empty? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2754,55 +3116,51 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -2810,15 +3168,15 @@ Fees src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -2826,30 +3184,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! @@ -2857,11 +3248,57 @@ 19 + + High Priority + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -2869,7 +3306,7 @@ Change src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -2877,11 +3314,11 @@ Difficulty Adjustment src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -2893,31 +3330,31 @@ Remaining src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2933,11 +3370,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -2945,11 +3382,11 @@ Estimate src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -2957,11 +3394,11 @@ Previous src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -2969,11 +3406,7 @@ Current Period src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -2981,7 +3414,15 @@ Next Halving src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -2989,7 +3430,7 @@ blocks expected src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -2997,7 +3438,7 @@ block expected src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3005,7 +3446,7 @@ blocks mined src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3013,7 +3454,7 @@ block mined src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3021,7 +3462,7 @@ blocks remaining src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3029,7 +3470,7 @@ block remaining src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3037,7 +3478,7 @@ blocks ahead src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3045,7 +3486,7 @@ block ahead src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3053,7 +3494,7 @@ blocks behind src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3061,7 +3502,7 @@ block behind src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3069,7 +3510,7 @@ Average block time src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3077,7 +3518,7 @@ Either 2x the minimum, or the Low Priority rate (whichever is lower) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3085,11 +3526,11 @@ No Priority src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3097,7 +3538,7 @@ Usually places your transaction in between the second and third mempool blocks src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3105,11 +3546,11 @@ Low Priority src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3117,7 +3558,7 @@ Usually places your transaction in between the first and second mempool blocks src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3125,11 +3566,11 @@ Medium Priority src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3137,31 +3578,15 @@ Places your transaction in the first mempool block src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3169,11 +3594,11 @@ Backend is synchronizing src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3181,33 +3606,33 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3228,7 +3653,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3240,7 +3665,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3268,7 +3693,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3276,7 +3701,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3288,7 +3713,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3296,7 +3721,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3308,7 +3733,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3320,7 +3745,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3336,7 +3761,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3352,7 +3777,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3360,27 +3785,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3388,23 +3813,30 @@ Hashrate & Difficulty src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3432,15 +3864,15 @@ Graphs src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3448,11 +3880,15 @@ Mining Dashboard src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3460,19 +3896,23 @@ Lightning Explorer src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning Documentation src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3480,34 +3920,60 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 Mempool block src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 Range src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 Sum src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats @@ -3524,17 +3990,21 @@ mining.144-blocks - - Latest blocks + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3544,30 +4014,12 @@ dashboard.adjustments - - Broadcast Transaction + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3577,11 +4029,15 @@ mining.miners-luck-1w - - Pools luck + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3589,7 +4045,7 @@ The overall luck of all mining pools over the past week. A luck bigger than 100% means the average block time for the current epoch is less than 10 minutes. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3601,11 +4057,15 @@ mining.miners-count-1w - - Pools count + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3613,7 +4073,7 @@ How many unique pools found at least one block over the past week. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3625,11 +4085,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3637,7 +4097,7 @@ The number of blocks found over the past week. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3645,15 +4105,15 @@ Rank src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3661,19 +4121,55 @@ Avg Health src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks + + Avg Block Fees src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3681,26 +4177,10 @@ All miners src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools @@ -3708,38 +4188,45 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 Other () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3747,18 +4234,18 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 mining pool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -3766,47 +4253,58 @@ Tags src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -3814,7 +4312,7 @@ Hide src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -3822,111 +4320,39 @@ Hashrate (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -3934,26 +4360,79 @@ 1w src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex @@ -3962,10 +4441,152 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Prvo viđeno + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward @@ -3974,11 +4595,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -3986,27 +4607,15 @@ Amount being paid to miners in the past 144 blocks src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4014,7 +4623,7 @@ BTC/block src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4027,7 +4636,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4035,7 +4648,7 @@ Fee paid on average for each transaction in the past 144 blocks src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4043,28 +4656,24 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4072,7 +4681,7 @@ Search src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4148,11 +4757,23 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4164,7 +4785,7 @@ Filter src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4172,7 +4793,7 @@ Invert src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4180,67 +4801,41 @@ Transaction vBytes per second (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now src/app/components/time/time.component.ts - 79 + 90 ago - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4249,16 +4844,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4282,24 +4886,15 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ src/app/components/time/time.component.ts 141 @@ -4308,16 +4903,25 @@ src/app/components/time/time.component.ts 142 - - - After src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4341,24 +4945,15 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After src/app/components/time/time.component.ts 164 @@ -4367,88 +4962,97 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Ova transakcija je zamijenja od: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Nepotvrđeno - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Prvo viđeno - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4457,20 +5061,33 @@ In several hours (or more) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4479,20 +5096,29 @@ Ancestor src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4501,7 +5127,7 @@ Hide diagram src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4509,15 +5135,15 @@ Show more src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4525,11 +5151,11 @@ Show less src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4537,23 +5163,41 @@ Show diagram src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4561,32 +5205,24 @@ Waiting for it to appear in the mempool... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4594,7 +5230,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4602,7 +5238,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4611,7 +5247,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4620,7 +5256,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4628,7 +5264,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4636,7 +5272,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4644,7 +5280,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -4652,7 +5288,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -4660,7 +5296,7 @@ Previous output script src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -4668,7 +5304,7 @@ Previous output type src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -4676,7 +5312,7 @@ Peg-out to src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -4684,7 +5320,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -4693,7 +5329,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -4702,7 +5338,7 @@ Show more inputs to reveal fee data src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -4710,7 +5346,7 @@ remaining src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -4803,31 +5439,6 @@ Tooltip about fees saved with taproot - - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot @@ -4868,19 +5479,6 @@ RBF tooltip - - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method @@ -4927,23 +5525,47 @@ Transaction Fees src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -4952,37 +5574,32 @@ Purging src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -4990,7 +5607,7 @@ REST API service src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -4998,11 +5615,11 @@ Endpoint src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5010,18 +5627,22 @@ Description src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-blocks, live-2h-chart, and stats.Push transactions related to address: 'track-address': '3PbJ...bF9B' to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5029,19 +5650,19 @@ Code Example src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5049,7 +5670,7 @@ Install Package src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5057,30 +5678,85 @@ Response src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5091,7 +5767,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5103,15 +5779,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5179,11 +5855,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5191,7 +5867,7 @@ Starting balance src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5200,7 +5876,7 @@ Closing balance src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5209,7 +5885,7 @@ lightning channel src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5217,15 +5893,15 @@ Inactive src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5233,15 +5909,15 @@ Active src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5249,19 +5925,23 @@ Closed src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5269,11 +5949,11 @@ Created src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5281,15 +5961,19 @@ Capacity src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5301,43 +5985,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5345,31 +6029,42 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5377,31 +6072,31 @@ Last update src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5409,11 +6104,11 @@ Closing date src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5421,7 +6116,7 @@ Closed by src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5429,7 +6124,11 @@ Opening transaction src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5437,7 +6136,11 @@ Closing transaction src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5473,7 +6176,7 @@ Open src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5481,7 +6184,7 @@ No channels to display src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5489,111 +6192,55 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -5601,7 +6248,7 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -5609,11 +6256,11 @@ Avg Capacity src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -5621,11 +6268,11 @@ Avg Fee Rate src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -5633,7 +6280,7 @@ The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -5641,11 +6288,11 @@ Avg Base Fee src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -5653,7 +6300,7 @@ The average base fee charged by routing nodes, ignoring base fees > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -5661,7 +6308,7 @@ Med Capacity src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -5669,7 +6316,7 @@ Med Fee Rate src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -5677,7 +6324,7 @@ The median fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -5685,7 +6332,7 @@ Med Base Fee src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -5693,7 +6340,7 @@ The median base fee charged by routing nodes, ignoring base fees > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -5701,11 +6348,11 @@ Lightning node group src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -5713,35 +6360,39 @@ Nodes src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -5749,31 +6400,31 @@ Liquidity src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -5781,11 +6432,11 @@ Channels src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5797,55 +6448,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -5853,54 +6504,71 @@ Average size src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics @@ -5933,16 +6601,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -5955,12 +6619,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution @@ -5973,37 +6652,37 @@ Outgoing Fees src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 Incoming Fees src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 Percentage change past week src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6011,15 +6690,15 @@ Lightning node src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6027,11 +6706,11 @@ Active capacity src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6039,11 +6718,11 @@ Active channels src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6051,15 +6730,26 @@ Country src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6067,7 +6757,7 @@ Avg channel distance src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6075,7 +6765,7 @@ Color src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6083,11 +6773,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6095,15 +6785,24 @@ Exclusively on Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6111,7 +6810,7 @@ Lease fee rate src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6120,7 +6819,7 @@ Lease base fee src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6128,7 +6827,7 @@ Funding weight src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6136,7 +6835,7 @@ Channel fee rate src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6145,7 +6844,7 @@ Channel base fee src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6153,7 +6852,7 @@ Compact lease src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6161,7 +6860,7 @@ TLV extension records src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6169,7 +6868,7 @@ Open channels src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6177,7 +6876,7 @@ Closed channels src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6185,31 +6884,38 @@ Node: src/app/lightning/node/node.component.ts - 60 + 62 (Tor nodes excluded) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6219,97 +6925,118 @@ No geolocation data available src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 Active channels map src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 Clearnet and Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 Clearnet Only (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 Darknet Only (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 Share src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 BTC capacity src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6324,7 +7051,7 @@ ISP Count src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6332,7 +7059,7 @@ Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6343,15 +7070,22 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6359,7 +7093,7 @@ How much liquidity is running on nodes advertising at least one clearnet IP address src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6367,11 +7101,11 @@ Unknown Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6379,7 +7113,7 @@ How much liquidity is running on nodes which ISP was not identifiable src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6387,11 +7121,11 @@ Tor Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6399,7 +7133,7 @@ How much liquidity is running on nodes advertising only Tor addresses src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6407,26 +7141,38 @@ Top 100 ISPs hosting LN nodes src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6434,11 +7180,11 @@ Top country src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6446,7 +7192,7 @@ Top node src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6461,6 +7207,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: @@ -6473,7 +7230,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6481,7 +7238,7 @@ Active nodes src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6489,7 +7246,7 @@ Top 100 oldest lightning nodes src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -6500,6 +7257,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes @@ -6515,13 +7293,285 @@ 22 - - Indexing in progress + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Nepotvrđeno + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.hu.xlf b/frontend/src/locale/messages.hu.xlf index ef7b232e4..201bf8fb3 100644 --- a/frontend/src/locale/messages.hu.xlf +++ b/frontend/src/locale/messages.hu.xlf @@ -5,273 +5,271 @@ Close Bezár - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - a oldal - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Előző - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Következő - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Hónap kiválasztása - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Év kiválasztása - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Előző hónap - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Következő hónap - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Első - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Előző - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Következő - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Utolsó - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH ÓÓ - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Óra - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - PP - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Perc - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Óra növelése - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Óra csökkentése - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Perc növelése - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Perc csökkenése - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - MM - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Másodpercek - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Másodperc növelése - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Másodperc csökkenése - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Bezárás - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Hónap kiválasztása + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Előző hónap + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Óra + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Előző + + node_modules/src/ngb-config.ts + 13 + + + + MM + PP + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Év kiválasztása + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Következő hónap + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Következő + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Perc + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Óra növelése + + node_modules/src/ngb-config.ts + 13 + + + + First + Első + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Előző + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Óra csökkentése + + node_modules/src/ngb-config.ts + 13 + + + + Next + Következő + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Perc növelése + + node_modules/src/ngb-config.ts + 13 + + + + Last + Utolsó + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Perc csökkenése + + node_modules/src/ngb-config.ts + 13 + + + + SS + MM + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Másodpercek + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Másodperc növelése + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Másodperc csökkenése + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Blokk @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Blokk : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ Blokkok src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Magasság src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Megerősítve src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Tranzakciók src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Bisq Keresedési Forgalom src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Piacok src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Bitcoin Piacok src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Ár src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Utóbbi kereskedések src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq Ár Index src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Bisq Piaci Ár src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Továbbiak » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Általános Szolgáltatási Feltételek - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Adatkezelési Szabályzat - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Vételi ajánlatok src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Eladási ajánlatok src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Összeg () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ statisztika @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Dátum src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Mennyiség src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Tranzakció src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - konfirmáció - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - konfirmáció - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Blokkban található src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Jellemzők src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ vBájtonkénti díj src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Részletek src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Bemenetek és Kimenetek src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ Tranzakciók src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Megerősítve src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Szűrő src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Mind kijelölése src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Kereskedések @@ -1443,7 +1452,7 @@ A Mempool Nyílt Forráskódú Projekt src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Mempoolunk és blokklánc-felfedezőnk a Bitcoin közösség számára, a tranzakciós díjak piacára és a többrétegű ökoszisztémára összpontosítva, teljesen önállóan, megbízható harmadik felek nélkül. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Céges Szponzorok 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Közösségi Szponzorok ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Közösségi Integrációk src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Közösségi Szövetségesek src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Projekt Fordítók src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Projekt Kontribútorok src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Projekt Tagok src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Projekt Fenntartók src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Részletek src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of a -ből/ból Multisig @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Cím: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Csoportnyi asset src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Kibocsájtó főcíme src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ Asset ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Hiba történt az assetok adainak betöltésekor. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Nem elérhető src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Újra kapcsolódás... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Második Réteg Hálózatok src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Irányítópult src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Adatok src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Dokumentumok src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Blokk Díj Ráta src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Blokknál: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ blokk körül src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Blokk Díjjak src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Blokkok indexelése src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Nincs megjeleníthető adat. Próbálkozz később. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ nem elérhető src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Díj ráta @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Effektív díj ráta src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Virtuális méret + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Ellenőrzési állapot + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Találat + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Eltávolítva + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Legkissebb díj ráta + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Nemrég közvetítve + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Hozzáadva + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Blokk Jutalmak + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Blokk Méret és Súly + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Méret + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Súly + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Méret súlyonként + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Blokk : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Blokk + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Átlag díj + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Összdíj + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Bányász + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Következő blokk + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Előző blokk + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Állapot + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Ismeretlen + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Díj fesztáv + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Az átlag 140 vBájtnyi native segwit tranzakción alapulvéve + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Virtuális méret - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Ellenőrzési állapot - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Találat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Eltávolítva - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Legkissebb díj ráta - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Nemrég közvetítve - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Hozzáadva - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Blokk Előrejelzés Pontossága - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Nincs megjeleníthető adat. Próbálkozz később. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Találati ráta - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Blokk Jutalmak - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Blokk Méret és Súly - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Méret - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Súly - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Méret súlyonként - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Blokk - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Átlag díj - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Összdíj - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Bányász - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Blokk : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Következő blokk - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Előző blokk - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Állapot - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Ismeretlen - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Díj fesztáv - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Az átlag 140 vBájtnyi native segwit tranzakción alapulvéve - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Támogatás + Díjak src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Várható src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ béta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Aktuális src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Várt Blokk src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Aktuális Blokk src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle törzs src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Nehézség src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nounce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Blokk Fejcím Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Ellenőrzés src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Részletek src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Hiba történt az adatok betöltésekor. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Miért üres ez a blokk? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Bányászott - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Jutalom src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Díjjak src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXek src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Másolva! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Elsőbbségi + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Nem megerősített + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Módosított src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Váltás src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Bányászási Nehézségifok src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Hátramaradt src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - blokkok + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Becslés src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Előző src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Mostani Periódus src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Következő Felezés src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ blokkra várva src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ blokk várva src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ blokk bányászva src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ blokk bányászva src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ blokk hátramaradt src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ blokk hátramaradt src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ blokkal előrébb src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ blokkal előrébb src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ blokkal lemaradva src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ blokkal lemaradva src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Átlagos blokk idő src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Vagy a minimum 2x-e, vagy az alacsony prioritási arány (amelyik alacsonyabb) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Nem Sürgősség src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Általában a második vagy a harmadik blokkba helyezi a tranzakciódat a mempoolban src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Alacsony src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Ez tranzakciót általában az első és a második mempoolblokk közé helyezi src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Közepes src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Ez az első mempoolban lévő blokkba helyezi a tranzakciódat src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Elsőbbségi - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Beérkező tranzakciók src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ A háttérszolgáltatás épp szinkrinizál src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Nem megerősített + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempool méret src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Hashráta src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Hashráta és Nehézség src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Hashráta (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Grafikon src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Bányászatipult src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Villám Felfedező src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Dokumentáció src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks mempool blokk src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Mempool blokk src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Távolság src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Összesen src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Jutalmi statisztikák @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Legutóbbi blokkok + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Tranzakció Küldése + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Pool szerencse + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Ez az összes bányászati mempool általános szerencséje az elmúlt héten. A 100%-ál nagyobb szerencse azt jelenti, hogy az átlagos blokkidő az aktuális korszakban kevesebb mint 10 perc. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Poolok száma + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Hány egyedi pool talált legalább egy blokkot az elmúlt héten. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Az elmúlt héten talált blokkok száma. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Rang src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Átlagos Állapot src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Üres blokkok + + Avg Block Fees + Átlag Blokk Díjjak src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Minden bányász src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Pool Szerencse (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Pool Szám (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Bányászati Poolok @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks blokkok src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Egyéb () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ bányászó pool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Címkék src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Összes mutatása src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Elrejt src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Hashráta (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Becsült + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Jelentett - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Szerencse - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Bányászott blokkok - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24ó - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1hé src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Bányászott + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Érmebázis címke src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Tranzakció Küldése + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Tranzakciós hex @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Először látva + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Bányász Jutalma @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ A bányászoknak fizetett összeg az elmúlt 144 blokkban src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Átlag Blokk Díjjak - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Átlagos díjak blokkonként az elmúlt 144 blokkban src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/blokk src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Átlagosan fizetett díj minden tranzakció után az elmúlt 144 blokkban src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Jutalom per Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Fedezze fel a teljes Bitcoin ökoszisztémát src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Keresés src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV nézet src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filter src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Invertál src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ vBájtnyi tranzakciók másodpercenként (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Épp most src/app/components/time/time.component.ts - 79 + 90 ago - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - ~ belül src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + ~ belül src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - után src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + után src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Ezt a tranzakciót lecserélte egy másik: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Ezt a tranzakció ezt cserélte: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Cserélve - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Nem megerősített - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Először látva - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Hátralévő idő src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Több órán belül (vagy később) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Utód src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Felmenő src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Áramlás src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Diagram elrejtése src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Továbbiak megjelenítése src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Kevesebb megjelenítése src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Diagram megjelenítése src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Zárolási idő src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Nem található tranzakció. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Várakozás arra hogy a mempoolban feltünjön... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Effektív díj ráta + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Újjonnan Létrehozott Érmék) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Bekötés src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ SzkriptSzig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ SzkriptSzig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Szemtanú src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH kiváltási szkript src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH szemtanú szkript src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSzekvencia src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Előző kimeneti szkript src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Előző kimeneti típúsok src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Kiváltás erre src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ SzkriptPublikusKulcs (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ SzkriptPublikusKulcs (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ További bemenetek megjelenítése a díjadatok megjelenítéséhez src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ hátramaradt src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Ez a tranzakció Taprootot használ, és már legalább % -ot megtakarított a díjakból, de további % -ot takaríthat meg a Taproot teljes használatával @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Ez a tranzakció NEM támogatja a tranzakciós díj cserét (RBF), és ezzel a módszerrel nem lehet díj növelést fizetni @@ -5308,25 +5883,48 @@ Tranzakciós díjak src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Legutóbbi tranzakciók + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Minimum Díj src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Törlés src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Memória használat - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC forgalomban src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - A mempool.space csupán adatokat szolgáltat a Bitcoin hálózatáról. Nem segíthet a pénzeszközök visszaszerzésében, a tranzakció gyorsabb visszaigazolásában stb. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API szolgáltatás src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Végpont src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Leírás src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Alaphelyzeti push: művelet: 'kell', data: ['blocks', ...] hogy kifejezd mit szeretnél pusholni. Elérhető: blocks, mempool-blocks, live-2h-chart, and stats.Pusholjon tranzakciókat címekhez fogva: 'cím-követés': '3PbJ...bF9B' az összes új tranzakció fogadásához, amely ezt a címet tartalmazza bemenetként vagy kimenetként. Tranzakciók tömbjét adja vissza. cím-tranzakciókúj mempool tranzakciókhoz , és block-tranzakciók az új blokk megerősített tranzakciókhoz. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Kód Példa src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Csomag Telepítése src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Válasz src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - GYIK src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Induló egyenleg src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Záró egyenleg src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ villám csatorna src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Inaktív src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Aktív src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Lezárt src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Létrehozott src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Kapacítás src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Villám csatorna src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Utolsó frissítés src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Zárási dátum src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Lezárva átala src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Nyitó tranzakció src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Záró tranzakció src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Nyitás src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Nincs megjeleníthető csatorna src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Állapot - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID Csatorna ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg átlag src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ közép src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Átlag Kapacítás src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Átlag Díj Ráta src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Az útválasztási nódok által felszámított átlagos díjtétel, figyelmen kívül hagyva a > 0,5% -os vagy 5000ppm-es díjakat src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Átlag Bázis Díj src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Az útválasztási nódok által felszámított átlagos alapdíj, figyelmen kívül hagyva az alapdíjakat > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Közepes Kapacítás src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Közép Díj Ráta src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Az útválasztási nódok által felszámított medián díjtétel, figyelmen kívül hagyva a > 0,5% vagy 5000 ppm díjakat src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Közép Alapdíj src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Az útválasztási nódok által felszámított medián alapdíj, figyelmen kívül hagyva a > 5000ppm alapdíjakat src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Villám node csoport src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Nódok src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Likvidítás src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Csatornák src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Átlagos méret src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Helység src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Hálózati Statisztikák @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Díj eloszlás @@ -6429,11 +7078,11 @@ Kimenő Díjak src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Beérkező Díjak src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Százalékos változás a múlt héten src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Villám node src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Átlagos kapacítás src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Aktív csatornák src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Ország src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Átlag csatorna méret src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Átlag csatorna távolság src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Szín src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Exkluzívan a Tor-on src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Likviditási hirdetés src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Lízing díj ráta src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Lízing alapdíj src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ A finanszírozás súlya src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Csatorna díj ráta src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Csatorna alapdíj src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Kompakt lízing src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV kiterjesztési esemény src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Nyitott csatornák src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Lezárt csatornák src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Node: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Tor nódok kiszűrve) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Villám Nódok Csatorna Világtérképe + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Geolokációs adat nem elérhető src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Aktív csatorna térkép src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indexelés folyamatban src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet és Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Csakis Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Csak Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Megoszlás src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes nodeok src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC kapacitás src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ ISP Szám src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Clearnet Kapacítás src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Mennyi likviditás fut a legalább egy clearnet IP-címet hirdető nódokon src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Ismeretlen Kapacítás src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Mennyi likviditás fut azon nódokon, amelyek internetszolgáltatója nem volt azonosítható src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Tor Kapacítás src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Mennyi likviditás fut a csak Tor-címeket hirdető nódokon src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ A 100 legjobb LN-nódot szolgáltató internetszolgáltató src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indexelés folyamatban + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Villám ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Top ország src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Top node src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Villámnódok az internetszolgáltatón: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Aktív nódok src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ 100 legrégebbi lightning nodeok src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Legrégebbi nodeok @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indexelés folyamatban + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Nem megerősített + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Általános Szolgáltatási Feltételek + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Adatkezelési Szabályzat + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.it.xlf b/frontend/src/locale/messages.it.xlf index 7a86d0e30..866d895bb 100644 --- a/frontend/src/locale/messages.it.xlf +++ b/frontend/src/locale/messages.it.xlf @@ -5,273 +5,271 @@ Close Chiudi - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Diapositiva di - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Precedente - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Successivo - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Seleziona mese - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Seleziona anno - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Scorso mese - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Mese prossimo - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Primo - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Precedente - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Prossimo - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Ultimo - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Ore - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minuti - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Aumentare le ore - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Diminuire le ore - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Aumentare i minuti - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Diminuire i minuti - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Secondi - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Aumentare i secondi - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Diminuire i secondi - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Chiudi - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Seleziona mese + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Mese scorso + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Ore + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Precedente + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Seleziona anno + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Mese prossimo + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Successivo + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minuti + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Incrementa le ore + + node_modules/src/ngb-config.ts + 13 + + + + First + Primo + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Precedente + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Decrementa le ore + + node_modules/src/ngb-config.ts + 13 + + + + Next + Prossimo + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Incrementa i minuti + + node_modules/src/ngb-config.ts + 13 + + + + Last + Ultimo + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Decrementa i minuti + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Secondi + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Incrementa i secondi + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Decrementa i secondi + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Blocco @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Blocco : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ Blocchi BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Altezza src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Confermato src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Transazioni src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,35 +606,42 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 Bisq Trading Volume - Volume di Scambio Bisq + Volume di compravendita Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Mercati src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Mercati Bitcoin src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Prezzo src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -704,49 +739,63 @@ Latest Trades - Ultimi Scambi + Compravendite recenti src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index - Indice dei Prezzi Bisq + Indice dei prezzi Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title Bisq Market Price - Prezzo di Mercato Bisq + Prezzo di mercato Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title View more » - Scopri di più + Scopri di più » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Condizioni d'uso - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Politica sulla Riservatezza - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Offerte di Acquisto src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Offerte di Vendita src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Importo () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics Statistiche BSQ @@ -868,7 +875,7 @@ Existing amount - Importo esistente + Quantità in circolazione src/app/bisq/bisq-stats/bisq-stats.component.html 12 @@ -881,7 +888,7 @@ Minted amount - Importo minato + Quantità coniata src/app/bisq/bisq-stats/bisq-stats.component.html 16 @@ -894,7 +901,7 @@ Burnt amount - Importo bruciato + Quantità non più in circolazione src/app/bisq/bisq-stats/bisq-stats.component.html 20 @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,25 +933,25 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses Unspent TXOs - TXOs non spese + TXO non spesi src/app/bisq/bisq-stats/bisq-stats.component.html 28 @@ -961,7 +968,7 @@ Spent TXOs - TXOs spese + TXO spesi src/app/bisq/bisq-stats/bisq-stats.component.html 32 @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Data src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Importo src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,12 +1020,12 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 Inputs - Inputs + Input src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html 7 @@ -1020,7 +1034,7 @@ Outputs - Outputs + Output src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html 11 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Transazione src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - conferma - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - conferme - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Inclusa nel blocco src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Caratteristiche src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Commissione per vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Dettagli src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Input & Output src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Transazioni BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,18 +1275,22 @@ Confermata src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed Asset listing fee - Tassa di quotazione dell'asset + Commissione di quotazione dell'asset src/app/bisq/bisq-transactions/bisq-transactions.component.ts 31 @@ -1296,7 +1298,7 @@ Blind vote - Voto cieco + Blind vote src/app/bisq/bisq-transactions/bisq-transactions.component.ts 32 @@ -1304,7 +1306,7 @@ Compensation request - Richiesta di risarcimento + Richiesta di compenso src/app/bisq/bisq-transactions/bisq-transactions.component.ts 33 @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1336,7 +1338,7 @@ Lockup - Blocco + Lockup src/app/bisq/bisq-transactions/bisq-transactions.component.ts 36 @@ -1344,7 +1346,7 @@ Pay trade fee - Paga la commissione di trading + Pagamento commissione della compravendita src/app/bisq/bisq-transactions/bisq-transactions.component.ts 37 @@ -1376,7 +1378,7 @@ Transfer BSQ - Trasferisci BSQ + Invio BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.ts 41 @@ -1384,7 +1386,7 @@ Unlock - Sbloccare + Unlock src/app/bisq/bisq-transactions/bisq-transactions.component.ts 42 @@ -1392,7 +1394,7 @@ Vote reveal - Rivela voto + Vote reveal src/app/bisq/bisq-transactions/bisq-transactions.component.ts 43 @@ -1400,31 +1402,38 @@ Filter - Filtra + Filtro src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 Select all - Seleziona tutto + Seleziona tutti src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 Unselect all - Deseleziona tutto + Deseleziona tutti src/app/bisq/bisq-transactions/bisq-transactions.component.ts 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades - Scambi + Compravendite src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts 99 @@ -1443,33 +1452,64 @@ Il Progetto Open Source Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties. - I nostri mempool e blockchain explorer per la community di Bitcoin, con attenzione su costi di transazione di mercato e ecosistema multi-strato, completamente self-hosted senza bisogno di terze parti. + Il nostro mempool e blockchain explorer per la comunità Bitcoin, focalizzato sul mercato delle commissioni di transazione ed ecosistema multi strato, completamente self-hosted senza alcune terze parti fidate. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Sponsor Aziendali 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Sponsor comunitari ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Integrazioni della comunità src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Alleanze della comunità src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,16 +1536,16 @@ Traduttori del progetto src/app/components/about/about.component.html - 307,309 + 369 about.translators Project Contributors - Hanno contribuito al progetto + Contributori del progetto src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Membri del Progetto src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Manutentori del progetto src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Su di noi src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig of @@ -1557,7 +1753,7 @@ Unconfidential - Non Confidenziale + Non confidenziale src/app/components/address/address-preview.component.html 15 @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,16 +1810,27 @@ Indirizzo: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 of transaction - di transazione + transazionedi src/app/components/address/address.component.html 59 @@ -1632,7 +1839,7 @@ of transactions - di transazioni + transazioni di src/app/components/address/address.component.html 60 @@ -1650,7 +1857,7 @@ There many transactions on this address, more than your backend can handle. See more on setting up a stronger backend. Consider viewing this address on the official Mempool website instead: - Ci sono molte transazioni in questo indirizzo, più di quante il tuo backend possa gestire. Vedi di più sull' impostazione di backend più potente... Considera di osservare quest'indirizzo sul sito ufficiale di Mempool. + Ci sono molte transazioni in questo indirizzo, più di quante il tuo backend riesca a gestire. Leggi come impostare un backend più performante. Considera di visualizzare quest'indirizzo sul sito ufficiale di Mempool: src/app/components/address/address.component.html 134,137 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1740,7 +1951,7 @@ Burned amount - Quantità bruciata + Quantità rimossa dalla circolazione src/app/components/asset/asset.component.html 49 @@ -1750,7 +1961,7 @@ Circulating amount - Importo circolante + Quantità in circolazione src/app/components/asset/asset.component.html 53 @@ -1773,7 +1984,7 @@ Peg In/Out and Burn Transactions - Peg In/Out e Transazioni Bruciate + Transazioni di Peg In/Out e Burn src/app/components/asset/asset.component.html 79 @@ -1782,7 +1993,7 @@ Issuance and Burn Transactions - Transazioni Bruciate e di Emissione + Transazioni di Emissione e Burn src/app/components/asset/asset.component.html 80 @@ -1811,16 +2022,16 @@ Gruppo di assets src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 Assets - Assets + Asset src/app/components/assets/assets-nav/assets-nav.component.html 3 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1886,23 +2101,30 @@ Clear - Pulire + Cancella src/app/components/assets/assets-nav/assets-nav.component.html 21 Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,24 +2133,24 @@ Dominio dell'emittente src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header Asset ID - ID asset + Asset ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Errore nel caricamento dei dati degli asset. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Offline src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Riconnessione... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Reti Layer 2 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Dashboard src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,29 +2236,29 @@ Statistiche src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats Docs - Docs + Documentazione src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs Block Fee Rates - Tariffe Commissione del Blocco + Tariffe commissione del blocco src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Al blocco: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Attorno al blocco: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Commissioni del blocco src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indicizzazione dei blocchi src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Nessun dato da mostrare al momento. Riprova più tardi. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ non disponibile src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,47 +2460,25 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate - Prezzo della commissione + Tasso di commissione src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 26 src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Tasso effettivo della commissione src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Dimensione virtuale + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Stato dell'audit + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Corrispondenza + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Rimosso + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Tasso di commissione marginale + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Trasmessa di recente + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Aggiunta + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Ricompense del blocco + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Dimensioni e pesi dei blocchi + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Dimensione + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Peso + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Dimensione per peso + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Blocco : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Blocco + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Commissione mediana + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Commissioni totali + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Miner + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Blocco Successivo + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Blocco Precedente + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Salute + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Sconosciuto + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Intervallo commissioni + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Basato su transazione segwit nativa media di 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,497 +3064,18 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Dimensione virtuale - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Stato dell'audit - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Corrispondenza - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Rimosso - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Tariffa marginale - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Trasmessa di recente - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Aggiunta - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Precisione di previsione del blocco - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Non ci sono ancora dati da visualizzare. Riprova più tardi. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Tasso di corrispondenza - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Ricompense del Blocco - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Dimensioni e Pesi dei Blocchi - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Dimensione - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Peso - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Dimensioni per peso - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Blocco - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Commissione mediana - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Commissioni totali - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Minatore - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Blocco : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Prossimo Blocco - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Blocco Precedente - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Salute - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Sconosciuto - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Intervallo della commissione - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Basandosi su una transazione segwit nativa dal peso medio di 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip Subsidy + fees - Ricompensa + commissioni + Sussidio + commissioni src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Previsto src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Effettivo src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Blocco Previsto src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Blocco Effettivo src/app/components/block/block.component.html - 231 + 240 block.actual-block - - Bits - Bits + + Taproot + Taproot src/app/components/block/block.component.html - 256,258 + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + + + Bits + Bit + + src/app/components/block/block.component.html + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Difficoltà src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Block Header Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Audit src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,49 +3239,57 @@ Dettagli src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details Error loading data. - Errore caricamento dati + Errore nel caricamento dei dati. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Perché questo blocco è vuoto? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Minato - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Ricompensa src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Commissioni src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Copiato! @@ -3063,21 +3447,69 @@ 19 + + High Priority + Alta Priorità + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Non confermate + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Aggiustato src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted Change - Modificare + Variazione src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Aggiustamento della Difficoltà src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3100,35 +3532,34 @@ Remaining - Rimanente + Rimanenti src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - blocchi + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Stima src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Precedente src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Periodo Attuale src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Prossimo Halving src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ blocchi previsti src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ blocco previsto src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,16 +3659,16 @@ blocchi minati src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks block mined - blocco estratto + blocco minato src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ blocchi rimanenti src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ blocco rimanente src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ blocchi avanti src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,25 +3704,25 @@ blocco avanti src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead blocks behind - blocchi dietro + blocchi indietro src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind block behind - blocco dietro + blocco indietro src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,16 +3731,16 @@ Tempo medio del blocco src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time Either 2x the minimum, or the Low Priority rate (whichever is lower) - O 2x il minimo o il tasso di Bassa Priorità (in base a quale sia il più basso) + 2x il minimo o il tasso di Bassa Priorità (qualunque sia il più basso) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Nessuna Priorità src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Solitamente posiziona la tua transazione tra il secondo e il terzo blocco della mempool src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Bassa Priorità src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Solitamente posiziona la tua transazione tra il primo e il secondo blocco della mempool src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Media Priorità src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,46 +3806,29 @@ Posiziona la tua transazione nel primo blocco di mempool src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Alta Priorità - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Transazioni in arrivo src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions Backend is synchronizing - Il backend si sta sincronizzando + Il backend sta sincronizzando src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Non confermate + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Dimensione mempool src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3507,14 +3924,14 @@ Lightning Nodes Per Network - Nodi Lightning Per Network + Nodi Lightning Per Rete src/app/components/graphs/graphs.component.html 33 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,20 +3973,20 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp Lightning Nodes Per Country - Nodi Lightning Per Paese + Nodi Lightning Per Nazione src/app/components/graphs/graphs.component.html 39 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Hashrate & Difficoltà src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Hashrate (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Grafici src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Mining Dashboard src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Lightning Explorer src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Documentazione src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Pila di blocchi mempool src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,15 +4193,26 @@ Blocco mempool src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 Range - Range + Intervallo src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Somma src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Statistiche di ricompensa @@ -3791,53 +4249,37 @@ mining.144-blocks - - Latest blocks - Ultimi blocchi + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments - Adeguamenti + Aggiustamenti src/app/components/mining-dashboard/mining-dashboard.component.html 66 dashboard.adjustments - - Broadcast Transaction - Trasmetti Transazione + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Fortuna delle Pool + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ La fortuna complessiva di tutte le mining pool nell'ultima settimana. Una fortuna maggiore del 100% significa che il tempo medio di blocco per l'epoca corrente è inferiore a 10 minuti. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Conteggio delle Pool + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Quante pool uniche hanno trovato almeno un blocco nell'ultima settimana. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Il numero di blocchi trovati nell'ultima settimana. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Posizione src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Salute Media src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Blocchi vuoti + + Avg Block Fees + Commissioni Medie per Blocco src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,54 +4447,43 @@ Tutti i minatori src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Fortuna delle Pool (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Conteggio delle Pool (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools - Pool dei minatori + Mining Pool src/app/components/pool-ranking/pool-ranking.component.ts 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks blocchi src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Altro () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,57 +4519,68 @@ mining pool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools Tags - Tags + Tag src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Mostra tutto src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,154 +4589,132 @@ Nascondi src/app/components/pool/pool.component.html - 55,58 + 55 hide Hashrate (24h) - Hashrate (24ore) + Hashrate (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Stimato + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 + 461 - mining.estimated + 24h - - Reported - Riportato - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Fortuna - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Blocchi minati - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24h + + 1w + 1w src/app/components/pool/pool.component.html 147 src/app/components/pool/pool.component.html - 170 - - 24h - - - 1w - 1set - - src/app/components/pool/pool.component.html - 148 + 169 src/app/components/pool/pool.component.html - 171 + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Minato + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Tag Coinbase src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Trasmetti Transazione + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Hex della transazione @@ -4262,55 +4724,185 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Vista per la prima volta + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward - Ricompensa dei Minatori + Ricompensa dei Miner src/app/components/reward-stats/reward-stats.component.html 5 src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards Amount being paid to miners in the past 144 blocks - Importo pagato ai minatori negli ultimi 144 blocchi + Importo pagato ai miner negli ultimi 144 blocchi src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Commissioni Medie per Blocco - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Commissioni medie per blocco negli ultimi 144 blocchi src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/blocco src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Commissione pagata in media per ogni transazione negli ultimi 144 blocchi src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,39 +4947,34 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Ricompensa Per Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Esplora l'intero ecosistema Bitcoin src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder Search - Ricerca + Cerca src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4452,7 +5043,7 @@ Go to "" - Vai a "" + Vai a &quot;&quot; src/app/components/search-form/search-results/search-results.component.html 52 @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view Vista TV src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,87 +5089,61 @@ Filtro src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title Invert - Invertire + Inverti src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title Transaction vBytes per second (vB/s) - vByte transati al secondo (vB/s) + vByte per transazione al secondo (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now - Proprio adesso + Adesso src/app/components/time/time.component.ts - 79 + 90 ago fa - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - In ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + In ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Dopo src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Dopo src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Questa transazione è stata sostituita da: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Questa transazione ha sostituito: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Sostituito - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Non confermata - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Vista per la prima volta - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Tra diverse ore (o più) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Discendente src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Antenato src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor - - Flow - Flow + + RBF History src/app/components/transaction/transaction.component.html - 202,205 + 218 + + RBF History + transaction.rbf-history + + + Flow + Flusso + + src/app/components/transaction/transaction.component.html + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Nascondi diagramma src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Mostra di più src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Mostra meno src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Mostra diagramma src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transazione non trovata. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Aspettando che appaia nella mempool... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Prezzo effettivo della commissione + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Bitcoin Appena Generati) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,17 +5574,17 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex Witness - Testimone + Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ Script di riscatto P2SH src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,16 +5602,16 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript P2WSH witness script - Script testimone P2WSH + Script witness P2WSH src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Script output precedente src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Tipo di output precedente src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out a src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Mostra più input per rivelare i dati sulle commissioni src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ rimanente src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5120,7 +5735,7 @@ This transaction saved % on fees by using native SegWit - Questa transazione ha fatto risparmiare il % sulle commissioni utilizzando SegWit nativo + Questa transazione ha risparmiato % sulle commissioni utilizzando native SegWit src/app/components/tx-features/tx-features.component.html 2 @@ -5147,7 +5762,7 @@ This transaction saved % on fees by using SegWit and could save % more by fully upgrading to native SegWit - Questa transazione ha fatto risparmiare il % sulle commissioni utilizzando SegWit e avrebbe potuto risparmiare il % in più aggiornando completamente a SegWit nativo + Questa transazione ha risparmiato % sulle commissioni utilizzando SegWit e avrebbe risparmiato % in più aggiornando completamente a native SegWit src/app/components/tx-features/tx-features.component.html 4 @@ -5156,7 +5771,7 @@ This transaction could save % on fees by upgrading to native SegWit or % by upgrading to SegWit-P2SH - Questa transazione avrebbe potuto far risparmiare il % sulle commissioni aggiornando a SegWit nativo o il % aggiornando a SegWit-P2SH + Questa transazione avrebbe risparmiato % sulle commissioni aggiornando a native SegWit o % aggiornando a SegWit-P2SH src/app/components/tx-features/tx-features.component.html 6 @@ -5165,42 +5780,16 @@ This transaction uses Taproot and thereby saved at least % on fees - Questa transazione utilizza Taproot e quindi ha risparmiato almeno il % sulle commissioni + Questa transazione utilizza Taproot e quindi ha risparmiato almeno % sulle commissioni src/app/components/tx-features/tx-features.component.html 12 Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot - Questa transazione utilizza Taproot e ha già fatto risparmiare almeno il % sulle commissioni, ma poteva far risparmiare un ulteriore % utilizzando completamente Taproot + Questa transazione utilizza Taproot e ha già risparmiato % sulle commissioni, ma avrebbe risparmiato un ulteriore % utilizzando completamente Taproot src/app/components/tx-features/tx-features.component.html 14 @@ -5209,7 +5798,7 @@ This transaction could save % on fees by using Taproot - Questa transazione poteva far risparmiare il % sulle commissioni utilizzando Taproot + Questa transazione poteva risparmiare % sulle commissioni utilizzando Taproot src/app/components/tx-features/tx-features.component.html 16 @@ -5236,27 +5825,13 @@ This transaction supports Replace-By-Fee (RBF) allowing fee bumping - Questa transazione supporta Replace-By-Fee (RBF) che consente l'aumento delle commissioni + Questa transazione supporta Replace-By-Fee (RBF) consentendo l'aumento delle commissioni src/app/components/tx-features/tx-features.component.html 28 RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Questa transazione NON supporta Replace-By-Fee (RBF) e quindi la sua commissione non può essere aumentata con questo metodo @@ -5278,7 +5853,7 @@ Only ~ sat/vB was needed to get into this block - Era necessario solo ~ sat/vB per entrare in questo blocco + Erano necessari solo ~ sat/vB per far parte di questo blocco src/app/components/tx-fee-rating/tx-fee-rating.component.html 2 @@ -5291,7 +5866,7 @@ Overpaid x - Sovra-pagato x + Strapagato x src/app/components/tx-fee-rating/tx-fee-rating.component.html 2 @@ -5308,68 +5883,84 @@ Commissioni di Transazione src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Ultime transazioni + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Commissione minima src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee Purging - Eliminazione + Scartate src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Memoria in uso - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC in circolazione src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space fornisce solo dati sulla rete Bitcoin. Non può aiutarti a recuperare fondi, confermare la tua transazione più velocemente, ecc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ Servizio REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Endpoint src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,19 +5991,23 @@ Descrizione src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-blocks, live-2h-chart, and stats.Push transactions related to address: 'track-address': '3PbJ...bF9B' to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions. - Push predefinito: action: 'want', data: ['blocks', ...] per esprimere cosa vuoi spingere. Disponibile: blocks, mempool-blocks, live-2h-chart, and stats.Spingi transazioni collegate all'indirizzo: 'track-address': '3PbJ...bF9B' per ricevere tutte le nuove transazioni contenenti quell'indirizzo come input o output. Restituisce un array di transazioni. address-transactions per nuove transazioni di mempool e block-transactions per le nuove transazioni confermate nel blocco. + Push predefinito: action: 'want', data: ['blocks', ...] per esprimere cosa vuoi inviare. Disponibili: blocks, mempool-blocks, live-2h-chart, and stats.Push di transazioni collegate all'indirizzo: 'track-address': '3PbJ...bF9B' per ricevere tutte le nuove transazioni contenenti quell'indirizzo come input o output. Restituisce un array di transazioni. address-transactions per nuove transazioni nella mempool e block-transactions per le nuove transazioni confermate nel blocco. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Esempio di Codice src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Installa Pacchetto src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,44 +6046,97 @@ Risposta src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 Base fee - Base fee + Commissione base src/app/lightning/channel/channel-box/channel-box.component.html 29 src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,21 +6149,21 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats This channel supports zero base fee routing - Questo canale supporta lo zero base fee routing + Questo canale supporta l'instradamento con zero commissioni di base src/app/lightning/channel/channel-box/channel-box.component.html 44 @@ -5533,7 +6181,7 @@ This channel does not support zero base fee routing - Questo canale non supporta lo zero base fee routing + Questo canale non supporta l'instradamento con zero commissioni di base src/app/lightning/channel/channel-box/channel-box.component.html 50 @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Saldo iniziale src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Saldo di chiusura src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ canale lightning src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Inattivo src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,36 +6292,40 @@ Attivo src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active Closed - Chiuso + Chiusi src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Creato src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Capacità src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Canale Lightning src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Ultimo aggiornamento src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Data di chiusura src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Chiuso da src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Transazione di apertura src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Transazione di chiusura src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5896,19 +6571,19 @@ Open - Aprire + Aperti src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open No channels to display - Nessun canale da visualizzare + Nessun canale da mostrare src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID Canale src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg avg src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,33 +6660,33 @@ Capacità Media src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity Avg Fee Rate - Tariffa Media + Commissione Media src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm - La tariffa media addebitata dai nodi di routing, ignorando le tariffe > 0,5% o 5000 ppm + La commissione media addebitata dai nodi di routing, ignorando commissioni > 0,5% o 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,65 +6695,65 @@ Commissione Base Media src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee The average base fee charged by routing nodes, ignoring base fees > 5000ppm - La tariffa di base media addebitata dai nodi di routing, ignorando le tariffe di base > 5000 ppm + La commissione di base media addebitata dai nodi di routing, ignorando commissioni > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc Med Capacity - Capacità Media + Capacità Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity Med Fee Rate - Tariffa Media + Commissione Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate The median fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm - La tariffa mediana addebitata dai nodi di routing, ignorando le tariffe > 0,5% o 5000 ppm + La commissione mediana addebitata dai nodi di routing, ignorando commissioni > 0,5% o 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc Med Base Fee - Tariffa Base Media + Commissione Base Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee The median base fee charged by routing nodes, ignoring base fees > 5000ppm - La tariffa di base mediana addebitata dai nodi di routing, ignorando le tariffe di base > 5000 ppm + La commissione di base mediana addebitata dai nodi di routing, ignorando commissioni di base > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Gruppo di nodi Lightning src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Nodi src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Liquidità src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Canali src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Dimensione media src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg - - Location - Posizione + + Connect src/app/lightning/group/group.component.html - 74,77 + 73 + + Connect + lightning.connect-to-node + + + Location + Località + + src/app/lightning/group/group.component.html + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Statistiche di Rete @@ -6370,7 +7008,7 @@ Lightning Network History - Cronologia della Rete Lightning + Cronologia Rete Lightning src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 49 @@ -6379,23 +7017,19 @@ Liquidity Ranking - Classifica della Liquidità + Classifica Liquidità src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Distribuzione delle commissioni @@ -6429,11 +7078,11 @@ Commissioni in Uscita src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Commissioni in Entrata src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Variazione percentuale nell'ultima settimana src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Nodo Lightning src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Capacità attiva src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,29 +7149,40 @@ Canali attivi src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels Country - Paese + Nazione src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Dimensione media del canale src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Distanza media del canale src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Colore src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,72 +7222,81 @@ Esclusivamente su Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Annuncio di liquidità src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad Lease fee rate - Tasso di lease + Tasso di commissione di lease src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate Lease base fee - Canone base di lease + Commissione base di lease src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee Funding weight - Peso del finanziamento + Costo ponderato del finanziamento src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight Channel fee rate - Tariffa del canale + Tasso di commissione del canale src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate Channel base fee - Tariffa base del canale + Commissione base del canale src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee Compact lease - Lease compatto + Lease compresso src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ Record di estensione TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Canali aperti src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Canali chiusi src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,33 +7332,40 @@ Nodo: src/app/lightning/node/node.component.ts - 60 + 62 (Tor nodes excluded) - (nodi Tor esclusi) + (Nodi Tor esclusi) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Mappa Mondiale dei Canali tra Nodi Lightning + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Nessun dato di geolocalizzazione disponibile src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Mappa dei canali attivi src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indicizzazione in corso src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet e Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Solo Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,44 +7443,51 @@ Solo Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 Share - Condividere + Condividi src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes nodi src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ Capacità BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Conteggio ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,25 +7533,32 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Capacità Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity How much liquidity is running on nodes advertising at least one clearnet IP address - Quanta liquidità è in esecuzione sui nodi che pubblicizzano almeno un indirizzo IP clearnet + Quanta liquidità è disponibile sui nodi che espongono almeno un indirizzo IP clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,20 +7567,20 @@ Capacità Sconosciuta src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity How much liquidity is running on nodes which ISP was not identifiable - Quanta liquidità è in esecuzione su nodi il cui ISP non era identificabile + Quanta liquidità è disponibile sui nodi il cui ISP non era identificabile src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,20 +7589,20 @@ Capacità Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity How much liquidity is running on nodes advertising only Tor addresses - Quanta liquidità è in esecuzione sui nodi che pubblicizzano solo indirizzi Tor + Quanta liquidità è disponibile sui nodi che espongono solo indirizzi Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Top 100 ISP che ospitano nodi LN src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indicizzazione in corso + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,29 +7645,29 @@ ISP Lightning src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp Top country - Il miglior paese + Miglior nazione src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country Top node - Il miglior nodo + Miglior nodo src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,9 +7683,20 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: - Nodi Lightning sull'ISP: + Nodi Lightning su ISP: src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 2,4 @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Nodi attivi src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ I 100 nodi Lightning più vecchi src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Nodi più vecchi @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indicizzazione in corso + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Non confermata + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Termini di Servizio + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Politica sulla Privacy + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.ja.xlf b/frontend/src/locale/messages.ja.xlf index cf9d860dd..580c50174 100644 --- a/frontend/src/locale/messages.ja.xlf +++ b/frontend/src/locale/messages.ja.xlf @@ -5,273 +5,271 @@ Close 閉じる - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - のうちで番目のスライド - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - 月を選択 - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - 年を選択 - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - 前月 - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - 来月 - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - 最初 - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - 最終 - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - 時間 - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - 時間をインクリメント - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - 時間をデクリメント - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - 分をインクリメント - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - 分をデクリメント - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - 秒をインクリメント - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - 秒をデクリメント - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close 閉じる - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + 月を選択 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + 前月 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + 時間 + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + 年を選択 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + 来月 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + 時間をインクリメント + + node_modules/src/ngb-config.ts + 13 + + + + First + 最初 + + node_modules/src/ngb-config.ts + 13 + + + + Previous + + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + 時間をデクリメント + + node_modules/src/ngb-config.ts + 13 + + + + Next + + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + 分をインクリメント + + node_modules/src/ngb-config.ts + 13 + + + + Last + 最終 + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + 分をデクリメント + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + 秒をインクリメント + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + 秒をデクリメント + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block ブロック @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ ブロック src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQブロック src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ 高さ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ 承認済み src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ トランザクション src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Bisqの貿易量 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ 市場 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ ビットコイン市場 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ 価格 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ 最新の取引 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq物価指数 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Bisq相場 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ 詳細を表示 » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - 利用規約 - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - プライバシー・ポリシー - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers 買い申し込み src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ 売り申し込み src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ 量 () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ統計 @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date 日付 src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ 金額 src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ トランザクション src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - 承認 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - 承認 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block ブロックに含まれています src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ 特徴 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ vByteあたりの手数料 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details 詳細 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ インプットとアウトプット src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Bisqのトランザクション src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ 承認済み src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ フィルタ src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ すべて選択 src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades 取引 @@ -1443,7 +1452,7 @@ メムプール・オープンソースプロジェクト src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ ビットコインコミュニティーのための、新興トランザクション手数料市場に中心するメモリープールとブロックチェーンエキスプローラです。 自宅サーバに管理できる上、信頼すべき第三者が不必要です。 src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 企業のスポンサー 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - コミュニティーのスポンサー❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ コミュニティーの統合 src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ コミュニティーの提携 src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ プロジェクト翻訳者 src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ プロジェクト貢献者 src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ プロジェクトメンバー src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ プロジェクトメンテナー src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ このアプリについて src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + サトシ + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + サトシ + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + サトシ/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of / のマルチシグ @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ アドレス: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ つ資産のグループ src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker ティッカー src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ 発行者ドメイン名 src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ アセットID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ アセットデータの読み込み中にエラーが発生しました。 src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ オフライン src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ 再接続中... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ レイヤー2のネットワーク src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ ダッシュボード src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ 統計 src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ ドキュメンテーション src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ ブロック手数料レート src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: ブロック: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ 近くのブロック: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ ブロック手数料 src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks ブロック索引付け中 src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + 現在表示するデータはありません。後でもう一度試して下さい。 + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ 該当なし src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - サトシ - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate 手数料レート @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - サトシ/vB + + Effective fee rate + 実効手数料レート src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + vSize + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + 監査ステータス + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + マッチ + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + 取り除かれた + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + 限界手数料レート + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + 最近ブロードキャストされた + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + 追加された + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + ブロック報酬 + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + ブロックサイズとウェイト + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + サイズ + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + 重み + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + ウェイトあたりのサイズ + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + ブロック + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + ブロック + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + 料金の中央値 + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + 合計料金 + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + マイナー + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + 次のブロック + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + 前のブロック + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + 健全性 + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + 未知 + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + 料金スパン + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + 140vBytesの平均ネイティブsegwitトランザクションに基づく + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - vSize - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - 監査ステータス - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - マッチ - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - 取り除かれた - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - 限界手数料レート - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - 最近ブロードキャストされた - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - 追加された - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - ブロック予測精度 - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - 現在表示するデータはありません。後でもう一度試して下さい。 - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - 一致率 - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - ブロック報酬 - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - ブロックサイズとウェイト - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - サイズ - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - 重み - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - ウェイトあたりのサイズ - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - ブロック - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - 料金の中央値 - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - 合計料金 - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - マイナー - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - ブロック - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - 次のブロック - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - 前のブロック - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - 健全性 - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - 未知 - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - 料金スパン - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - 140vBytesの平均ネイティブsegwitトランザクションに基づく - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ 補助金+手数料 src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ 予定 src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ ベータ src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ 予定ブロック src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ 実ブロック src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits ビット src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ マークル・ルート src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ 難易度 src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ ノンス src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ ブロックヘッダーの16進値 src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ 監査 src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ 詳細 src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ データ読み込み中にエラーが発生しました。 src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ このブロックはなぜ空ですか? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - 採掘された - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward 報酬 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ 手数料 src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! コピー されました! @@ -3063,12 +3447,60 @@ 19 + + High Priority + 高優先 + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + 未承認 + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted 補正の時間 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ 変更 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ 難易度調整 src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ 残り src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - ブロック + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ 推定 src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ 以前 src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ 当期 src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ 次の半減 src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ 個のブロック - 期待値 src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ 個のブロック - 期待値 src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ 個のブロック - 採掘済 src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ 個のブロック - 採掘済 src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ 個のブロック - 残り src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ 個のブロック - 残り src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ 個のブロック - 早い src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ 個のブロック - 早い src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ 個のブロック - 遅い src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ 個のブロック - 遅い src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ 平均ブロック生成時間 src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ 最低手数料率の2倍あるいは低優先手数料率(そのうち低い方) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ 優先無し src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ 通常、トランザクションは2番目と3番目のmempoolブロックの間に配置されます src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ 低優先 src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ 通常、トランザクションは1番目と2番目のmempoolブロックの間に配置されます src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ 中優先 src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ トランザクションを第1のmempoolブロックに置きます src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - 高優先 - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions 着信トランザクション src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ バックエンド同期中 src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - 未承認 + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempoolサイズ src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ ハッシュレート src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ ハッシュレートと採掘難易度 src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) ハッシュレート(MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ グラフ src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ マイニング・ダッシュボード src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ ライトニングエキスプローラ src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ ドキュメンテーション src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks つmempoolブロックのスタック src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Mempoolブロック src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ 範囲 src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats 報酬の統計値 @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - 最新のブロック + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - ブロードキャストトランザクション + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - プール運 + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ 過去1週間のすべてのマイニングプールの全体的な運。 100%を超える運は、現在のエポックの平均ブロック時間が10分未満であることを意味します。 src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - プール数 + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ 過去1週間に少なくとも1つのブロックが見つかった一意のプールの数。 src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ 過去1週間に見つかったブロックの数。 src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ ランク src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ 平均健全性 src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - 空ブロック + + Avg Block Fees + 平均ブロック手数料 src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ すべてのマイナー src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - プールの運(1週間) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - プール数(1週間) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools マイニングプール @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks ブロック src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ その他 ( ) src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ マイニングプール src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ タグ src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all すべてを表示 src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ 非表示 src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ ハッシュレート(24時間) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - 推定 + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - 報告 - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - 採掘されたブロック - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24時間 - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1週間 src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + 採掘された + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag コインベース・タグ src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + ブロードキャストトランザクション + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex トランザクションの16進値 @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + 最初に見た + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward マイナー報酬 @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ 以前の144つブロックにマイナーへの払込金額 src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - 平均ブロック手数料 - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks 以前の144つブロックに各ブロックの平均手数料 src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/ブロック src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ 以前の144つブロックで各トランザクションに支払った平均手数料 src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ サトシ/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Txあたりの報酬 - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem ビットコインエコシステムを全て探検する src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ 検索 src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view テレビ src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ フィルター src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ 反転 src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ トランザクションvByte毎秒(vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now ちょうど今 src/app/components/time/time.component.ts - 79 + 90 ago - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - あと〜 src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + あと〜 src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - の後 src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + の後 src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + コインベース + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: このトランザクションは以下のように置き換えられました。 src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - このトランザクションは置き換えられた: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - 置き換えられた - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - 未承認 - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - 最初に見た - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ 数時間(またはそれ以上) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Descendant src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Ancestor src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow 流れ src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ 図表を非表示 src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ 詳細を表示 src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ 詳細を非表示 src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ 図表を表示 src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime ロックタイム src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. トランザクションが見つかりません。 src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ mempoolに表示されるのを待っています... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - 実効手数料レート + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - コインベース - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (新しく生成されたコイン) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ ペグイン src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ ウィットネス src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH引き換えスクリプト src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSHウィットネススクリプト src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ 前の出力スクリプト src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ 以前の出力タイプ src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ へのペグアウト src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ 手数料データを見るにはもっとインプットを表示する src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ 残り src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot このトランザクションではTaprootを使用することで料金を%節約しました。Taprootを完全に使用することで%をさらに節約できます @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method このトランザクションは、Replace-By-Fee(RBF)をサポートしておらず、この方法を使用して料金を引き上げることはできません。 @@ -5308,25 +5883,48 @@ トランザクション手数料 src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - 最新のトランザクション + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee 最低料金 src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ 削除中 src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - メモリ使用量 - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation 流通しているL-BTC src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.spaceは単にビットコインネットワークのデータを提供するサービスです。 資金の回収やトランザクションの迅速な承認などの問題についてはお手伝いできません。 + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ エンドポイント src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ 記述 src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ デフォルト・プッシュ: 行動: 'want', データ: ['ブロック', ...] プッシュしたいことを表現するために. 利用可能: blocksmempool-blockslive-2h-chartstatsこのアドレスと関係するプッシュトランザクション: 'track-address': '3PbJ...bF9B' インプットまたはアウトプットとしてそのアドレスを含む新トランザクションを得るために。トランザクションの配列を返す。 新しいメモリプールトランザクションの場合はaddress-transactions, そして新しいブロック承認済みトランザクションの場合はblock-transactions src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ コード例 src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ インストールパッケージ src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ 応答 src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - よくある質問 src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ 初期残高 src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ 決算残高 src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ ライトニングチャンネル src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ 非アクティブ src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ アクティブ src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ 閉鎖された src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ 作成された src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ 容量 src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel ライトニングチャンネル src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ 最終更新 src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ 閉鎖時間 src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ 閉鎖した方: src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ 最初トランザクション src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ 最終トランザクション src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ 開く src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ 表示するチャンネルはありません src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ エイリアス src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - ステータス - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID チャンネルID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - サトシ - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg 平均 src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ 中央値 src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ 平均容量 src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ 平均手数料レート src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ 0.5%または5000ppm以上の手数料レートを無視して、ルーティングノードが請求する平均手数料レート src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ 平均基本手数料 src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ 5000ppm以上の基本手数料を無視して、ルーティングノードが請求する基本手数料 src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ 容量中央値 src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ 手数料レート中央値 src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ 0.5%または5000ppm以上の手数料レートを無視して、ルーティングノードが請求する手数料レート中央値 src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ 基本手数料中央値 src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ 5000ppm以上の基本手数料を無視して、ルーティングノードが請求する基本手数料中央値 src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ ライトニングノードのグループ src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ ノード src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ 流動性 src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ チャンネル src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ 平均サイズ src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location 位置 src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics ネットワーク統計 @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution 手数料配分 @@ -6429,11 +7078,11 @@ 外向き手数料 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ 内向き手数料 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ この1週間のパーセント変化 src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ ライトニングノード src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ アクティブ容量 src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ アクティブのチャンネル src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size 平均チャンネルサイズ src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ 平均チャンネル距離 src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ プロバイダー src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Tor専用 src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad 流動性要請の広告 src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ リース手数料レート src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ リース基本手数料 src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ 資金のウェイト src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ チャンネル手数料レート src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ チャンネル基本手数料 src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Compact lease src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV extension records src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ 開いたチャンネル src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ 閉じたチャンネル src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ ノード: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Torノードを除く) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map ライトニングノードチャンネルの世界地図 + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ 地理位置情報データはありません src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ アクティブのチャンネル地図 src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress 索引付け中 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ 透明ネットとダークネット src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ 透明ネットのみ (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ ダークネットのみ (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ 共有 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes ノード src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC 容量 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ ISP 社数 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ ISPトップ src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity クリアネット容量 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ 少なくとも1個のクリアネットIPアドレスを宣言しているノードが管理している流動性がどれだけあるのか src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ 不明容量 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ ISPが不明なノードが管理している流動性がどれだけあるのか src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Tor容量 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Torのアドレスのみ宣言しているノードが管理している流動性がどれだけあるのか src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ LNノードホスティングのISP上位100社 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + インデックス構築中 + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ ライトニングISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ 国トップ src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ ノードトップ src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: ISP管轄内ライトニングノード: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ アクティブのノード src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ 古いライトニングノードの上位100個 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes 古いノード @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - インデックス構築中 + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + 未承認 + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + 利用規約 + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + プライバシー・ポリシー + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.ka.xlf b/frontend/src/locale/messages.ka.xlf index ae1ba6c6d..a9bc29ebb 100644 --- a/frontend/src/locale/messages.ka.xlf +++ b/frontend/src/locale/messages.ka.xlf @@ -5,273 +5,271 @@ Close დახურვა - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - სლაიდი -დან - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - წინა - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - შემდეგი - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - აირჩიეთ თვე - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - აირჩიეთ წელი - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - წინა თვე - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - შემდეგი თვე - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - პირველი - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - წინა - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - შემდეგი - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - წინა - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH სთ - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - საათი - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - თვე - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - წუთის - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - ზრდადი საათები - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - კლებადი საათები - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - ზრდადი წუთები - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - კლებადი წუთები - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - წმ - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - წამები - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - ზრდადი წამები - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - კლებადი წამები - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close დახურვა - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + აირჩიეთ თვე + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + წინა თვე + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + საათი + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + წინა + + node_modules/src/ngb-config.ts + 13 + + + + MM + თვე + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + აირჩიეთ წელი + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + შემდეგი თვე + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + შემდეგი + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + წუთის + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + ზრდადი საათები + + node_modules/src/ngb-config.ts + 13 + + + + First + პირველი + + node_modules/src/ngb-config.ts + 13 + + + + Previous + წინა + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + კლებადი საათები + + node_modules/src/ngb-config.ts + 13 + + + + Next + შემდეგი + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + ზრდადი წუთები + + node_modules/src/ngb-config.ts + 13 + + + + Last + წინა + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + კლებადი წუთები + + node_modules/src/ngb-config.ts + 13 + + + + SS + წმ + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + წამები + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + ზრდადი წამები + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + კლებადი წამები + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block ბლოკი @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ ბლოკი : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ ბლოკები src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ სიმაღლე src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ დადასტურებული src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ ტრანზაქცია src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Bisq ის ბრუნვა src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ ბაზარი src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ ბიტკოინის ბაზარი src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ ფასი src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ ბოლო ტრეიდები src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq ფასის ინდექსი src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Bisq Market price src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ მეტის ნახვა » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Მომსახურების პირობები - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Კონფიდენციალურობის პოლიტიკა - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers ყიდვის შემოთავაზება src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ გაყიდვის შემოთავაზება src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ რაოდენობა () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ სტატისტიკა @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date რიცხვი src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ თანხა src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ ტრანზაქცია src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - დადასტურება - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - დადასტურება - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block შედის ამ ბლოკში src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ მეთოდი src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ საკომისიო ყოველ vByte-ზე src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details დეტალები src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ შემავალი & გამომავალი src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ გარიგებები src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ ტრანსაქციის ID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ დადასტურებული src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ გაფილტვრა src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ ყველას მონიშვნა src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades ტრეიდები @@ -1443,7 +1452,7 @@ The Mempool Open Source პროექტი src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ ბიტკოინ mempool ი და ბლოქჩეინ ექსპლორერი ბიტკოინ community-სთვის, ფოკუსირებული საკომისიოზე და მრავალ შრიან ბიტკოინ ეკოსისტემაზე, სრულიად თვით რეალიზებული მესამე პირთა დაყდრნობის გარეშე src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 კორპორატიული სპონსორები src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - კერძო სპონსორები ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ მოხალისეების ინტეგრაციები src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ ალიანსი src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ მთარგმნელები src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ მოხალისეები src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ პროექტის წევრები src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ პროექტის შემქმნელები src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ ჩვენს შესახებ src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + სატ + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + სატ/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig -დან @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ მისამართი: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ ჯგუფი ასეტებიდან src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker ნიშანი src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ გამომცემის მისამართი src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ქოინის ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ ქოინების მონაცემების მოძებვნისას მოხდა შეცდომა. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ ოფლაინ src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ უკავშირდება... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ ქსელის 2-ე ფენა src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ დაფა src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ სტატისტიკა src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Docs src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ ბლოკის საკომისიოს მაჩვენებელი src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: ბლოკში: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ ბლოკში: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ ბლოკის საკომისიოები src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks ბლოკის ინდექსირება src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + მონაცემების ჩვენება ჯერ არ არის შესაძლებელი. Მოგვიანებით სცადეთ. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ მიუწვდომელია src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - სატ - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate საკომისიო @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - სატ/vB + + Effective fee rate + ეფექტური საკომისიო src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + ვირტუალური ზომა + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + აუდიტის სტატუსი + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + დამთხვევა + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + ამოღებულია + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + განსაზღვრული საკომისიო + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + ბოლოს მიღებული + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + დამატებულია + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + ბლოკის ანაზღაურება + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + ბლოკის ზომები + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + ზომა + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + წონა + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + ზომა მოცემულ რაოდენობაზე + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + ბლოკი: + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + ბლოკი + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + საშუალო საკომისიო + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + ჯამში საკომისიო + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + მაინერი + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + შემდეგი ბლოკი + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + წინა ბლოკი + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + ჯანმრთელობა + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + უცნობი + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + საკომისიოს დიაპაზონი + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + გამომდინარე საშუალო native segwit 140 vByte ტრანსაქციიდან + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - ვირტუალური ზომა - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - აუდიტის სტატუსი - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - დამთხვევა - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - ამოღებულია - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - განსაზღვრული საკომისიო - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - ბოლოს მიღებული - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - დამატებულია - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - ბლოკის წინასწარმეტყველების სიზუსტე - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - მონაცემების ჩვენება ჯერ არ არის შესაძლებელი. Მოგვიანებით სცადეთ. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - დამთხვევის მაჩვენებელი - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - ბლოკის ანაზღაურება - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - ბლოკის ზომები - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - ზომა - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - წონა - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - ზომა მოცემულ რაოდენობაზე - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - ბლოკი - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - საშუალო საკომისიო - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - ჯამში საკომისიო - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - მაინერი - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - ბლოკი: - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - შემდეგი ბლოკი - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - წინა ბლოკი - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - ჯანმრთელობა - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - უცნობი - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - საკომისიოს დიაპაზონი - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - გამომდინარე საშუალო native segwit 140 vByte ტრანსაქციიდან - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ სუბსიდია და საკომისიო src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ მოსალოდნელი src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ ბეტა src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ მიმდინარე src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ მოსალოდნელი ბლოკი src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ მიმდინარე ბლოკი src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ სირთულე src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Block Header Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ აუდიტი src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ დეტალები src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ მოხდა შეცდომა src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ რატომ არის ეს ბლოკი ცარიელი? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - მოპოვებული - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward ანაზღაურება src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ საკომისიოები src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ ტრანზაქცია src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! დაკოპირდა @@ -3063,12 +3447,60 @@ 19 + + High Priority + მაღალი + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + დაუდასტურებული + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted შესწორებული src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ ცვლილება src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ სირთულე src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ დარჩა src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - ბლოკი + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ დაახლოებით src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ წინა src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ ეს პერიოდი src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ შემდეგი ჰალვინგი src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3205,7 +3640,7 @@ blocks expected src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3213,7 +3648,7 @@ block expected src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3221,7 +3656,7 @@ blocks mined src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3229,7 +3664,7 @@ block mined src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3237,7 +3672,7 @@ blocks remaining src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3245,7 +3680,7 @@ block remaining src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3253,7 +3688,7 @@ blocks ahead src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3261,7 +3696,7 @@ block ahead src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3269,7 +3704,7 @@ blocks behind src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3277,7 +3712,7 @@ block behind src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3285,7 +3720,7 @@ Average block time src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3294,7 +3729,7 @@ ან მინიმუმის 2x ან დაბალ პრიორიტეტული საკომისიო (რომელიც უფრო დაბალია) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3303,11 +3738,11 @@ არა პრიორიტეტული src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3316,7 +3751,7 @@ თქვენი ტრანსაქცია წესით ხვდება მეორე და მესამე mempool ის ბლოკებს შორის src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3325,11 +3760,11 @@ დაბალი src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3338,7 +3773,7 @@ თქვენი ტრანსაქცია წესით ხვდება პირველ და მემორე mempool ის ბლოკებს შორის src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3347,11 +3782,11 @@ საშუალი src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3360,33 +3795,16 @@ თქვენი ტრანზაცია მოხვდება პირველ და მესამე ბლოკებს შორის src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - მაღალი - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions მიმდინარე ტრანზაქციები src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3395,11 +3813,11 @@ Backend სინქრონდება src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3408,35 +3826,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - დაუდასტურებული + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size მემპულის ზომა src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3459,7 +3876,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3472,7 +3889,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3503,7 +3920,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3511,7 +3928,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3524,7 +3941,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3532,7 +3949,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3545,7 +3962,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3558,7 +3975,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3575,7 +3992,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3592,7 +4009,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3601,27 +4018,27 @@ ჰაშრეიტი src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3630,24 +4047,31 @@ ჰაშრეიტი და სირთულე src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) ჰაშრეიტი src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3679,15 +4103,15 @@ დიაგრამები src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3696,11 +4120,15 @@ მაინინგ მონაცემები src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3709,12 +4137,16 @@ Lightning ექსპლორერი src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3722,7 +4154,7 @@ დოკუმენტაცია src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3730,12 +4162,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks mempool ის ბლოკების კრება src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3743,7 +4182,18 @@ მემპულის ბლოკი src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3751,7 +4201,7 @@ ზღვარი src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3759,9 +4209,17 @@ ჯამი src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats ანაზღაურების სტატისტიკა @@ -3780,18 +4238,21 @@ mining.144-blocks - - Latest blocks - ბოლო ბლოკები + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3802,31 +4263,12 @@ dashboard.adjustments - - Broadcast Transaction - Broadcast Transaction + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3837,12 +4279,15 @@ mining.miners-luck-1w - - Pools luck - pool ის იღბალი + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3851,7 +4296,7 @@ ყველა მაინინგ Pool-ის საერთო იღბალი გასული კვირის განმავლობაში. 100%-ზე მეტი მაჩვენებელი ნიშნავს, რომ მიმდინარე ეპოქისთვის ბლოკების საშუალო დრო 10 წუთზე ნაკლები იყო. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3864,12 +4309,15 @@ mining.miners-count-1w - - Pools count - pool ის რაოდენობა + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3878,7 +4326,7 @@ რამდენმა უნიკალურმა Pool-მა მოიპოვა მინიმუმ ერთი ბლოკი გასული კვირის განმავლობაში. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3891,11 +4339,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3904,7 +4352,7 @@ გასული კვირის განმავლობაში მოპოვებული ბლოკების რაოდენობა. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3913,15 +4361,15 @@ რეიტინგი src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3930,20 +4378,56 @@ საშუალო ჯანმრთელობა src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - ცარიელი ბლოკი + + Avg Block Fees + საშუალო ბლოკის საკომისიო src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3952,28 +4436,10 @@ ყველა მაინერი src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - pool ის გამართლება (1კვ) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - pool ის რაოდენობა (1კვ) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools მაინინგ pool ები @@ -3982,38 +4448,45 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 Other () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4021,11 +4494,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4033,7 +4506,7 @@ მაინინგ Pool ი src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4042,48 +4515,59 @@ თეგები src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all ყველას ნახვა src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4092,7 +4576,7 @@ დამალვა src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4101,116 +4585,39 @@ ჰაშრეიტი (24სთ) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - მიახლოებითი + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - წყაროზე დაყდნობით - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - იღბალი - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - მოპოვებული ბლოკები - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24 სთ - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4219,27 +4626,82 @@ 1კვ src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + მოპოვებული + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Coinbase tag src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Transaction hex @@ -4249,10 +4711,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + პირველი + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward მაინერების ანაზღაურება @@ -4262,11 +4867,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4275,29 +4880,16 @@ მაინერების ჯამური ანაზღაურება 144 ბლოკის შედეგად src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - საშუალო ბლოკის საკომისიო - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks საშუალო ბლოკის საკომისიო ბოლო 144 ბლოკზე src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4306,7 +4898,7 @@ BTC/block src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4320,7 +4912,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4329,7 +4925,7 @@ სულ გადახდილი საკომისიოები 144 ბლოკის შედეგად src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4338,30 +4934,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - ანაზღაურება თითო ტრანსაქ. - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem გაიცანი ბიტკოინის მთლიანი ეკოსისტემა src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4370,7 +4961,7 @@ მოძებვნა src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4455,12 +5046,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view სატელევიზიო ხედვა src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4473,7 +5076,7 @@ გაფილტვრა src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4482,7 +5085,7 @@ შებრუნება src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4491,69 +5094,43 @@ ტრანზაქცია vBytes წამში (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now ახლა src/app/components/time/time.component.ts - 79 + 90 ago წინ - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4562,16 +5139,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4595,24 +5181,15 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ src/app/components/time/time.component.ts 141 @@ -4621,17 +5198,25 @@ src/app/components/time/time.component.ts 142 - - - After - შემდეგ src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4655,24 +5240,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + შემდეგ src/app/components/time/time.component.ts 164 @@ -4681,91 +5258,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: ტრანსაქცია ჩანაცვლდა: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - ამ ტრანზაქციამ ჩაანაცვლა: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - ჩაანაცვლა - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - დაუდასტურებული - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - პირველი - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA სავარაუდო ლოდინის დრო src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4775,21 +5360,34 @@ რამდენიმე საათში (ან მეტი) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant კლებადი src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4799,21 +5397,30 @@ შთამომავალი src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Flow src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4823,7 +5430,7 @@ დიაგრამის დამალვა src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4832,15 +5439,15 @@ მეტის ჩვენება src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4849,11 +5456,11 @@ ნაკლების ჩვენება src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4862,25 +5469,43 @@ დიაგრამის ჩვენება src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. ტრანსაქცია ვერ მოიძებნა. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4889,35 +5514,25 @@ დაელოდეთ mempool-ში რომ გამოჩნდეს... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - ეფექტური საკომისიო + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (ახალი ქოინები) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4926,7 +5541,7 @@ მიბმული src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4935,7 +5550,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4945,7 +5560,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4955,7 +5570,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4964,7 +5579,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4973,7 +5588,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4982,7 +5597,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -4991,7 +5606,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5000,7 +5615,7 @@ Previous output script src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5009,7 +5624,7 @@ Previous output type src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5018,7 +5633,7 @@ Peg-out to src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5027,7 +5642,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5037,7 +5652,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5047,7 +5662,7 @@ მეტი input-ის ჩვენება, საკომისიოს დატადან src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5056,7 +5671,7 @@ დარჩენილია src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5158,32 +5773,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot ეს ტრანზაქცია იყენებს Taproot-ს და უკვე დაზოგილია მინიმუმ % საკომისიოებზე, მაგრამ შეიძლება დაზოგოს დამატებითი % Taproot-ის სრულად გამოყენებით @@ -5229,20 +5818,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method @@ -5294,25 +5869,48 @@ საკომისიო src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - ბოლო ტრანზაქციები + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee მინ. საკომისიო src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5322,40 +5920,33 @@ წაშლა src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - მეხსიერება - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC ბრუნვაში src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space უბრალოდ გვაწვდით მონაცემებს ბიტკოინის ქსელის შესახებ. ის ვერ დაგეხმარებათ ფინანსების მოძიებაში, თქვენი ტრანზაქციის უფრო სწრაფად დადასტურებაში და ა.შ. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5364,7 +5955,7 @@ REST API service src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5373,11 +5964,11 @@ დასასრული src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5386,11 +5977,15 @@ აღწერა src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5398,7 +5993,7 @@ Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-blocks, live-2h-chart, and stats.Push transactions related to address: 'track-address': '3PbJ...bF9B' to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5407,19 +6002,19 @@ კოდის მაგალითი src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5428,7 +6023,7 @@ საინსტალაციო პაკეტი src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5437,32 +6032,85 @@ პასუხი src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5474,7 +6122,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5487,15 +6135,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5571,11 +6219,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5584,7 +6232,7 @@ საწყისი ბალანსი src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5594,7 +6242,7 @@ საბოლოო ბალანსი src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5604,7 +6252,7 @@ lightning channel src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5613,15 +6261,15 @@ არააქტიური src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5630,15 +6278,15 @@ აქტიური src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5647,19 +6295,23 @@ დახურული src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5668,11 +6320,11 @@ შექმნილია src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5681,15 +6333,19 @@ ტევადობა src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5701,43 +6357,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5746,32 +6402,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Lightning channel-ი src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5780,31 +6447,31 @@ Ბოლო განახლება src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5813,11 +6480,11 @@ ბოლო თარიღი src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5826,7 +6493,7 @@ დაიხურა src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5835,7 +6502,11 @@ პირველი ტრანზაქცია src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5844,7 +6515,11 @@ საბოლოო ტრანსაქცია src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5885,7 +6560,7 @@ გახსნა src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5894,7 +6569,7 @@ არხები არ არის ნაჩვენები src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5903,115 +6578,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - სტატუსი - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ჩანელის ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg საშ. src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6020,7 +6637,7 @@ მედ. src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6029,11 +6646,11 @@ საშ. სიმძლავრე src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6042,11 +6659,11 @@ საშუალო საკომისიო src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6055,7 +6672,7 @@ როუტინგის კვანძების მიერ დაწესებული საშუალო საკომისიოს განაკვეთი, საკომისიოს განაკვეთი რომელიც > 0.5% ან 5000ppm -ზე არ ითვალისწინებს src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6064,11 +6681,11 @@ საშუალო საბაზისო საკომისიო src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6077,7 +6694,7 @@ საშუალო საბაზისო საკომისიო დაწესებული როუტინგის კვაშირების მიერ, საბაზისო გადასახადების არ ითვალისწინებს > 5000ppm ზე მეტია. src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6086,7 +6703,7 @@ მედ. სიმძლავრე src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6095,7 +6712,7 @@ მედ. საკომისიო src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6104,7 +6721,7 @@ მედ. საკომისიო როუტინგის კავშირის გამოყენებით, არ ითვალისწინებს > 0.5% ან 5000ppm -ს src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6113,7 +6730,7 @@ მედ. საბაზისო საკომისიო src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6122,7 +6739,7 @@ მედ. საბაზისო საკომისიო როუტინგის კავშირის მიხედვით, არ ითვალისწინებს საბაზისო საკომისიოს > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6131,11 +6748,11 @@ Lightning ნოდ ჯგუფი src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6144,35 +6761,39 @@ ნოდა src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6181,31 +6802,31 @@ ლიკვიდურობა src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6214,11 +6835,11 @@ ჩანელი src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6230,55 +6851,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6287,55 +6908,72 @@ საშუალო ზომა src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location ლოკაცია src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics ქსელის სტატისტიკა @@ -6372,16 +7010,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6395,12 +7029,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution საკომისიოს განაწილება @@ -6415,11 +7064,11 @@ გამავალი საკომისიო src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6427,11 +7076,11 @@ შემომავალი საკომისიოები src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6439,15 +7088,15 @@ პროცენტული ცვლილება გასულ კვირას src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6456,15 +7105,15 @@ Lightning ნოდა src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6473,11 +7122,11 @@ საშუალო სიმძლავრე src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6486,11 +7135,11 @@ აქტიური ჩანელი src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6499,16 +7148,27 @@ ქვეყანა src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size არხის საშუალო ზომა src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6517,7 +7177,7 @@ არხის საშუალო მანძილი src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6526,7 +7186,7 @@ ფერი src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6535,11 +7195,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6548,16 +7208,25 @@ ექსკლუზიურად Tor-ზე src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Liquidity ad src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6566,7 +7235,7 @@ იჯარის საკომისიო src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6576,7 +7245,7 @@ იჯარის საბაზისო საკომისიო src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6585,7 +7254,7 @@ დაფინანსების განაკვეთი src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6594,7 +7263,7 @@ ჩანელის საკომისიო src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6604,7 +7273,7 @@ ჩანელის საბაზისო საკომისიო src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6613,7 +7282,7 @@ კომპაქტური იჯარა src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6622,7 +7291,7 @@ TLV ჩანაწერები src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6631,7 +7300,7 @@ ჩანელის გახსნა src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6640,7 +7309,7 @@ ჩანელის დახურვა src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6649,7 +7318,7 @@ ნოდა: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6657,25 +7326,32 @@ (Tor nodes excluded) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Lightning ნოდების ჩანელები მსოფლიო რუქაზე + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6686,7 +7362,7 @@ გეოლოკაციის მონაცემები მიუწვდომელია src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6694,20 +7370,34 @@ აქტირუი ჩანელები რუქაზე src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress ინდექსირება მუშავდება src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6715,11 +7405,11 @@ Clearnet ი და Darknet ი src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6727,11 +7417,11 @@ Clearnet Only (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6739,11 +7429,11 @@ Darknet Only (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6751,31 +7441,38 @@ გაზიარება src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6783,7 +7480,7 @@ BTC სიმძლავრე src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6800,7 +7497,7 @@ ISP Count src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6809,7 +7506,7 @@ Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6821,16 +7518,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Clearnet სიმძლავრე src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6839,7 +7543,7 @@ რამდენი ლიკვიდურობა არის კვაშირზე, რომლებიც იყენებენ მინიმუმ ერთი წმინდა IP მისამართს src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6848,11 +7552,11 @@ უცნობი სიმძლავრე src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6861,7 +7565,7 @@ რამდენად ლიკვიდურია კავშირი, რომელთა იდენტიფიცირებაც ISP არ იყო src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6870,11 +7574,11 @@ Tor სიმძლავრე src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6883,7 +7587,7 @@ რამდენად ლიკვიდურია მხოლოდ Tor-ის მისამართებზე ნოდები src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6892,20 +7596,33 @@ Top 100 ISPs hosting LN nodes src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + ინდექსაცია მიმდინარეობს + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6913,7 +7630,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6922,11 +7639,11 @@ ტოპ ქვეყანა src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6935,7 +7652,7 @@ ტოპ ნოდა src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6951,6 +7668,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Lightning nodes on ISP: @@ -6965,7 +7693,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6974,7 +7702,7 @@ აქტიური ნოდა src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6983,7 +7711,7 @@ ტოპ 100 ყველაზე ძველი ნოდა src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -6995,6 +7723,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes ყველაზე ძველი ნოდები @@ -7012,14 +7761,287 @@ 22 - - Indexing in progress - ინდექსაცია მიმდინარეობს + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + დაუდასტურებული + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Მომსახურების პირობები + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Კონფიდენციალურობის პოლიტიკა + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.ko.xlf b/frontend/src/locale/messages.ko.xlf index 948ffa86e..f041b12b1 100644 --- a/frontend/src/locale/messages.ko.xlf +++ b/frontend/src/locale/messages.ko.xlf @@ -5,273 +5,271 @@ Close 닫기 - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - 슬라이드 / - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - 이전 - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - 다음 - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - 달/월 선택하기 - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - 연/년 선택하기 - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - 지난달 - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - 다음 달 - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - 첫째 - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - 이전 - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - 다음 - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - 마지막 - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - 시간 - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - 증가한 시간 - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - 감소한 시간 - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - 증가한 분 - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - 감소한 분 - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - 증가한 초 - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - 감소한 초 - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close 닫기 - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + 달/월 선택하기 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + 지난달 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + 시간 + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + 이전 + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + 연/년 선택하기 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + 다음 달 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + 다음 + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + 증가한 시간 + + node_modules/src/ngb-config.ts + 13 + + + + First + 첫째 + + node_modules/src/ngb-config.ts + 13 + + + + Previous + 이전 + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + 감소한 시간 + + node_modules/src/ngb-config.ts + 13 + + + + Next + 다음 + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + 증가한 분 + + node_modules/src/ngb-config.ts + 13 + + + + Last + 마지막 + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + 감소한 분 + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + 증가한 초 + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + 감소한 초 + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block 블록 @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ 블록 : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ 블록들 src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ 높이 src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ 컨펌됨 src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ 트랜잭션 src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Bisq 거래량 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ 시장 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ 비트코인 시장 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ 가격 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ 최신 거래 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq 가격 지수 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Bisq 시장 가격 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ 더 보기 » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - 이용약관 - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - 개인정보처리방침 - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers 오퍼 구매하기 src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ 오퍼 판매하기 src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ 금액 () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ 통계 @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date 날짜 src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ 트랜잭션 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - 컨펌 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - 컨펌들 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block 포함된 블록 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ 기능 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ vByte당 수수료 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details 자세히 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ 인풋과 아웃풋 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ 트랜잭션 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ 트랜잭션 ID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ 컨펌됨 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ 필터 src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ 모두 선택 src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades 거래 @@ -1443,7 +1452,7 @@ 멤풀 오픈 소스 프로젝트 src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ 비트코인 커뮤니티를 위한 멤풀 및 블록체인 탐색기는 트랜잭션 수수료 시장과 다계층 생태계에 중점을 두고 있으며 제3자 없이 자체 호스팅하고 있습니다. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 기업 스폰서🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - 커뮤니티 스폰서❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ 커뮤니티 통합 src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ 커뮤니티 연합 src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ 프로젝트 번역자 src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ 프로젝트 참여자 목록 src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ 프로젝트 멤버들 src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ 프로젝트 관리자 목록 src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ 대하여 src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + 사토시 + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of 다중서명 / @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ 주소: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ 자산 그룹 src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker 시세 표시표 src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ 발급자 도메인 src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ 자산 ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ 자산 데이터 로딩 실패 src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ 오프라인 src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ 다시 연결중... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ 레이어 2 네트워크들 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ 대시보드 src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ 통계 src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ 문서들 src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ 블록 수수료율 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: 블록: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ 대략 블록: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ 블록 수수료 src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks 블록 인덱싱 중 src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + 아직 표시할 데이터가 없습니다. 나중에 다시 시도해주세요. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ 사용할 수 없음 src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - 사토시 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate 수수료율 @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + 유효 수수료율 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + 가상 크기 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + 감사 상태 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + 일치 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + 제거됨 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + 한계 수수료율 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + 최근 전파됨 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + 추가됨 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + 블록 보상 + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + 블록 사이즈와 블록 무게 + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + 사이즈 + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + 무게 + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + 무게당 사이즈 + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + 블록 : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + 블록 + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + 평균 수수료 + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + 총 수수료 + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + 채굴자 + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + 다음 블록 + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + 이전 블록 + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + 건강도 + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + 알 수 없음 + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + 수수료 범위 + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + 평균 native segwit 트랜잭션의 140 vBytes 기준 + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - 가상 크기 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - 감사 상태 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - 일치 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - 제거됨 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - 한계 수수료율 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - 최근 전파됨 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - 추가됨 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - 블록 예측 정확도 - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - 아직 표시할 데이터가 없습니다. 나중에 다시 시도해주세요. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - 일치율 - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - 블록 보상 - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - 블록 사이즈와 블록 무게 - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - 사이즈 - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - 무게 - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - 무게당 사이즈 - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - 블록 - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - 평균 수수료 - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - 총 수수료 - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - 채굴자 - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - 블록 : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - 다음 블록 - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - 이전 블록 - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - 건강도 - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - 알 수 없음 - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - 수수료 범위 - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - 평균 native segwit 트랜잭션의 140 vBytes 기준 - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ 보상금 + 수수료 src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ 예상 src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ 베타 src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ 실제 src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ 예상된 블록 src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ 실제 블록 src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + 탭루트 + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits 비트 src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ 머클 루트 src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ 난이도 src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ 임시값 src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ 블록헤더 16진수 src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ 감사 src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ 자세히 src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ 데이터 불러오기 실패. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ 이 블록은 왜 트랜잭션이 없나요? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - 채굴됨 - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward 보상 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ 수수료 src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ 트랜잭션 src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! 복사됨! @@ -3063,12 +3447,60 @@ 19 + + High Priority + 높은 우선 순위 + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + 컨펌되지 않음 + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted 조정 후 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ 변동 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ 난이도 조정 src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ 남은 src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - 블록 + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ 추정 src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ 이전 src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ 현재 기간 src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ 다음 반감기 src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ 예측된 블록들: src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ 예상한 개 블록 src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ 채굴된 블록들: src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ 채굴된 개 블록 src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ 남은 블록: src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ 남은 개 블록 src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ 현재 앞서있는 블록: src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ 앞서있는 개 블록 src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ 현재 뒤처져있는 블록: src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ 뒤처진 개 블록 src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ 평균 블록 생성 시간 src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ 최소 수수료의 2배 또는 낮은 우선 순위 금액(낮은 금액 선택) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ 최하위 우선순위 src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ 보통 트랜잭션이 두 번째와 세 번째 멤풀 블록에 배치됩니다. src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ 낮은 우선 순위 src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ 보통 트랜잭션이 첫 번째와 두 번째 멤풀 블록에 배치됩니다. src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ 중간 우선 순위 src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ 첫 번째 멤풀 블록에 트랜잭션이 포함됩니다 src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - 높은 우선 순위 - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions 들어오는 트랜잭션 src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ 백엔드 동기화 중입니다 src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - 컨펌되지 않음 + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size 멤풀 사이즈 src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ 해시레이트 src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ 해시레이트 & 난이도 src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) 해시레이트 (이동 평균) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ 그래프 src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ 채굴 대시보드 src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ 라이트닝 탐색기 src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ 문서 src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks 멤풀 블록 스택 src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ 멤풀 블록 src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ 범위 src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ 총액수 src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats 보상 관련 데이터 @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - 최신 블록 + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - 트랜잭션을 비트코인 네트워크에 전송하기 + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - 채굴풀들의 운 + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ 지난 한 주 동안의 모든 채굴풀의 전반적인 운입니다. 운이 100%보다 크면 현재 에포크의 평균 블록 생성 시간이 10분 미만이라는 뜻입니다. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - 채굴풀 개수 + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ 지난 한 주 동안 최소 한 블록 이상 발견한 고유한 채굴 풀의 수입니다. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ 지난 한 주 동안 발견된 블록의 수입니다. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ 순위 src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ 평균 건강도 src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - 빈 블록 + + Avg Block Fees + 평균 블록 수수료 src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ 모든 채굴자 src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - 채굴풀들의 운 (1주) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - 채굴풀 개수 (1주) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools 채굴풀 @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks 개 블록 src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ 기타 () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ 채굴풀 src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ 태그 src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all 모두 보기 src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ 숨기기 src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ 해시레이트 (24시간) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - 추정 + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - 보고 - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - 채굴된 블록들 - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24시간 - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1주 src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + 채굴됨 + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag 코인베이스 태그 src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + 트랜잭션을 비트코인 네트워크에 전송하기 + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex 트랜잭션 16진수 @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + 처음으로 감지됨 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward 채굴 보상 @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ 지난 144블록 동안 채굴자에게 지급된 보상 src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - 평균 블록 수수료 - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks 지난 144개 블록의 평균 블록당 수수료 src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/블록 src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ 지난 144블록 동안 각 거래에 대해 평균적으로 지불된 수수료 src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - 트랜잭션당 보상 - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem 비트코인 네트워크 전체를 검색해 보세요 src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ 검색 src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV 뷰 src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ 필터 src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ 뒤집기 src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ 초당 트랜잭션 vByte (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now 방금 전 src/app/components/time/time.component.ts - 79 + 90 ago - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - 이후 src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + 이후 src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + 코인베이스 + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: 이 트랜잭션은 다음 트랜잭션으로 대체되었습니다: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - 이 트랜잭션이 대체되었습니다: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - 대체됨 - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - 컨펌되지 않음 - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - 처음으로 감지됨 - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA 컨펌까지 남은 예상시간 src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ 몇 시간 후 (또는 그 이상) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant 자손 src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ 조상 src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow 흐름 src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ 도표 숨기기 src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ 더 보기 src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ 숨기기 src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ 도표 보기 src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime 잠금 시간 src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. 트랜잭션을 찾을 수 없음 src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ 멤풀에 포함될때까지 대기하는 중... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - 유효 수수료율 + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - 코인베이스 - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (새로 채굴된 코인들) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ 페그 인 src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ 증인 (디지털 서명) src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH 사용 스크립트 src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR 탭 스크립트 src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH 증인 스크립트 src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ 이전 아웃풋 스크립트 src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ 이전 아웃풋 유형 src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ 로 페그아웃 src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ 수수료 정보를 표기하기 위해 더 많은 인풋을 보기 src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ 남음 src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - 탭루트 - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot 이 트랜잭션은 탭루트를 사용해 이미 수수료를 최소 % 절약했지만, 탭루트를 완전히 사용하면 추가로 % 를 더 절약할 수 있습니다 @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method 이 트랜잭션은 RBF (Replace-By-Fee)를 지원하지 않으며이 방법을 사용하여 수수료 범핑을(fee bumping) 할 수 없습니다. @@ -5308,25 +5883,48 @@ 트랜잭션 수수료 src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - 최신 트랜잭션 + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee 최소 수수료 src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ 퍼징 src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - 멤풀 메모리 사용량 - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation 유통 중인 L-BTC src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space는 비트코인 네트워크에 대한 데이터만 제공할 뿐입니다. 자금을 회수하거나 트랜잭션을 더 빨리 컨펌시키는 것 등에 대해서는 도움을 드릴 수 없습니다. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API 서비스 src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ 엔드포인트 src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ 설명 src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ 기본 푸시: 작업: 'want', 데이터 : [ 'blocks', ...] 을 사용하여 푸시하려는 것을 표시할 수 있습니다. 사용 가능: blocks, mempool-blocks, live-2h-chart, 및stats.주소와 관련된 트랜잭션을 푸시:’track-address’: ‘3PbJ…bF9B’을 사용하여 인풋 또는 아웃풋 주소를 포함한 새로운 트랜잭션을 받을 수 있습니다. 트랜잭션들은 행렬로 반환합니다. 새로운 트랜잭션일 경우address-transactions이고, 새롭게 컨펌된 트랜잭션일 경우block-transactions입니다. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ 코드 예시 src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ 패키지 설치하기 src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ 응답 src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - 자주 묻는 질문들 src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ 시작 잔액 src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ 종료 잔액 src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ 라이트닝 채널 src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ 비활성 src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ 활성 src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ 폐쇄 src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ 생성 src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ 용량 src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel 라이트닝 채널 src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ 마지막 업데이트 src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ 폐쇄 일시 src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ 폐쇄한 측 : src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ 개설 트랜잭션 src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ 폐쇄 트랜잭션 src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ 개설 src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ 표시할 채널이 없습니다 src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ 별칭 src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - 상태 - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID 채널 ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg 평균 src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ 중앙값 src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ 평균 용량 src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ 평균 수수료율 src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ 라우팅 노드가 부과하는 평균 수수료율, 수수료율이 0.5% 또는 5000ppm을 초과하는 경우는 무시한 값 src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ 평균 기본 수수료 src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ 라우팅 노드가 부과하는 평균 기본 수수료, 기본 수수료가 5000ppm을 초과하는 경우는 무시한 값 src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ 중간 용량 src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ 중간 수수료율 src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ 라우팅 노드가 부과하는 수수료율의 중간값, 수수료율이 0.5% 또는 5000ppm을 초과하는 경우는 무시한 값 src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ 중간 기본 수수료 src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ 라우팅 노드가 부과하는 기본 수수료의 중간값, 기본 수수료가 5000ppm을 초과하는 경우는 무시한 값 src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ 라이트닝 노드 그룹 src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ 노드 수 src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ 유동성 src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ 채널 src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ 평균 크기 src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location 위치 src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics 네트워크 통계 @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution 수수료 분포 @@ -6429,11 +7078,11 @@ 인출 수수료 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ 인입 수수료 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ 지난 한 주 동안의 변화율 src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ 라이트닝 노드 src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ 활성 용량 src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ 활성 채널 src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ 국가 src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size 평균 채널 크기 src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ 평균 채널 거리 src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ 통신사 src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Tor 전용 src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad 유동성 광고 src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ 임대 수수료율 src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ 임대 기본 수수료 src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ 자금 가중치 src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ 채널 수수료율 src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ 채널 기본 수수료 src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ 간소화된 임대 src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV 확장 레코드 src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ 개설된 채널 src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ 폐쇄된 채널 src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ 노드: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Tor 노드 제외) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map 라이트닝 노드 채널 세계지도 + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ 사용 가능한 지리 정보가 없습니다 src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ 활성 채널 지도 src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress 인덱싱 진행 중 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ 클리어넷과 다크넷 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ 클리어넷 전용 (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ 다크넷 전용 (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ 공유 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes 개 노드 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC 용량 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ 통신사 수 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ 최상위 통신사 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity 클리어넷 용량 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ 하나 이상의 클리어넷 IP 주소를 공개한 노드에서 관리하는 유동성의 크기 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ 알 수 없는 용량 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ 통신사를 식별할 수 없는 노드에서 관리하는 유동성의 크기 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Tor 용량 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Tor 주소만 공개한 노드에서 관리하는 유동성의 크기 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ LN 노드를 호스팅하는 상위 100개 통신사 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + 인덱싱 진행 중 + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ 라이트닝 통신사 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ 상위 국가 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ 상위 노드 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: 통신사 관할 내 라이트닝 노드: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ 활성 노드 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ 가장 오래된 상위 100개 라이트닝 노드 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes 가장 오래된 노드 @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - 인덱싱 진행 중 + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + 컨펌되지 않음 + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + 이용약관 + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + 개인정보처리방침 + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.lt.xlf b/frontend/src/locale/messages.lt.xlf index bee201d16..01a3c6a03 100644 --- a/frontend/src/locale/messages.lt.xlf +++ b/frontend/src/locale/messages.lt.xlf @@ -5,273 +5,271 @@ Close Uždaryti - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Langas - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Ankstesnis - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Kitas - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Pasirinkite mėnesį - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Pasirinkite metus - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Ankstesnis mėnuo - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Kitas mėnuo - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Pirmas - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Ankstesnis - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Kitas - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Paskutinis - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH VV - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Valandos - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minutės - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Padidinti valandas - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Sumažinti valandas - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Padidinti minutes - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Sumažinti minutes - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Sekundės - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Padidinti sekundes - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Sumažinti sekundes - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Uždaryti - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Pasirinkite mėnesį + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Ankstesnis mėnuo + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Valandos + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Ankstesnis + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Pasirinkite metus + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Kitas mėnuo + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Kitas + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minutės + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Padidinti valandas + + node_modules/src/ngb-config.ts + 13 + + + + First + Pirmas + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Ankstesnis + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Sumažinti valandas + + node_modules/src/ngb-config.ts + 13 + + + + Next + Kitas + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Padidinti minutes + + node_modules/src/ngb-config.ts + 13 + + + + Last + Paskutinis + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Sumažinti minutes + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Sekundės + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Padidinti sekundes + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Sumažinti sekundes + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Blokas @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Blokas : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ blokai src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Aukštis src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Patvirtinta src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Sandoriai src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ "Bisq" Apyvarta src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Rinkos src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Bitkoino Rinkos src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Kaina src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Naujausi Sandoriai src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index "Bisq" Kainos Indeksas src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ "Bisq" Rinkos Kaina src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Rodyti daugiau » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Paslaugų Teikimo Sąlygos - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Privatumo Politika - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Perka src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Parduoda src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Suma () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ statistika @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Data src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Suma src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Sandoris src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - patvirtinimas - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - patvirtinimai - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Įtraukta į bloką src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Funkcijos src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Mokestis už vBaitą src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detalės src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Įvestys ir Išvestys src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ Sandoriai src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Patvirtinta src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Filtras src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Žymėti viską src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Sandoriai @@ -1443,7 +1452,7 @@ „Mempool“ Atviro Kodo Projektas src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Nuo trečiųjų šalių paslaugų nepriklausoma BTC sandorių ir daugiasluoksnės Bitkoino ekosistemos analizei skirta atminties baseino bei blokų grandinės naršyklė. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Verslo Rėmėjai 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Bendruomenės Rėmėjai ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Bendruomenės Integracijos src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Bendruomenės Aljansai src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Projekto Vertėjai src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Projekto Pagalbininkai src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Projekto Nariai src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Projekto Prižiūrėtojai src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Apie src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multiparašas @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Adresas: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ turtų grupė src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Tikeris src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Išdavėjo domenas src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ Turto ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Įkeliant duomenis įvyko klaida. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Neprisijungęs src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Jungiamasi iš naujo... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ 2-o Sluoksnio Tinklai src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Valdymo Skydas src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Statistika src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Dokumentai src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Bloko Mokesčių Tarifai src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Bloke: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Aplink bloką: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Bloko Mokesčiai src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indeksavimo blokai src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Nėra rodytinų duomenų. Bandyk dar kartą vėliau. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ nepasiekiamas src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Mokesčio tarifas @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Efektyvus mokesčių tarifas src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Virtualus dydis + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Audito būsena + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Atitikmuo + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Pašalinta + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Kraštutinis mokestis + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Neseniai transliuotas + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Pridėta + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Bloko Atlygis + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Blokų Dydžiai ir Svoriai + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Dydis + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Svoris + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Dydis pagal Svorį + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Blokas : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Blokas + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Vidutinis mokestis + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Viso mokesčių + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Kasėjas + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Kitas Blokas + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Ankstesnis Blokas + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Sveikata + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Nežinoma + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Mokesčių intervalas + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Remiantis vidutine 140 vBaitų 'native segwit' operacija + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Virtualus dydis - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Audito būsena - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Atitikmuo - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Pašalinta - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Kraštutinis mokestis - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Neseniai transliuotas - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Pridėta - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Blokų Nuspėjimo Tikslumas - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Nėra rodytinų duomenų. Bandyk dar kartą vėliau. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Atitikmens rodiklis - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Bloko Atlygis - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Blokų Dydžiai ir Svoriai - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Dydis - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Svoris - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Dydis pagal Svorį - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Blokas - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Vidutinis mokestis - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Viso mokesčių - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Kasėjas - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Blokas : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Kitas Blokas - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Ankstesnis Blokas - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Sveikata - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Nežinoma - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Mokesčių intervalas - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Remiantis vidutine 140 vBaitų 'native segwit' operacija - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Subsidija + mokesčiai src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Tikimasi src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta versija src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Tikras src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Numatytas Blokas src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Esamas Blokas src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bitai src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle šaknis src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Sudėtingumas src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Noncas src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Bloko Antraštės Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Auditas src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Detalės src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Įkeliant duomenis įvyko klaida. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Kodėl šis blokas tuščias? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Iškasta - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Atlygis src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Mokesčiai src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Nukopijuota! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Aukštas + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Nepatvirtinta + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Pakoreguota src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Pokytis src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Sudėtingumo Koregavimas src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Liko src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - blokai + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Prognozė src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Buvęs src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Šis Periodas src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Iki Halvingo Liko src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ Tikimasi blokų src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ Tikimasi bloko src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ Rasti blokai src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ Rastas blokas src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ Liko blokai src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ Liko blokas src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ blokai priekyje src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ blokas priekyje src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ blokai už src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ blokas už src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Vidutinis bloko laikas src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Arba 2x daugiau už minimalų arba žemo prioriteto tarifas (pagal tai kuris mažesnis) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Jokio Prioriteto src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Paprastai įkelia jūsų sandorį tarp antrojo ir trečiojo atminties telkinio blokų src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Žemas src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Paprastai įkelia jūsų sandorį tarp pirmojo ir antrojo atminties telkinio blokų src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Vidutinis src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Įkelia jūsų sandorį į pirmąjį atminties telkinio bloką src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Aukštas - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Įeinantys sandoriai src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Sistema sinchronizuojasi src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Nepatvirtinta + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempool dydis src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Maišos Dažnis src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Maišos Dažnis ir Sudėtingumas src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Maišos dažnis (JV) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Grafikai src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Kasimo Duomenys src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ "Lightning" Naršyklė src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Dokumentacija src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks mempool blokų krūva src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Mempool blokas src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Intervalas src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Suma src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Atlygio statistika @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Naujausi blokai + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Transliuoti Sandorį + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Telkinio sėkmė + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Bendra visų kasimo telkinių sėkmė per praėjusią savaitę. Sėkmė, didesnė nei 100 %, reiškia, kad vidutinis einamosios epochos bloko laikas yra trumpesnis nei 10 minučių. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Suskaičiuota telkinių + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Kiek unikalių telkinių rado bent vieną bloką per paskutinę savaitę. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Paskutinę savaitę rastų blokų skaičius. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Reitingas src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Vid. sveikata src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Tušti blokai + + Avg Block Fees + Vid. Bloko Mokesčiai src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Visi kasėjai src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Telkinių sėkmė (1 sav.) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Suskaičiuota Telkinių (1 sav.) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Kasimo Telkiniai @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks blokai src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Kita () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ kasimo telkinys src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Žymos src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Rodyti viską src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Slėpti src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Maišos Dažnis (24 val.) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Spėjama + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Pranešta - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Sėkmė - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Rasta blokų - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24 val - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1 sav src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Iškasta + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Monetų bazės žyma src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Transliuoti Sandorį + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Sandorio hex @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Pirma pamatytas + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Radimo atlygis @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Suma, mokama kasėjams per paskutinius 144 blokus src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Vid. Bloko Mokesčiai - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Vid. mokesčiai už bloką per paskutinius 144 blokus src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/blokas src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Vid. mokestis už sandorį per paskutinius 144 blokus src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Atlygis už Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Tyrinėk visą Bitkoino ekosistemą src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Ieškoti src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV vaizdas src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filtruoti src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Apversti src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Operacijos vBaitai per sekundę (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Dabar src/app/components/time/time.component.ts - 79 + 90 ago Prieš - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Už ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Už ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Po src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Po src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Monetų bazė + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Šis sandoris buvo pakeistas į šį: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Šis sandoris pakeitė šį: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Pakeista - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Nepatvirtinta - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Pirma pamatytas - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Tikimasi src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Po kelių valandų (ar daugiau) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Palikuonis src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Protėvis src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Srautas src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Slėpti diagramą src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Rodyti daugiau src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Rodyti mažiau src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Rodyti diagramą src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Užrakinimo laikas src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Sandoris nerastas. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Laukiama pasirodymo atmintinėje... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Efektyvus mokesčių tarifas + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Monetų bazė - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Naujai Sugeneruotos Monetos) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Prisegimas src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Liudytojas src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH išpirkimo skriptas src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapskriptas src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH liudininko skriptas src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Ankstesnės išvesties skriptas src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Ankstesnės išvesties tipas src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Atsegti į src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Žiūrėti daugiau įvesčių kad matyti mokesčių duomenis src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ liko src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Šis sandoris naudojo „Taproot“ ir jau sutaupė bent % mokesčių, bet gali sutaupyti papildomai % pilnai išnaudojant Taproot @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Ši operacija nepalaiko "Replace-By-Fee" (RBF) ir negali būti paspartinta. @@ -5308,25 +5883,48 @@ Sandorių Mokesčiai src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Naujausi sandoriai + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Minimalus mokestis src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Valymas src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Atminties naudojimas - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC apyvartoje src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space teikia duomenis apie Bitkoino tinklą. Projektas negali padėti atgauti prarastų lėšų, greičiau patvirtinti operaciją ir pan. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API paslauga src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Galutinis taškas src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Apibūdinimas src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Numatytas passtūmimas: veiksmas: 'want', data: ['blocks', ...] , išreikšti tai, ką norite pastūmėti. Galimi: blokai , mempool blokai , realaus laiko-2val grafikas , ir statistika . Pastūmėti sandorius susietus su adresu: 'track-address': '3PbJ...bF9B' priimti visus naujus sandorius susietus su adresu kaip įvestis ar išvestis. Pateikiama kaip sandorių rinkinys. adreso-sandoriainaujiems mempool sandoriams, ir bloko sandoriainaujiems bloke patvirtintoms sandoriams. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Kodo Pavyzdys src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Įdiegti Paketą src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Atsakymas src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - DUK src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Pradinis balansas src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Uždarymo balansas src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ "Lightning" kanalas src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Neaktyvus src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Aktyvus src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Uždarytas src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Sukurta src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Talpa src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel "Lightning" kanalas src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Atnaujinta src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Uždarymo data src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Uždarė src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Atidarymo sandoris src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Uždarymo sandoris src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Atidarytas src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Nėra kanalų, kuriuos būtų galima rodyti src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Pseudonimas src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Būsena - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID Kanalo ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg vid. src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ med. src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Vid. Talpa src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Vid. Mokesčio Tarifas src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Vidutinis maršruto mazgų imamas mokesčio tarifas, neatsižvelgiant į mokesčių tarifus > 0,5% arba 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Vidutinis Bazinis Mokestis src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Vidutinis bazinis mokestis, kurį ima maršruto parinkimo mazgai, neatsižvelgiant į bazinius mokesčius > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Talpumo Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Mokesčio Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Maršrutizavimo mazgų imama mokesčio tarifo mediana, neatsižvelgiant į mokesčių tarifus > 0,5 % arba 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Bazinio Mokesčio Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Bazinio mokesčio mediana, kurią ima maršruto mazgai, neatsižvelgiant į bazinius mokesčius > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ "Lightning" mazgų grupė src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Mazgai src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Likvidumas src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Kanalai src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Vidutinis dydis src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Lokacija src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Tinklo Statistika @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Mokesčio išskirstymas @@ -6429,11 +7078,11 @@ Siuntimo Mokesčiai src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Gaunami Mokesčiai src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Praėjusios savaitės procentinis pokytis src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ "Lightning" mazgas src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Aktyvi talpa src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Aktyvūs kanalai src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Šalis src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Vidutinis kanalo dydis src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Vid. kanalo atstumas src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Spalva src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ IPT src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Tik Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Likvidumo skelbimas src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Nuomos mokesčio tarifas src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Nuomos bazinis mokestis src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Finansavimo svoris src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Kanalo mokesčio tarifas src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Kanalo bazinis mokestis src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Kompaktinė nuoma src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV pratęsimo įrašai src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Atviri kanalai src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Uždaryti kanalai src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Mazgas: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Be Tor mazgų) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Žaibatinklio Mazgų Kanalų Pasaulio Žemėlapis + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Geografinės vietos duomenų nėra src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Aktyvių kanalų žemėlapis src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Vyksta indeksavimas src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet ir Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Tik „Clearnet“ (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Tik „Darknet“ („Tor“, „I2P“, „cjdns“) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Dalis src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes mazgai src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC talpumas src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ IPT Skaičius src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Populiariausi IPT src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Clearnet Talpa src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Kiek likvidumo turi mazgai, paskelbę bent vieną „clearnet“ IP adresą src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Nežinoma Talpa src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Kiek likvidumo turi mazgai, kurių IPT neatpažintas src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Tor Talpa src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Kiek likvidumo turi mazgai, paskelbę tik „Tor“ adresus src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ 100 geriausių IPT, kuriuose yra LN mazgai src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Vyksta indeksavimas + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ "Lightning" IPT src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Top šalis src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Top mazgas src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: "Lightning" mazgai pagal IPT: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Aktyvūs mazgai src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Top 100 seniausių "Lightning" mazgų src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Seniausi mazgai @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Vyksta indeksavimas + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Nepatvirtinta + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Paslaugų Teikimo Sąlygos + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Privatumo Politika + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.mk.xlf b/frontend/src/locale/messages.mk.xlf index 848cdf8d7..27d1ed137 100644 --- a/frontend/src/locale/messages.mk.xlf +++ b/frontend/src/locale/messages.mk.xlf @@ -5,273 +5,271 @@ Close Затвори - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Слајд of - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Претходен - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Наредно - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Избери месец - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Избери година - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Претходен месец - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Нареден месец - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Прв - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Претходен - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Наредно - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Последно - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH ЧЧ - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Часови - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - ММ - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Минути - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Зголеми часови - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Намали часови - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Зголеми минути - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Намали минути - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - СС - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Секунди - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Зголеми секунди - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Намали секунди - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Затвори - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Избери месец + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Претходен месец + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Часови + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Претходен + + node_modules/src/ngb-config.ts + 13 + + + + MM + ММ + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Избери година + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Нареден месец + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Наредно + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Минути + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Зголеми часови + + node_modules/src/ngb-config.ts + 13 + + + + First + Прв + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Претходен + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Намали часови + + node_modules/src/ngb-config.ts + 13 + + + + Next + Наредно + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Зголеми минути + + node_modules/src/ngb-config.ts + 13 + + + + Last + Последно + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Намали минути + + node_modules/src/ngb-config.ts + 13 + + + + SS + СС + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Секунди + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Зголеми секунди + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Намали секунди + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Блок @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Блок : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ Блокови src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Број src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Потврдена src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Трансакции src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Обем на Тргување src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Маркети src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Bitcoin Маркети src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Цена src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Последни Тргувања src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Ценовен Индекс src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Моментална Цена src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Види повеќе » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Услови на Користење - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Полиса за Приватност - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Куповни Понуди src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Продажби src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Вредност () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ статистики @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Дата src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Износ src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Трансакција src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - конфирмација - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - конфирмации - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Вклучена во блок src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Карактеристики src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Провизија на vBype src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Детали src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Влезови / Излези src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ Трансакции src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Потврдено src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Филтер src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Избери се src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Тргувања @@ -1443,7 +1452,7 @@ Mempool Проект со Отворен Код src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Нашиот mempool и blockchain прелистувач за Bitcoin заедницата, се фокусира на провизиите за трансакциите и повеќе слојниот екосистем, комплетно независно од трети страни. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Корпоративни Спонзори 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Спонзори од Заедницата ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Интеграции од заедницата src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Соработка со Заедницата src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Преведувачи src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Контрибутори src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Членови на проектот src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Одржувачи на проектот src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ За нас src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig од @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Адреса: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Група на асети src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Тикер src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Емитент src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ID на средството src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Грешка во вчитувањето на податоците за средствата. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Офлајн src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Повторно поврзување... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Секундарна мрежа src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Почетна src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Статистика src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Документација src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Стапка на Провизии по Блок src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Во блок: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Околу блок: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Провизии по Блок src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Индексирање на блоковите src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Нема доволно податоци за приказ. Обиди се повторно. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ не е достапно src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Провизиска ставка @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Ефективна профизија src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Виртуелна големина + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Статус на ревизија + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Се совпаѓа + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Одстрането + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Маргинална стапка на провизија + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Скоро емитиран + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Додадено + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Награди по Блок + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Големина и тежина на Блокот + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Големина + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Тежина + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Големина по тежина + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Блок : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Блок + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Средна провизија + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Вкупно провизија + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Мајнер + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Нареден Блок + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Претходен Блок + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Вистинитост + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Непознат + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Оспег на провизии + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Базирано на просечна segwit трансакција од 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Виртуелна големина - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Статус на ревизија - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Се совпаѓа - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Одстрането - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Маргинална стапка на провизија - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Скоро емитиран - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Додадено - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Точност на предвидување по Блок - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Нема доволно податоци за приказ. Обиди се повторно. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Стапка на совпаѓање - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Награди по Блок - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Големина и тежина на Блокот - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Големина - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Тежина - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Големина по тежина - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Блок - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Средна провизија - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Вкупно провизија - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Мајнер - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Блок : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Нареден Блок - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Претходен Блок - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Вистинитост - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Непознат - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Оспег на провизии - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Базирано на просечна segwit трансакција од 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Награда + провизии src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Очекувано src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ бета src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Реален src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Очекуван Блок src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Реален Блок src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Битови src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Сложеност src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Хекс од заглавието на блокот src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Ревизија src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Детали src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Грешка при вчитување. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Зошто овој блок е празен? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Пронајден - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Награда src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Провизии src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ Трансакции src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Копирано! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Висок Приоритет + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Непотврдени + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Променето src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Промена во % src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Промена на тежината на копање src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Преостануваат src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - блокови + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Проценка src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Претходно src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Моментално src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Наредно преполовување src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ очекувани блокови src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ очекуван блок src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ пронајдени блокови src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ пронајден блок src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ преостанати блокови src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ преостанат блок src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ блокови напред src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ блок напред src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ блокови назад src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ блок назад src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Просечно време до блок src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ 2х од минимумот или стапката за Низок Приоритет (кое и да е пониско) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Без приоритет src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Обично ја става вашата трансакција помеѓу вториот и третиот мемпул блок src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Низок Приоритет src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Обично ја става вашата трансакција помеѓу првиот и вториот мемпул блок src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Среден Приоритет src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Ја става вашата трансакција во првиот мемпул блок src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Висок Приоритет - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Нови трансакции src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Се синхронизира во позадина src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Непотврдени + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Големина на mempool-от src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Хашрејт src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Хашрејт & Тежина на копање src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Хашрејт (МА) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Графици src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Копање src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Lightning Прелистувач src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Документација src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Збир од mempool блокови src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Mempool блок src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Опсег src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Сума src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Статистика за награди @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Последни блокови + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Емитирај ја Трансакцијата + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Среќа на пулови + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Целокупната среќа на сите мајнинг пулови во текот на изминатата недела. Среќа поголема од 100% значи дека просечното време на пронаоѓање на блок за тековната епоха е помалку од 10 минути. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Број на пулови + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Број на уникатни пулови кои пронајдоа барем еден блок во последната недела. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Бројот на блокови пронајдени во последната недела. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Ранк src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Прос. Вистинитост src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Празни блокови + + Avg Block Fees + Прос. провизија по Блок src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Сите мајнери src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Среќа на пулови (1н) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Број на пулови (1н) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Мајнинг Пул @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks блокови src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Други () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ мајнинг пул src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Тагови src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Покажи ги сите src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Сокриј src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Хашрејт (24ч) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Проценето + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Пријавени - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Среќа - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Пронајдени блокови - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24ч - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Пронајден + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Таг од ковачницата src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Емитирај ја Трансакцијата + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Трансакциски хекс @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Пратена + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Награда за Мајнери @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Сума исплатена на мајнерите во последните 144 блокови src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Прос. провизија по Блок - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Просечни провизии по блок во последните 144 блокови src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/блок src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Провизија платена во просек на секоја трансакција во последните 144 блокови src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Награда по Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Истражете го во целост Bitcoin екосистемот src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Пребарувај src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV преглед src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Филтер src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Инвертирај src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Трансакциски vBytes во секунда (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Штотуку src/app/components/time/time.component.ts - 79 + 90 ago Пред - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - За ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + За ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - После src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + После src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Ковачница + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Оваа трансакција беше заменета од: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Оваа трансакција ја замени: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Заменето - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Не е потврдена - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Пратена - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Потврдена src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ За неколку часа (или повеќе) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Наследник src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Претходник src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Тек src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Сокриј го дијаграмот src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Прикажи повеќе src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Прикажи помалку src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Прикажи го дијаграмот src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Трансакцијата не е пронајдена src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Се чека да се појави во mempool-от... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Ефективна профизија + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Ковачница - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Ново создадени монети) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Сведок src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Претходни излезни скрипти src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Претходен тип на излезот src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out кон src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Прикажи повеќе влезови за да ја откриеш провизијата src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ преостанато src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Оваа трансакција користи Taproot и веќе заштеди барем % во провизии, но можеше да заштеди дополнителни % доколку целосно користеше Taproot @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Оваа трансакција нема подршка за Replace-By-Fee (RBF) и провизијата не може да биде зголемена користејќи го овој метод @@ -5308,25 +5883,48 @@ Моментални провизии src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Последни трансакции + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Минимум src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Отфрлање src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Искористена меморија - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC во циркулација src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space само овозможува информации за Bitcoin мрежата. Во никој случај неможи да ви помогни во повраток на средства, побрзо потврдување на вашата трансакција и сл. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API сервис src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Endpoint src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Опис src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Објавување: action: 'want', data: ['blocks', ...] за да специфираш што да биде објавено. Достапни полиња: blocks, mempool-blocks, live-2h-chart, и stats.Објави трансакции поврзани со адресса: 'track-address': '3PbJ...bF9B' за да ги добиеш сите нови трансакции што ја содржат таа адреса како влез или излез. Враќа низа од транссакции. address-transactions за нови трансакции во mempool-от, и block-transactions за поврдени трансакции во најновиот блок. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Пример за Код src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Инсталациски Пакет src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Одговор src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - ЧПП src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Баланс при отварање src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Баланс при затварање src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ lightning канал src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Неактивен src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Активен src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Затворен src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Создаден src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Капацитет src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Lightning канал src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Последна промена src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Дата на затварање src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Затворен од src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Трансакција на отварање src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Трансакција на затварање src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Отворен src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Нема канали за прикажување src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Прекар src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Статус - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID на каналот src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg прос. src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ сред. src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Прос. Капацитет src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Просечна провизија src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Просечната стапка на провизија што ја наплаќаат рутирачките нодови, игнорирајќи провизиите > 0,5% или 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Прос. Основна Провизија src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Просечна онсновна провизија што ја наплаќаат рутирачките нодови, игнорирајќи основни провизии > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Среден Капацитет src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Средна Стапка на Провизија src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Средна стапка на провизија наплатена од рутирачките нодови, игнорирајќи ги стапките на провизија > 0,5% или 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Средна Основна Провизија src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Средна стапка на основна провизија наплатена од рутирачките нодови, игнорирајќи основни провизии > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Група на lightning нодови src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Нодови src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Ликвидност src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Канали src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Просечна големина src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Локација src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Статистика за мрежата @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Дистрибувија на провизија @@ -6429,11 +7078,11 @@ Излезни провизии src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Влезни провизии src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Неделна промена во % src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Lightning нод src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Активен капацитет src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Активни канали src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Држава src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Просечна големина на канал src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Прос. одалеченост на каналите src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Боја src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Исклучиво на Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Реклама за ликвидност src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Стапка на провизија за наем src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Основна провизија за наем src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Тежина при основање src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Стапка на провизија за канал src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Основна провизија за канал src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Компактен наем src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ Записи за продолжување на TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Отворени канали src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Затворени канали src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Нод: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Без Tor нодовите) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Мапа на Lightning Канали + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Нема информација за геолокацијата src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Мапа со активни канали src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Се индексира src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet и Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Само Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Само Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Удел src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes нодови src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC капацитет src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Вкупно ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Најдобри ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Капацитет на Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Колку ликвидност има на нодовите кои имаат барем една clearnert IP адреса src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Непознат капацитет src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Колку ликвидност има на нодовите на кои интернет провајдерот не може да се идентификува src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Капацитет на Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Колку ликвидност има на нодовите кои се на Tor мрежата src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Топ 100 ISPs кои хостираат LN нодови src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Индексирањето е во прогрес + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Најдобра држава src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Топ нод src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Lightning нодови на ISP: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Активни нодови src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Топ 100 најстари lightning нодови src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Најстари нодови @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Индексирањето е во прогрес + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Не е потврдена + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Услови на Користење + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Полиса за Приватност + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.nb.xlf b/frontend/src/locale/messages.nb.xlf index 3931822e3..0360c69c9 100644 --- a/frontend/src/locale/messages.nb.xlf +++ b/frontend/src/locale/messages.nb.xlf @@ -5,273 +5,271 @@ Close Lukk - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Bilde av - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Forrige - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Neste - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Velg måned - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Velg år - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Forrige måned - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Neste måned - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Første - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Forrige - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Neste - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Siste - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH TT - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Timer - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minutter - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Øk timer - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Reduser timer - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Øk minutter - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Reduser minutter - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Sekunder - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Øk sekunder - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Reduser sekunder - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Lukk - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Velg måned + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Forrige måned + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Timer + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Forrige + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Velg år + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Neste måned + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Neste + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minutter + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Øk timer + + node_modules/src/ngb-config.ts + 13 + + + + First + Første + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Forrige + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Reduser timer + + node_modules/src/ngb-config.ts + 13 + + + + Next + Neste + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Øk minutter + + node_modules/src/ngb-config.ts + 13 + + + + Last + Siste + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Reduser minutter + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Sekunder + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Øk sekunder + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Reduser sekunder + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Blokk @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Blokk : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ-blokker src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Høyde src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Bekreftet src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Transaksjoner src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Bisq handelsvolum src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Markeder src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Bitcoin Markeder src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Pris src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Siste handler src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq prisindeks src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Bisq markedspris src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Se mer » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Bruksvilkår - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Personvernerklæring - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Kjøp tilbud src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Selg tilbud src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Beløp () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ statistikk @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Dato src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Beløp src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Transaksjon src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - bekreftelse - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - bekreftelser - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Inkludert i blokk src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Funksjoner src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Avgift per vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detaljer src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Innganger & Utganger src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ Transaksjoner src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Bekreftet src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Filter src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Velg alle src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Handler @@ -1443,7 +1452,7 @@ Åpen kildekode-prosjektet The Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Vår mempool- og blokkkjede-utforsker for Bitcoin-samfunnet, med fokus på transaksjonsgebyrmarkedet og flerlagsøkosystemet, fullstendig self-hosted uten tredjeparter. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Bedriftssponsorer 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Samfunnssponsorer ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Sammfunnsintegrasjoner src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Samfunnsallianser src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Oversettere src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Bidragsytere til prosjektet src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Prosjektmedlemmer src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Prosjektvedlikeholdere src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Om src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisignatur av @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Adresse: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Gruppe av ressurser src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Utsteder-domene src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ Ressurs-ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Feil ved innlasting av ressursdata. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Offline src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Kobler til igjen... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Lag 2-nettverk src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Dashbord src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Statistikk src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Dokumenter src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Blokkavgiftsrater src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: I blokk: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Rundt blokk: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Blokkavgift src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indekserer blokker src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Ingen data å vise ennå. Prøv igjen senere. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ ikke tilgjengelig src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Avgift @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Effektiv avgift src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Virtuell størrelse + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Revisjonsstatus + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Identisk + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Fjernet + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Marginal avgiftsats + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Nylig sendt + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Lagt til + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Blokkbelønning + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Blokkstørrelse og vekt + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Størrelse + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Vekt + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Størrelse per vekt + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Blokk : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Blokk + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Medianavgift + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Totale avgifter + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Utvinner + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Neste blokk + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Forrige blokk + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Helse + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Ukjent + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Avgiftsintervall + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Basert på gjennomsnittlig native segwit-transaksjon på 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Virtuell størrelse - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Revisjonsstatus - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Identisk - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Fjernet - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Marginal avgiftsats - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Nylig sendt - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Lagt til - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Blokkprediksjonsnøyaktighet - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Ingen data å vise ennå. Prøv igjen senere. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Samsvarsfrekvens - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Blokkbelønning - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Blokkstørrelse og vekt - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Størrelse - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Vekt - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Størrelse per vekt - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Blokk - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Medianavgift - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Totale avgifter - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Utvinner - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Blokk : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Neste blokk - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Forrige blokk - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Helse - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Ukjent - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Avgiftsintervall - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Basert på gjennomsnittlig native segwit-transaksjon på 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Subsidie + avgifter src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Forventet src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Faktisk src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Forventet blokk src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Faktisk blokk src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merklerot src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Vanskelighetsgrad src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Blokkheader Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Revisjon src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Detaljer src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Lasting av data feilet. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Hvorfor er denne blokken tom? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Utvunnet - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Belønning src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Avgifter src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Kopiert! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Høy prioritet + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Ubekreftet + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Justert src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Endring src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Vanskelighetsgradjustering src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Gjenstående src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - blokker + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Anslag src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Forrige src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Nåværende periode src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Neste halvering src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ blokker forventet src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ blokk forventet src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ blokker utvunnet src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ blokk utvunnet src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ blokker gjenstår src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ blokk gjenstår src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ blokker foran src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ blokk foran src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ blokker bak src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ blokk bak src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Gjennomsnittlig blokktid src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Enten 2x av minimum eller lav prioritetsrate (den som er lavest) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Ingen prioritet src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Plasserer vanligvis transaksjonen din mellom andre og tredje mempool-blokken src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Lav prioritet src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Plasserer vanligvis transaksjonen mellom den første og andre mempool-blokken src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Medium prioritet src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Legger din transaksjon inn i den første mempool blokken src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Høy prioritet - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Innkommende transaksjoner src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Backend synkroniserer src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Ubekreftet + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempool størrelse src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Hashrate og vanskelighetsgrad src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Hashrate (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Grafer src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Utvinning Dashboard src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Lightning Explorer src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Dokumentasjon src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Stabel med mempoolblokker src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Mempool blokk src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Område src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Sum src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Belønnings-statistikk @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Nyeste blokker + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Send transaksjon + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Flaks + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Den generelle flaksen til alle utvinningsgrupper den siste uken. En flaks større enn 100 % betyr at den gjennomsnittlige blokktiden for gjeldende epoke er mindre enn 10 minutter. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Antall grupper + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Antall unike grupper som har funnet minst én blokk i løpet av den siste uken. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Antall blokker funnet den siste uken. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Rang src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Gj.sn. helse src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Tomme blokker + + Avg Block Fees + Gj.sn. blokkavgift src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Alle utvinnere src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Utvinningsgrupper flaks (1uke) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Antall utvinningsgrupper (1uke) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Utvinningsgrupper @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks blokker src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Annet () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ utvinningssamfunn src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Tagger src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Vis alt src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Gjemm src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Hashrate (24t) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Estimert + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Rapportert - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Flaks - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Utvunnede blokker - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24t - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1uke src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Utvunnet + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Coinbase tagg src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Send transaksjon + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Transaksjon i hex @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Først sett + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Utvinnerbelønning @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Beløp som er betalt til utvinnere for de siste 144 blokkene src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Gj.sn. blokkavgift - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Gjennomsnittlige avgifter per blokk i de siste 144 blokkene src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/blokk src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Avgift betalt i gjennomsnitt for hver transaksjon i de siste 144 blokkene src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Belønning per tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Utforsk hele Bitcoin-økosystemet src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Søk src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV-modus src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filter src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Inverter src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Transaksjoner per sekund (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Akkurat nå src/app/components/time/time.component.ts - 79 + 90 ago siden - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Om ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Om ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Etter src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Etter src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Denne transaksjonen har blitt byttet ut med: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Denne transaksjonen erstattet: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Erstattet - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Ubekreftet - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Først sett - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Om flere timer(eller mer) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Etterkommer src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Forfader src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor - - Flow - Strømm + + RBF History src/app/components/transaction/transaction.component.html - 202,205 + 218 + + RBF History + transaction.rbf-history + + + Flow + Strøm + + src/app/components/transaction/transaction.component.html + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Skjul diagram src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Vis mer src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Vis mindre src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Vis diagram src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transaksjon ikke funnet src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Venter på at den kommer inn i mempool... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Effektiv avgift + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Nygenererte Mynter) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-inn src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig(ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig(HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Forrige utgangs-script src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Tidligere utdatatype src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out til src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Vis mer inndata for å avsløre avgiftsdata src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ gjenstår src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Denne transaksjonen bruker Taproot og har allerede spart minst % på avgifter, men kan spare ytterligere % ved å bruke Taproot fullt ut @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Denne transaksjonen støtter IKKE Replace-By-Fee (RBF), avgiften kan derfor ikke endres. @@ -5308,25 +5883,48 @@ Transaksjonsavgift src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Nyeste transaksjoner + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Minimumsavgift src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Fjerner src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Minnebruk - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC i omløp src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space gir bare data om Bitcoin-nettverket. Den kan ikke hjelpe deg med å hente verdier, bekrefte transaksjonen raskere osv. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API-tjeneste src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Endepunkt src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Beskrivelse src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Standard push: handling: 'want', data: ['blocks', ...] for å uttrykke hva du vil ha pushet. Tilgjengelig: blocks , mempool-blocks , live-2h-chart , og stats . Push-transaksjoner relatert til adresse: 'track-address': '3PbJ...bF9B' for å motta alle nye transaksjoner som inneholder den adressen som inngang eller utgang. Returnerer en tabell av transaksjoner. adress-transactions for nye mempool-transaksjoner, og block-transactions for nye blokkbekreftede transaksjoner. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Kodeeksempel src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Installer pakke src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Respons src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Startbalanse src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Sluttbalanse src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ Lightning-kanal src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Inaktiv src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Aktiv src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Avsluttet src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Opprettet src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Kapasitet src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Lightningkanal src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Siste oppdatering src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Sluttdato src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Avsluttet av src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Åpningstransaksjon src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Avsluttningstransaksjon src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Åpen src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Ingen kanaler å vise src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID Kanal-ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg gj.sn src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ median src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Gj.sn. kapasitet src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Gj.sn. avgiftssats src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Gjennomsnittlig avgiftssats som belastes av rutingsnoder, ignorerer avgiftssatser > 0,5 % eller 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Gj.sn. basisavgift src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Den gjennomsnittlige basisavgiften som belastes av rutingsnoder, ignorerer basisavgifter > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Median kapasitet src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Median avgiftssats src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Medianavgiftssatsen som belastes av rutingsnoder, ignorerer avgiftssatser > 0,5 % eller 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Median basisavgift src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Median grunnavgift belastet av rutingnoder, ignorerer basisavgifter > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Ligthningnode-gruppe src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Noder src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Likviditet src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Kanaler src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Gjennomsnittsstørrelse src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Plassering src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Nettverksstatistikk @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Avgiftsfordeling @@ -6429,11 +7078,11 @@ Utgående avgifter src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Inngående avgifter src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Prosentvis endring siste uke src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Lightning-node src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Aktiv kapasitet src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Aktive kanaler src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Land src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Gj.sn. kanalstørrelse src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Gj.sn. kanalavstand src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Farge src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Eksklusivt på Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Likviditetsannonse src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Leieavgiftssats src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Leiegrunnavgift src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Finansieringsvekt src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Kanalavgiftssats src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Kanalbaseavgift src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Kompakt leieavtale src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV-utvidelsesposter src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Åpne kanaler src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Avsluttede kanaler src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Node: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Tor-noder ekskludert) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Lightning-kanaler verdenskart + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Ingen geolokaliseringsdata tilgjengelig src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Kart over aktive kanaler src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indeksering pågår src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet og Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Bare Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Bare Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Andel src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes noder src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC-kapasitet src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Antall ISPer src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Topp ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Clearnet kapasitet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Hvor mye likviditet er det på noder som annonserer minst én clearnet IP-adresse src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Ukjent kapasitet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Hvor mye likviditet er det på på noder der ISP ikke var identifiserbar src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Tor kapasitet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Hvor mye likviditet er det på noder som kun annonserer Tor-adresser src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Topp 100 ISPer som er vert for LN-noder src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indeksering pågår + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Topp land src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Topp node src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Lightning-noder på ISP: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Aktive noder src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Topp 100 eldste lightning-noder src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Eldste noder @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indeksering pågår + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Ubekreftet + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Bruksvilkår + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Personvernerklæring + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.ne.xlf b/frontend/src/locale/messages.ne.xlf index 1408a0225..40e3264da 100644 --- a/frontend/src/locale/messages.ne.xlf +++ b/frontend/src/locale/messages.ne.xlf @@ -5,271 +5,271 @@ Close बन्द - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - अघिल्लो - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - अर्को - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - महिना छान्नुहोस - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - वर्ष छान्नुहोस - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - अघिल्लो महिना - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - अर्को महिना - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - पहिलो - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - अघिल्लो - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - अर्को - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - अन्तिम - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH एचएच - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - घण्टा - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - एम्एम् - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - मिनेट - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - घण्टा बढाउनुहोस् - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - घण्टा घटाउनुहोस् - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - मिनेट बढाउनुहोस् - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - मिनेट घटाउनुहोस् - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - एसएस - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - सेकेन्ड - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - सेकेन्ड बढाउनुहोस् - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - सेकेन्ड घटाउनुहोस् - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close बन्द - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + महिना छान्नुहोस + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + अघिल्लो महिना + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + घण्टा + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + अघिल्लो + + node_modules/src/ngb-config.ts + 13 + + + + MM + एम्एम् + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + वर्ष छान्नुहोस + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + अर्को महिना + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + अर्को + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + मिनेट + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + घण्टा बढाउनुहोस् + + node_modules/src/ngb-config.ts + 13 + + + + First + पहिलो + + node_modules/src/ngb-config.ts + 13 + + + + Previous + अघिल्लो + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + घण्टा घटाउनुहोस् + + node_modules/src/ngb-config.ts + 13 + + + + Next + अर्को + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + मिनेट बढाउनुहोस् + + node_modules/src/ngb-config.ts + 13 + + + + Last + अन्तिम + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + मिनेट घटाउनुहोस् + + node_modules/src/ngb-config.ts + 13 + + + + SS + एसएस + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + सेकेन्ड + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + सेकेन्ड बढाउनुहोस् + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + सेकेन्ड घटाउनुहोस् + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -315,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -357,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -382,26 +382,33 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural Address: - ठेगाना + ठेगाना: src/app/bisq/bisq-address/bisq-address.component.ts 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block ब्लक @@ -424,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -441,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -488,7 +495,14 @@ ब्लक : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -496,7 +510,7 @@ BSQ ब्लकहरू src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -505,31 +519,31 @@ ऊचाई src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -538,7 +552,7 @@ पक्का / पुष्टि src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -547,7 +561,7 @@ ट्रांसेक्शन src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -559,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -580,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -604,11 +637,11 @@ Bisq ट्रेडिंग मात्रा src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -617,11 +650,11 @@ बजार src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -630,11 +663,11 @@ बिटकॉइन बजार src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -655,15 +688,15 @@ मूल्य src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -675,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -705,24 +742,38 @@ भर्खरका ट्रेड्सहरू src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index बिस्क मूल्य इंडेक्स src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -731,7 +782,7 @@ बिस्क बजार इंडेक्स src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -740,11 +791,11 @@ अरु पनि हेर्नुहोस् src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -764,68 +815,12 @@ dashboard.view-more - - Terms of Service - सेवाका सर्तहरु - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - गोपनीयता नीति - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers किन्ने प्रस्तावहरू src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -834,7 +829,7 @@ बेच्ने प्रस्तावहरू src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -843,14 +838,28 @@ रकम () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ तथ्याङ्क @@ -903,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -924,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -979,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date मिति src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -992,11 +1008,11 @@ रकम src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1004,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1048,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1068,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1081,23 +1097,27 @@ ट्रांसेक्शन src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1105,56 +1125,12 @@ shared.transaction - - confirmation - पुष्टिकरण - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - पुष्टिकरणहरू - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block ब्लकमा समावेश src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1164,15 +1140,19 @@ विशेषताहरु src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1182,29 +1162,38 @@ शुल्क प्रति vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details विवरण src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1213,19 +1202,19 @@ इनपुट र आउटपुट src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1239,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1251,7 +1247,7 @@ BSQ ट्रांसेक्शनहरू src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1259,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1275,11 +1275,15 @@ पक्का / पुष्टि src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1317,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1401,7 +1405,7 @@ फिल्टर src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1409,7 +1413,7 @@ सबै छान्नु src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1420,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades ट्रेडहरू @@ -1441,33 +1452,64 @@ मेमपूल ओपन सोर्स प्रोजेक्ट src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties. - Bitcoin समुदायको लागि हाम्रो mempool र blockchain अन्वेषक, लेनदेन शुल्क बजार र बहु-तह इकोसिस्टममा ध्यान केन्द्रित गर्दै, कुनै पनि विश्वसनीय तेस्रो-पक्ष बिना पूर्ण रूपमा स्व-होस्ट गरिएको। + बिटकोइन समुदायको लागि हाम्रो मेहमपुल र ब्लकचेन अन्वेषक, लेनदेन शुल्क बजार र बहु-तह इकोसिस्टममा ध्यान केन्द्रित गर्दै, कुनै पनि विश्वसनीय तेस्रो-पक्ष बिना पूर्ण रूपमा स्व-होस्ट गरिएको। src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 एंटरप्राइज़ प्रायोजक 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - समुदाय प्रायोजक ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1476,7 +1518,7 @@ समुदाय एकीकरण src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1485,7 +1527,7 @@ सामुदायिक गठबन्धनहरू src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1494,7 +1536,7 @@ परियोजना अनुवादकहरू src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1503,7 +1545,7 @@ परियोजना योगदानकर्ताहरू src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1512,7 +1554,7 @@ परियोजना सदस्यहरू src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1521,7 +1563,7 @@ परियोजना संरक्षकहरू src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1530,21 +1572,177 @@ विवरण src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + स्याट + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats / सैटस + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + स्याट/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig of @@ -1579,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1591,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1603,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1612,11 +1810,22 @@ ठेगानाहरू: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1648,6 +1857,7 @@ There many transactions on this address, more than your backend can handle. See more on setting up a stronger backend. Consider viewing this address on the official Mempool website instead: + यस ठेगानामा धेरै लेनदेनहरू छन्, तपाईको ब्याकइन्डले ह्यान्डल गर्न सक्ने भन्दा बढी। अझ धेरै हेर्नुहोस् एक बलियो ब्याकइन्ड स्थापना . यसको सट्टा आधिकारिक मेमपूल वेबसाइटमा यो ठेगाना हेर्न विचार गर्नुहोस्: src/app/components/address/address.component.html 134,137 @@ -1673,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1805,13 +2019,14 @@ Group of assets + समूह को एसेटहरू src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1831,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1852,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1889,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker टिकर src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1907,11 +2133,11 @@ जारीकर्ता डोमेन src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1920,11 +2146,11 @@ सम्पत्ति/एसेट आईडी src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1933,7 +2159,7 @@ एसेट/सम्पत्ति डेटा लोड गर्दा त्रुटि। src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1942,15 +2168,15 @@ अफलाइन src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1959,15 +2185,15 @@ पुन: कनेक्ट गर्दै... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1976,15 +2202,15 @@ लेयर 2 नेटवर्क्स src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1993,15 +2219,15 @@ डैशबोर्ड src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2010,7 +2236,7 @@ तथ्याङ्क src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2019,11 +2245,11 @@ कागजातहरू src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2032,7 +2258,7 @@ ब्लक शुल्क दरहरू src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2044,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: ब्लक: मा src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2065,15 +2298,15 @@ ब्लक: वरपर src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2081,7 +2314,7 @@ ब्लक शुल्क src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2093,27 +2326,35 @@ mining.block-fees - - Indexing blocks + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 68 + + + + Indexing blocks + अनुक्रमणिका ब्लकहरू + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2121,18 +2362,76 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + देखाउनको कुनै डाटा छैन। पछि फेरि प्रयास गर्नुहोस्। + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 not available + उपलब्ध छैन src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2143,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2157,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - सैट - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate शुल्क दर @@ -2193,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2205,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - सैट/vB + + Effective fee rate + प्रभावकारी शुल्क दर src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + वर्चुअल साइज + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + अदित स्थिति + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + बराबर + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + हटाइयो + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + सीमान्त शुल्क दर + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + भर्खरै प्रसारित + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + थपियो + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + ब्लक इनाम + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + ब्लक साइज र तौल + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + साइज + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + वजन + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + आकार प्रति वजन + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + ब्लक : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + ब्लक + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + मध्य शुल्क + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + कुल शुल्क + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + माइनर + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + अर्को ब्लक + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + अघिल्लो ब्लक + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + स्वास्थ्य + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + अज्ञात + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + शुल्क अवधि + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + 140 vBytes नेटिव सेगविट ट्रांसेक्शन सरदर को अनुसार + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2261,543 +3064,107 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - वर्चुअल साइज - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - थपियो - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - ब्लक भविष्यवाणी शुद्धता - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - देखाउनको कुनै डाटा छैन। पछि फेरि प्रयास गर्नुहोस्। - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - मिलान दर - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - ब्लक इनाम - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - ब्लक साइज र तौल - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - साइज - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - वजन - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - ब्लक - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - मध्य शुल्क - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - कुल शुल्क - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - माइनर - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - ब्लक : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - अर्को ब्लक - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - अघिल्लो ब्लक - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - अज्ञात - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - शुल्क अवधि - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - 140 vBytes नेटिव सेगविट ट्रांसेक्शन सरदर को अनुसार - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip Subsidy + fees + सरकारी आर्थीक सहायता + शुल्क src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees Expected + अपेक्षित src/app/components/block/block.component.html - 216 + 222 block.expected beta + बिता src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta Actual + वास्तविक src/app/components/block/block.component.html - 218,222 + 224 block.actual Expected Block + अपेक्षित ब्लक src/app/components/block/block.component.html - 222 + 228 block.expected-block Actual Block + वास्तविक ब्लक src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits बिट्स src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2806,7 +3173,7 @@ मर्कल रुट src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2815,27 +3182,27 @@ कठिनाई src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2844,7 +3211,7 @@ नोन्स src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2853,15 +3220,16 @@ ब्लक हेडर हेक्स src/app/components/block/block.component.html - 279,280 + 291 block.header Audit + अदित src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2871,23 +3239,31 @@ विवरण src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2897,31 +3273,32 @@ डाटा लोड गर्दा त्रुटि भयो। src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data Why is this block empty? + यो ब्लक किन खाली छ? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2934,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - खानी गरिएको - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward इनाम src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -2993,15 +3365,15 @@ शुल्क src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3010,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! प्रतिलिपि गरियो! @@ -3042,12 +3447,60 @@ 19 + + High Priority + उच्च प्राथमिकता + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + पक्का / पुष्टि नभएको + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted समायोजन गरियो src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3056,7 +3509,7 @@ परिवर्तन src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3065,11 +3518,11 @@ कठिनाई समायोजन / डिफीकल्टी एडजस्टमेंट src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3082,32 +3535,31 @@ बाँकी src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - ब्लकहरू + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3124,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3137,11 +3589,11 @@ अनुमान src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3150,11 +3602,11 @@ अघिल्लो src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3163,11 +3615,7 @@ वर्तमान अवधि src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3176,95 +3624,114 @@ अर्को हल्विंग src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving blocks expected + अपेक्षित ब्लकहरू src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks block expected + अपेक्षित ब्लक src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block blocks mined + उत्खनन गरिएको ब्लकहरू src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks block mined + उत्खनन गरिएको ब्लक src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block blocks remaining + बाँकी ब्लकहरू src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks block remaining + बाँकी ब्लक src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block blocks ahead + अगाडि ब्लकहरू src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead block ahead + ब्लक अगाडि src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead blocks behind + पछाडि ब्लकहरू src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind block behind + पछाडि ब्लक src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind Average block time + मध्य ब्लक समय src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3273,7 +3740,7 @@ या त 2x न्यूनतम, वा कम प्राथमिकता दर (जुन कम छ) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3282,11 +3749,11 @@ कुनै प्राथमिकता छैन src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3295,7 +3762,7 @@ सामान्यतया तपाईंको ट्रांसेक्शन लाई दोस्रो र तेस्रो मेम्पपुल ब्लकहरू बीचमा राख्छ src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3304,11 +3771,11 @@ कम प्राथमिकता src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3317,7 +3784,7 @@ सामान्यतया तपाईंको ट्रांसेक्शन लाई पहिलो र दोस्रो मेम्पुल ब्लकहरू बीचमा राख्छ src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3326,11 +3793,11 @@ मध्यम प्राथमिकता src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3339,33 +3806,16 @@ तपाईंको ट्रांसेक्शन लाई पहिलो मेम्पुल ब्लकमा राख्छ src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - उच्च प्राथमिकता - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions आगमन ट्रांसेक्शनहरू src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3374,47 +3824,47 @@ ब्याकइन्ड सिङ्क्रोनाइज हुँदैछ src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing vB/s + vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - पक्का / पुष्टि नभएको + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size मेम्पपुल साइज src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3437,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3450,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3474,13 +3924,14 @@ Lightning Nodes Per Network + लाइटनिंग नोड पर नेटवर्क src/app/components/graphs/graphs.component.html 33 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3488,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3501,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3509,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3522,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3535,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3552,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3569,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3578,27 +4029,27 @@ हसरेट src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3607,24 +4058,31 @@ हैसरेट र कठिनाई src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) हसरेट (एमए) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3654,15 +4112,15 @@ ग्राफहरू src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3671,11 +4129,15 @@ माईनिंग ड्यासबोर्ड src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3684,12 +4146,16 @@ लाइटनिङ एक्सप्लोरर src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3697,7 +4163,7 @@ कागजात src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3705,12 +4171,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks स्ट्याक मेम्पपुल ब्लकहरू src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3718,7 +4191,18 @@ मेम्पूल ब्लक src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3726,7 +4210,7 @@ श्रेणी src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3734,9 +4218,17 @@ कुल src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats इनाम तथ्याङ्क @@ -3755,18 +4247,21 @@ mining.144-blocks - - Latest blocks - भर्खरका ब्लकहरू + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3777,31 +4272,12 @@ dashboard.adjustments - - Broadcast Transaction - ट्रांसेक्शन प्रसारण गर्नुहोस् + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3812,20 +4288,24 @@ mining.miners-luck-1w - - Pools luck - पुल भाग्य + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck 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. + गत हप्तामा सबै खानी पूलहरूको समग्र भाग्य। 100% भन्दा ठूलो भाग्य भनेको वर्तमान युगको लागि औसत ब्लक समय 10 मिनेट भन्दा कम हो। src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3838,12 +4318,15 @@ mining.miners-count-1w - - Pools count - पुल गणना + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3852,7 +4335,7 @@ गत हप्तामा कतिवटा अद्वितीय पुलहरूले कम्तिमा एउटा ब्लक फेला पारे। src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3865,11 +4348,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3878,7 +4361,7 @@ गत हप्तामा भेटिएका ब्लकहरूको संख्या। src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3887,36 +4370,73 @@ श्रेणी src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank Avg Health + स्तर स्वास्थ्य src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - खाली ब्लकहरू + + Avg Block Fees + मध्यम ब्लक शुल्क src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3925,28 +4445,10 @@ सबै माईनर्स हरू src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - पूल भाग्य (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - पूल गणना (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools माईनिंग पुलहरू @@ -3955,38 +4457,47 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks + ब्लकहरू src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 Other () + अरू () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3994,11 +4505,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4006,56 +4517,68 @@ माईनिंग पुल src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools Tags + ट्यागहरू src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all सबै देखाऊ src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4064,7 +4587,7 @@ लुकाउनुहोस् src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4073,116 +4596,39 @@ हसरेट (24 घन्टा) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - अनुमानित + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - रिपोर्ट गरिएको - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - भाग्य - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - माईन गरिएको ब्लकहरू - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24 घन्टा - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4191,26 +4637,82 @@ 1 हप्ता src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + खानी गरिएको + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag + कोइनबैस ट्याग src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + ट्रांसेक्शन प्रसारण गर्नुहोस् + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex ट्रांसेक्शन हेक्स @@ -4220,10 +4722,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + पहिलो पटक देखियो + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward माईनर्स इनाम @@ -4233,11 +4878,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4246,48 +4891,43 @@ विगतका 144 ब्लकहरूमा माईनर्सहरूलाई भुक्तान गरिएको रकम src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks + एउटा ब्लकको मध्यम शुल्क विगतमा 144 ब्लकहरू src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc BTC/block + BTC/ब्लक src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block Avg Tx Fee + मध्यम कर शुल्क src/app/components/reward-stats/reward-stats.component.html 30 src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4296,7 +4936,7 @@ विगत 144 ब्लकहरूमा प्रत्येक ट्रांसेक्शनको लागि औसतमा भुक्तानी गरिएको शुल्क src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4305,30 +4945,25 @@ सैटस/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - प्रति Tx इनाम - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Bitcoin इकोसिस्टम पूर्ण अन्वेषण गर्नुहोस् src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4337,12 +4972,13 @@ खोज्नुहोस् src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title Bitcoin Block Height + बिटकोइन ब्लक उचाइ src/app/components/search-form/search-results/search-results.component.html 3 @@ -4351,6 +4987,7 @@ Bitcoin Transaction + बिटकोइन लेनदेन src/app/components/search-form/search-results/search-results.component.html 9 @@ -4359,6 +4996,7 @@ Bitcoin Address + बिटकोइन ठेगाना src/app/components/search-form/search-results/search-results.component.html 15 @@ -4367,6 +5005,7 @@ Bitcoin Block + बिटकोइन ब्लक src/app/components/search-form/search-results/search-results.component.html 21 @@ -4375,6 +5014,7 @@ Bitcoin Addresses + बिटकोइन ठेगानाहरू src/app/components/search-form/search-results/search-results.component.html 27 @@ -4383,6 +5023,7 @@ Lightning Nodes + लाइटनिङग नोडहरू src/app/components/search-form/search-results/search-results.component.html 35 @@ -4391,6 +5032,7 @@ Lightning Channels + लाइटनिङग च्यानलहरू src/app/components/search-form/search-results/search-results.component.html 43 @@ -4414,12 +5056,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view टिभी दृश्य src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4432,7 +5086,7 @@ फिल्टर src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4441,7 +5095,7 @@ उल्टो src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4450,69 +5104,43 @@ ट्रांसेक्शन vBytes प्रति सेकेन्ड (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now भर्खरै src/app/components/time/time.component.ts - 79 + 90 ago पहिले - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4521,16 +5149,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4554,24 +5191,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + लगभग src/app/components/time/time.component.ts 141 @@ -4580,17 +5209,25 @@ src/app/components/time/time.component.ts 142 - - - After - पछि src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4614,24 +5251,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + पछि src/app/components/time/time.component.ts 164 @@ -4640,89 +5269,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + कॉइनबेस + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: यो प्रतिस्थापन गरिएको छ: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - पक्का / पुष्टि नभएको - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - पहिलो पटक देखियो - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA अनुमानित समय src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4732,21 +5371,34 @@ केहि घण्टामा (वा बढी) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant वंशज src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4756,21 +5408,30 @@ पुर्खा src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow प्रवाह src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4780,7 +5441,7 @@ रेखाचित्र लुकाउनुहोस् src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4789,15 +5450,15 @@ थप देखाउनुहोस् src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4806,11 +5467,11 @@ कम देखाउनुहोस् src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4819,25 +5480,43 @@ रेखाचित्र देखाउनुहोस् src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime लकटाइम src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. ट्रांसेक्शन फेला परेन। src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4846,35 +5525,25 @@ मेम्पपुल मा देखिन को लागी प्रतिक्षा गर्दै ... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - प्रभावकारी शुल्क दर + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - कॉइनबेस - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (नयाँ उत्पन्न कोइन्स) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4883,7 +5552,7 @@ पेग-इन src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4892,7 +5561,7 @@ स्क्रिप्टसिग (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4902,7 +5571,7 @@ स्क्रिप्टसिग (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4912,7 +5581,7 @@ विटनेस src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4921,7 +5590,7 @@ P2SH रिडीम स्क्रिप्ट src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4930,7 +5599,7 @@ P2TR ट्यापस्क्रिप्ट src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4939,7 +5608,7 @@ P2WSH विटनेस स्क्रिप्ट src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -4948,7 +5617,7 @@ nसीक्वेंस src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -4957,7 +5626,7 @@ अघिल्लो आउटपुट स्क्रिप्ट src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -4966,7 +5635,7 @@ अघिल्लो आउटपुट प्रकार src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -4975,7 +5644,7 @@ मा पेग-आउट src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -4984,7 +5653,7 @@ स्क्रिप्टपबकी (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -4994,24 +5663,26 @@ स्क्रिप्टपबकी (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex Show more inputs to reveal fee data + शुल्क डेटा प्रकट गर्न थप इनपुटहरू देखाउनुहोस् src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info remaining + बाँकी src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5113,32 +5784,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot यो ट्रांसेक्शनले Taproot प्रयोग गरेर कम्तिमा % शुल्क बचत गरेको छ, तर Taproot को पूर्ण प्रयोग गरेर थप % बचत गर्न सक्छ। @@ -5159,6 +5804,7 @@ This transaction does not use Taproot + यो लेनदेन ट्यापरुट प्रयोग गर्दैन src/app/components/tx-features/tx-features.component.html 18 @@ -5183,20 +5829,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method यो ट्रांसेक्शनले Replace-By-Fee (RBF) लाई समर्थन गर्दैन र यो विधि प्रयोग गरेर शुल्क बम्प गर्न सकिँदैन। @@ -5218,7 +5850,7 @@ Only ~ sat/vB was needed to get into this block - यो ब्लकमा प्रवेश गर्न केवल ~ sat/vB आवश्यक थियो + यो ब्लकमा प्रवेश गर्न लगभग sat/vB आवश्यक थियो src/app/components/tx-fee-rating/tx-fee-rating.component.html 2 @@ -5248,25 +5880,48 @@ ट्रांसेक्शन शुल्क src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - भर्खरका ट्रांसेक्शनहरू + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee न्यूनतम शुल्क src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5276,58 +5931,55 @@ पर्जिंग / सफा src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - मेमोरी उपयोग - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation + L-BTC संचलनमा src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer REST API service + REST API सेवा src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title Endpoint + अन्तिम बिन्दु src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5336,46 +5988,52 @@ विवरण src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-blocks, live-2h-chart, and stats.Push transactions related to address: 'track-address': '3PbJ...bF9B' to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket Code Example + कोड उदाहरण src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example Install Package + प्याकेज स्थापना गर्नुहोस् src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5384,31 +6042,85 @@ प्रतिक्रिया src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - अकसर src/app/docs/docs/docs.component.ts - 34 + 45 - - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5420,7 +6132,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5432,15 +6144,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5482,6 +6194,7 @@ Min HTLC + न्यूनतम HTLC src/app/lightning/channel/channel-box/channel-box.component.html 57 @@ -5490,6 +6203,7 @@ Max HTLC + अधिकतम HTLC src/app/lightning/channel/channel-box/channel-box.component.html 63 @@ -5498,6 +6212,7 @@ Timelock delta + टाइमलक डेल्टा src/app/lightning/channel/channel-box/channel-box.component.html 69 @@ -5513,28 +6228,30 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels Starting balance + सुरुवात सन्तुलन src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance Closing balance + बन्द ब्यालेन्स src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5544,7 +6261,7 @@ लाइटनिंग च्यानल src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5553,15 +6270,15 @@ निष्क्रिय src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5570,15 +6287,15 @@ सक्रिय src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5587,19 +6304,23 @@ बन्द src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5608,11 +6329,11 @@ सिर्जना गरियो src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5621,15 +6342,19 @@ क्षमता src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5641,76 +6366,88 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity ppm + पीपीएम src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel लाइटनिंग च्यानल src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5719,31 +6456,31 @@ अन्तिम अपडेट src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5752,19 +6489,20 @@ बन्द हुने मिति src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date Closed by + द्वारा बन्द src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5773,7 +6511,11 @@ ट्रांसेक्शन खोल्दै src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5782,7 +6524,11 @@ बन्द ट्रांसेक्शन src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5796,6 +6542,7 @@ Mutually closed + आपसी बन्द src/app/lightning/channel/closing-type/closing-type.component.ts 20 @@ -5803,6 +6550,7 @@ Force closed + जबरजस्ती बन्द src/app/lightning/channel/closing-type/closing-type.component.ts 24 @@ -5810,6 +6558,7 @@ Force closed with penalty + जबरजस्ती जरिवाना संग बन्द src/app/lightning/channel/closing-type/closing-type.component.ts 28 @@ -5820,7 +6569,7 @@ खोल्नु src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5829,7 +6578,7 @@ देखाउन कुनै च्यानलहरू छैनन् src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5838,114 +6587,57 @@ उपनाम src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - स्थिति - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID च्यानल आईडी src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats / सैटस - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg + मध्यम src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -5953,33 +6645,33 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small Avg Capacity - औसत क्षमता + मध्यम क्षमता src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity Avg Fee Rate - औसत शुल्क दर + मध्यम शुल्क दर src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -5987,7 +6679,7 @@ The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -5996,11 +6688,11 @@ औसत आधार शुल्क src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6008,7 +6700,7 @@ The average base fee charged by routing nodes, ignoring base fees > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6017,7 +6709,7 @@ मध्यम क्षमता src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6026,7 +6718,7 @@ मध्यम शुल्क दर src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6034,7 +6726,7 @@ The median fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6043,7 +6735,7 @@ मध्यम बेस शुल्क src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6051,7 +6743,7 @@ The median base fee charged by routing nodes, ignoring base fees > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6060,11 +6752,11 @@ लाइटनिङ नोड समूह src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6073,35 +6765,39 @@ नोडहरू src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6110,31 +6806,31 @@ तरलता src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6143,11 +6839,11 @@ च्यानलहरू src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6159,55 +6855,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6216,55 +6912,72 @@ औसत साइज src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location स्थान src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics नेटवर्क तथ्याङ्क @@ -6301,16 +7014,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6324,14 +7033,30 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution + शुल्क वितरण src/app/lightning/node-fee-chart/node-fee-chart.component.html 2 @@ -6340,24 +7065,26 @@ Outgoing Fees + बाहिर जाने शुल्क src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 Incoming Fees + आगमन शुल्क src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6365,15 +7092,15 @@ गत हप्ता प्रतिशत परिवर्तन src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6382,15 +7109,15 @@ लाइटनिंग नोड src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6399,11 +7126,11 @@ सक्रिय क्षमता src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6412,11 +7139,11 @@ सक्रिय च्यानलहरू src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6425,24 +7152,36 @@ देश src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size सरदर च्यानल साइज src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg Avg channel distance + मध्यम च्यानल दूरी src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6451,19 +7190,20 @@ रङ src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color ISP + ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6471,15 +7211,24 @@ Exclusively on Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6487,7 +7236,7 @@ Lease fee rate src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6496,7 +7245,7 @@ Lease base fee src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6504,24 +7253,26 @@ Funding weight src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight Channel fee rate + च्यानल शुल्क दर src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate Channel base fee + च्यानल आधार शुल्क src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6529,7 +7280,7 @@ Compact lease src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6537,7 +7288,7 @@ TLV extension records src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6546,7 +7297,7 @@ खुल्ला च्यानलहरू src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6555,7 +7306,7 @@ बन्द च्यानलहरू src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6564,31 +7315,38 @@ नोड: src/app/lightning/node/node.component.ts - 60 + 62 (Tor nodes excluded) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6599,59 +7357,77 @@ कुनै जियोलोकेशन डाटा उपलब्ध छैन src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 Active channels map + सक्रिय च्यानल नक्शा src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 Clearnet and Darknet + क्लियरनेट र डार्कनेट src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 Clearnet Only (IPv4, IPv6) + क्लियरनेट मात्र (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 Darknet Only (Tor, I2P, cjdns) + डार्कनेट मात्र (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6659,31 +7435,39 @@ सेयर src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes + नोडहरू src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6691,7 +7475,7 @@ BTC क्षमता src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6708,7 +7492,7 @@ ISP गणना src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6717,7 +7501,7 @@ शीर्ष ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6729,16 +7513,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity क्लियरनेट क्षमता src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6746,7 +7537,7 @@ How much liquidity is running on nodes advertising at least one clearnet IP address src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6755,11 +7546,11 @@ अज्ञात क्षमता src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6767,7 +7558,7 @@ How much liquidity is running on nodes which ISP was not identifiable src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6776,11 +7567,11 @@ टोर क्षमता src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6788,7 +7579,7 @@ How much liquidity is running on nodes advertising only Tor addresses src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6797,20 +7588,33 @@ LN नोड होस्ट गर्ने शीर्ष 100 ISP हरू src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + अनुक्रमणिका प्रगतिमा छ + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6818,7 +7622,7 @@ लाइटनिङ ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6827,11 +7631,11 @@ शीर्ष देश src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6840,7 +7644,7 @@ शीर्ष नोड src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6856,6 +7660,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: ISP मा लाइटनिङ नोड्स: @@ -6870,15 +7685,16 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn Active nodes + सक्रिय नोडहरू src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6887,7 +7703,7 @@ शीर्ष 100 पुरानो लाइटनिंग नोड्स src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -6899,6 +7715,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes सबैभन्दा पुरानो नोड्स @@ -6916,14 +7753,287 @@ 22 - - Indexing in progress - अनुक्रमणिका प्रगतिमा छ + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + पक्का / पुष्टि नभएको + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + सेवाका सर्तहरु + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + गोपनीयता नीति + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.nl.xlf b/frontend/src/locale/messages.nl.xlf index 3c33f65c6..ff6099420 100644 --- a/frontend/src/locale/messages.nl.xlf +++ b/frontend/src/locale/messages.nl.xlf @@ -5,273 +5,271 @@ Close Sluiten - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Dia van - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Vorige - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Volgende - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Selecteer maand - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Selecteer jaar - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Vorige maand - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Volgende maand - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Eerste - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Vorige - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Volgende - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Laatste - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH UU - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Uren - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minuten - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Uren verhogen - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Uren verlagen - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Minuten verhogen - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Minuten verlagen - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Seconden - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Seconden verhogen - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Seconden verlagen - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Sluiten - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Selecteer maand + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Vorige maand + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Uren + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Vorige + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Selecteer jaar + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Volgende maand + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Volgende + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minuten + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Uren verhogen + + node_modules/src/ngb-config.ts + 13 + + + + First + Eerste + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Vorige + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Uren verlagen + + node_modules/src/ngb-config.ts + 13 + + + + Next + Volgende + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Minuten verhogen + + node_modules/src/ngb-config.ts + 13 + + + + Last + Laatste + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Minuten verlagen + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Seconden + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Seconden verhogen + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Seconden verlagen + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Blok @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Blok : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ Blokken src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Hoogte src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Bevestigd src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Transacties src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Bisq Handelsvolume src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Markten src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Bitcoin Markten src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Prijs src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Laatste transacties src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq Prijs Index src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Bisq Markt Index src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Laat meer zien » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Servicevoorwaarden - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Privacybeleid - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Koop Aanbod src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Verkoop Aanbod src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Hoeveelheid () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ-statistieken @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Datum src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Bedrag src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Transactie src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - bevestiging - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - bevestigingen - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Zit in blok src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Kenmerken src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Vergoeding per vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Details src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Inputs & Outputs src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ Transacties src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Bevestigd src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Filter src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Selecteer alles src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Transacties @@ -1443,7 +1452,7 @@ Het Mempool Open Source Project src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Onze mempool- en blockchainverkenner voor de Bitcoingemeenschap, gericht op de transactiekostenmarkt en het meerlagige ecosysteem, volledig zelf-gehost zonder derde partijen. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Bedrijfssponsoren 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Community Sponsoren ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Community-integraties src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Community-allianties src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Projectvertalers src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Projectbijdragers src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Projectleden src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Projectonderhouders src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Over src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig van @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Adres: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Groep van assets src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Uitgeverdomein src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ Activa-ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Fout bij het laden van activagegevens. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Offline src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Opnieuw verbinden... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Laag-2-netwerken src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Dashboard src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Statistieken src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Docs src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Blokvergoedingstarieven src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Bij blok: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Rond blok: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Blokvergoedingen src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Blokken indexeren src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Geen data om weer te geven. Probeer het later nog eens. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ niet beschikbaar src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Vergoedingstarief @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Effectief vergoedingstarief src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Virtuele grootte + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Auditstatus + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Overeenkomst + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Verwijderd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Marginaal vergoedingstarief + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Onlangs uitgezonden + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Toegevoegd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Blokbeloningen + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Blokgrootte en Gewicht + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Grootte + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Gewicht + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Grootte per gewicht + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Blok : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Blok + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Gemiddelde vergoeding + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Totale vergoedingen + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Gedolven door + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Volgend Blok + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Vorig Blok + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Gezondheid + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Onbekend + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Vergoedingbereik + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Gebaseerd op een gemiddelde native segwit-transactie van 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Virtuele grootte - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Auditstatus - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Overeenkomst - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Verwijderd - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Marginaal vergoedingstarief - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Onlangs uitgezonden - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Toegevoegd - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Nauwkeurigheid Blokvoorspelling - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Geen data om weer te geven. Probeer het later nog eens. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Tarief evenaren - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Blokbeloningen - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Blokgrootte en Gewicht - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Grootte - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Gewicht - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Grootte per gewicht - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Blok - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Gemiddelde vergoeding - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Totale vergoedingen - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Gedolven door - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Blok : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Volgend Blok - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Vorig Blok - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Gezondheid - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Onbekend - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Vergoedingbereik - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Gebaseerd op een gemiddelde native segwit-transactie van 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Subsidie + vergoedingen src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Verwacht src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Werkelijk src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Verwachte Blok src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Werkelijke Blok src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Moeilijkheid src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Blokheader-hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Audit src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Details src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Fout bij laden van data. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Waarom is dit blok leeg? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Gedolven - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Beloning src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Vergoedingen src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TX's src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Gekopiëerd! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Hoge Prioriteit + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Onbevestigd + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Aangepast src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Verandering src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Moeilijkheidsaanpassing src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Resterend src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - blokken + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Schatting src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Vorige src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Huidige Periode src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Volgende Halvering src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ blokken verwacht src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ blok verwacht src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ blokken gemined src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ blok gemined src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ Nog blokken over src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ Nog blok over src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ blokken verder src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ blok verder src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ blokken achter src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ blok achter src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Gemiddelde bloktijd src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Of 2x het minimum, of het lage prioriteitstarief (welke van beide lager is) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Geen Prioriteit src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Plaatst je transactie gewoonlijk tussen het tweede en derde mempoolblok src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Lage Prioriteit src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Plaatst je transactie gewoonlijk tussen het eerste en tweede mempoolblok src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Gem. Prioriteit src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Plaatst je transactie in het eerste mempoolblok src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Hoge Prioriteit - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Inkomende transacties src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Backend is aan het synchroniseren src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Onbevestigd + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempoolgrootte src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Hashrate & Moeilijkheid src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Hashrate (MG) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Grafieken src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Miningdashboard src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Lightningexplorer src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Documentatie src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Stapel van mempoolblokken src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Mempoolblok src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Bereik src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Som src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Beloningstatistieken @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Laatste blokken + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Transactie Uitzenden + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Pools geluk + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Het algemene geluk van alle miningpools van de afgelopen week. Een geluk groter dan 100% betekent dat de gemiddelde bloktijd voor het huidige tijdperk minder dan 10 minuten is. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Pools aantal + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Hoeveel unieke pools de afgelopen week ten minste één blok hebben gevonden. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Het aantal gevonden blokken in de afgelopen week. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Rang src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Gem Gezondheid src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Lege blokken + + Avg Block Fees + Gem Blokvergoedingen src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Alle miners src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Pools Geluk (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Pools Aantal (1w) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Miningpools @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks blokken src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Ander () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ miningpool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Tags src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Laat alles zien src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Verberg src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Hashrate (24u) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Geschatte + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Gerapporteerd - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Geluk - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Geminede blokken - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24u - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1w src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Gedolven + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Coinbaselabel src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Transactie Uitzenden + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Transactiehex @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Eerst gezien + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Minersbeloning @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Bedrag betaald aan miners in de afgelopen 144 blokken src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Gem Blokvergoedingen - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Gemiddelde vergoedingen per blok in de afgelopen 144 blokken src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/blok src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Gemiddeld betaalde transactiekosten per transactie in de laatste 144 blokken src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Beloning Per Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Verken het volledige Bitcoinecosysteem src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Zoek src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV-weergave src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filter src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Omkeren src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Transactie-vBytes per seconde (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Zojuist src/app/components/time/time.component.ts - 79 + 90 ago geleden - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Over ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Over ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Na src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Na src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Deze transactie is vervangen door: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Deze transactie heeft vervangen: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Vervangen - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Onbevestigd - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Eerst gezien - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Verwacht src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Binnen een aantal uren (of meer) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Descendant src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Ancestor src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Stroom src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Verberg diagram src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Toon meer src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Toon minder src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Toon diagram src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transactie niet gevonden. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Wachten tot het in de mempool verschijnt... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Effectief vergoedingstarief + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Nieuw-gegenereerde munten) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Getuige-data src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH claim-script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH claim-script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Vorig output-script src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Vorig output-type src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out naar src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Toon meer inputs om vergoedingsgegevens te onthullen src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ te gaan src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Deze transactie gebruikt Taproot en heeft ten minste % aan vergoedingen bespaard, maar kon nog % besparen door Taproot volledig te gebruiken @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Deze transactie ondersteund Replace-By-Fee (RBF) NIET en de vergoeding kan niet met deze methode worden verhoogd @@ -5308,25 +5883,48 @@ Transactiekosten src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Laatste transacties + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Minimumvergoeding src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Weggooien src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Geheugengebruik - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC in circulatie src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space voorziet alleen van gegevens over het Bitcoinnetwerk. We kunnen niet helpen met het terughalen van geld, het sneller bevestigen van transacties, enz. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API service src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Eindpunt src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Omschrijving src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Default push: actie: 'want', data: ['blocks', ...] om uit te drukken wat je gepushed wilt hebben. Beschikbaar: blocks, mempool-blocks, live-2h-chart, en stats.Pushtransacties gerelateerd aan adres: 'track-address': '3PbJ...bF9B' om alle nieuwe transacties met dat adres als invoer of uitvoer te ontvangen. Retourneert een reeks transacties. address-transactions voor nieuwe mempooltransacties, en block-transactions voor nieuwe blokbevestigde transacties. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Codevoorbeeld src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Installeer pakket src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Reactie src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Startbalans src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Sluitingsbalans src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ lightningkanaal src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Inactief src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Actief src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Gesloten src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Gecreërd src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Capaciteit src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Lightningkanaal src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Laatste update src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Sluitingsdatum src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Gesloten door src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Openingstransactie src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Sluitingstransactie src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Open src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Geen kanalen om weer te geven src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID Kanaal-ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg gem src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Gem Capaciteit src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Gem Vergoedingstarief src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Het gemiddelde vergoedingstarief van routingnodes, waarbij vergoedingstarieven van > 0,5% of 5000ppm worden genegeerd src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Gem basisvergoeding src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ De gemiddelde basisvergoeding van routingnodes, waarbij basisvergoedingen van > 5000ppm worden genegeerd src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Med Capaciteit src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Med vergoedingstarief src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Het mediane vergoedingstarief van routingnodes, waarbij vergoedingstarieven van > 0,5% of 5000 ppm worden genegeerd src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Med Basisvergoeding src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ De mediane basisvergoeding van routingnodes, waarbij basisvergoedingen van > 5000ppm worden genegeerd src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Lightningnodegroep src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Nodes src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Liquiditeit src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Kanalen src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Gemiddelde grootte src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Locatie src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Netwerkstatistieken @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Vergoedingsdistributie @@ -6429,11 +7078,11 @@ Uitgaande vergoedingen src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Inkomende vergoedingen src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Procentuele verandering afgelopen week src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Lightningnode src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Actieve capaciteit src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Actieve kanalen src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Land src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Gemiddelde kanaalgrootte src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Gemiddelde kanaalafstand src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Kleur src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Exclusief op Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Liquiditeitsadvertentie src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Leasevergoedingstarief src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Leasebasisvergoeding src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Financieringsgewicht src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Kanaalvergoedingstarief src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Kanaalbasisvergoeding src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Compactlease src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV-extensierecords src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Open kanalen src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Gesloten kanalen src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Node: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Tornodes uitgesloten) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Lightningnodekanalen Wereldkaart + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Geen geolocatiedata beschikbaar src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Actieve kanalen-kaart src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indexering is bezig src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet en Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Alleen Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Alleen Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Delen src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes nodes src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC-capaciteit src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ ISP-telling src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Top-ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Clearnetcapaciteit src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Hoeveel liquiditeit er via nodes stroomt die adverteren voor ten minste één clearnet IP-adres src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Onbekende capaciteit src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Hoeveel liquiditeit er via nodes stroomt waarvan de ISP niet identificeerbaar is src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Torcapaciteit src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Hoeveel liquiditeit er via nodes stroomt die alleen adverteren voor Tor-adressen src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Top 100 ISP's die LN nodes hosten src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indexering is bezig + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Lightning-ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Topland src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Topnode src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Lightningnodes op ISP: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Actieve nodes src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Top 100 oudste Lightningnodes src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Oudste nodes @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indexering is bezig + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Onbevestigd + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Servicevoorwaarden + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Privacybeleid + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.pl.xlf b/frontend/src/locale/messages.pl.xlf index 5e0e5ad44..e082add36 100644 --- a/frontend/src/locale/messages.pl.xlf +++ b/frontend/src/locale/messages.pl.xlf @@ -5,273 +5,271 @@ Close Zamknij - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Slajd z - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Poprzednie - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Następne - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Wybierz miesiąc - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Wybierz rok - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Poprzedni miesiąc - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Następny miesiąc - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Pierwsza - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Poprzednia - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Następna - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Ostatnia - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Godzin - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minut - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Zwiększ godziny - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Zmniejsz godziny - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Zwiększ minuty - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Zmniejsz minuty - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Sekund - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Zwiększ sekundy - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Zmniejsz sekundy - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Zamknięcie - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Wybierz miesiąc + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Poprzedni miesiąc + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Godzin + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Poprzednie + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Wybierz rok + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Następny miesiąc + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Następne + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minut + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Zwiększ godziny + + node_modules/src/ngb-config.ts + 13 + + + + First + Pierwsza + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Poprzednia + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Zmniejsz godziny + + node_modules/src/ngb-config.ts + 13 + + + + Next + Następna + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Zwiększ minuty + + node_modules/src/ngb-config.ts + 13 + + + + Last + Ostatnia + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Zmniejsz minuty + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Sekund + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Zwiększ sekundy + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Zmniejsz sekundy + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Blok @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Blok : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ Bloki BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Numer bloku src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Potwierdzony src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Transakcje src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Wolumen handlu Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Rynki src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Rynki Bitcoin src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Cena src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Ostatnie transakcje src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Indeks cenowy Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Cena rynkowa Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Pokaż więcej » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Warunki korzystania z usługi - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Polityka prywatności - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Oferty kupna src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Oferty sprzedaży src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Kwota () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics Statystyki BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Data src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Ilość src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Transakcja src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - potwierdzenie - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - potwierdzeń - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Włączona w bloku src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Cechy src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Opłata za vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Szczegóły src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Wejścia i wyjścia src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Transakcje BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Potwierdzona src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Filtr src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Zaznacz wszystko src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Transakcje @@ -1443,7 +1452,7 @@ Mempool - Projekt Open Source src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Nasz, koncentrujący się na rynku opłat i wielowarstwowym ekosystemie, eksplorator blockchaina i mempoola dla bitcoinowej społeczności, całkowicie self-hosted, bez zaufanych stron trzecich. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Sponsorzy Korporacyjni 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Sponsorzy społecznościowi ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Integracje społecznościowe src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Sojusze społecznościowe src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Tłumacze projektu src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Współtwórcy projektu src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Członkowie projektu src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Opiekunowie projektu src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ O stronie src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig z @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Adres: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Grupa aktywów src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Notowany jako src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Domena emitenta src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ID aktywa src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Błąd podczas ładowania danych zasobów. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Offline src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Ponowne łączenie... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Sieci Warstwy 2 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Dashboard src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Statystyki src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Dokumentacja src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Stawki opłat bloku src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: W bloku: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ W okolicu bloku: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Opłaty bloku src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indeksowanie bloków src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Brak danych do wyświetlenia. Spróbuj ponownie później. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ nie dostępne src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Poziom opłat @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Efektywny poziom opłaty src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Rozmiar wirtualny + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Status audytu + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Dopasowanie + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Usunięte + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Marginalna stopa opłat + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Ostatnio rozgłoszone + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Dodane + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Nagrody bloku + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Rozmiary i wagi bloku + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Rozmiar + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Waga + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Rozmiar na wagę + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Blok : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Blok + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Mediana opłat + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Opłaty łącznie + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Wydobywca + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Następny blok + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Poprzedni blok + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Zdrowie + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Nieznany + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Zakres opłat + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Na podstawie przeciętnej transakcji w natywnym segwit o długości 140 vBajtów + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Rozmiar wirtualny - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Status audytu - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Dopasowanie - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Usunięte - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Marginalna stopa opłat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Ostatnio rozgłoszone - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Dodane - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Dokładność prognoz bloków - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Brak danych do wyświetlenia. Spróbuj ponownie później. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Częstość trafień - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Nagrody bloku - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Rozmiary i wagi bloku - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Rozmiar - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Waga - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Rozmiar na wagę - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Blok - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Mediana opłat - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Opłaty łącznie - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Wydobywca - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Blok : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Następny blok - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Poprzedni blok - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Zdrowie - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Nieznany - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Zakres opłat - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Na podstawie przeciętnej transakcji w natywnym segwit o długości 140 vBajtów - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Subsydium i opłaty src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Prognoza src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Wartość aktualna src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Prognozowany blok src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Rzeczywisty blok src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bity src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Korzeń Merkle'a src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Trudność src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Unikalna liczba src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Nagłówek bloku w postaci szesnastkowej src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Audyt src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Szczegóły src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Błąd ładowania danych. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Czemu ten blok jest pusty? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Wydobyty - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Nagroda src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Opłaty src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ Transakcje src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Skopiowano! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Wysoki priorytet + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Niepotwierdzone + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Dostosowanie src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Zmiana src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Dostosowanie trudności src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Pozostało src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - bloków + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Estymata src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Poprzednia src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Okres bieżący src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Następny halving src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ spodziewanych bloków src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ spodziewany blok src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ bloków wydobytych src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ blok wydobyty src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ bloków pozostało src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ blok pozostał src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ bloków przed nami src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ blok przed nami src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ bloków za nami src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ blok za nami src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Średni czas bloku src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Dwukrotność minimalnej wartości lub niski priorytet (w zależności która jest niższa) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Brak priorytetu src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Zazwyczaj umieszcza Twoją transakcje między drugim a trzecim blokiem w mempool src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Niski priorytet src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Zazwyczaj umieszcza Twoją transakcje między pierwszym a drugim blokiem w mempool src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Średni priorytet src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Umiejscawia twoją transakcję w pierwszym bloku w mempoolu src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Wysoki priorytet - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Transakcje przychodzące src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Backend się synchronizuje src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Niepotwierdzone + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Rozmiar mempool src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Prędkość haszowania src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Prędkość haszowania i trudność src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Prędkość haszowania (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Wykresy src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Deska rozdzielcza wydobycia src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Eksplorator Lightning src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Dokumentacja src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Stos bloków mempool src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Blok mempool nr src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Przedział src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Suma src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Statystyki nagród @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Ostatnie bloki + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Rozgłoś transakcję + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Szczęście kolektywu + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Ogólne szczęście wszystkich kolektywów wydobywczych w ciągu ostatniego tygodnia. Szczęście większe niż 100% oznacza, że średni czas bloku dla danej epoki jest mniejszy niż 10 minut. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Liczba kolektywów + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Ile unikatowych kolektywów znalazło conajmniej jeden blok w ciągu ostatniego tygodnia. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Liczba bloków znalezionych w ciągu ostatniego tygodnia. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Ranga src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Średnie zdrowie src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Puste bloki + + Avg Block Fees + Średnie opłaty bloku src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Wszyscy wydobywcy src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Szczęście kolektywu (1t) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Liczba kolektywów wydobywczych (1t) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Kolektywy wydobywcze @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks bloków src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Inne () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ kolektyw wydobywczy src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Tagi src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Pokaż wszystkie src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Schowaj src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Prędkość haszowania (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Szacowana + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Odnotowana - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Szczęście - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Wydobyte bloki - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1 tydzień src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Wydobyty + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Tag Coinbase src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Rozgłoś transakcję + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Postać szestnastkowa transakcji @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Pierwszy raz widziano + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Zyski wydobywców @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Kwota zapłacona wydobywcom w ostatnich 144 blokach src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Średnie opłaty bloku - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Średnie opłaty na blok w ciągu ostatnich 144 bloków src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/blok src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Średni poziom opłaty poniesionej w każdej transakcji w ostatnich 144 blokach src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Zyski na transakcję - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Eksploruj cały ekosystem Bitcoina src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Szukaj src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view Widok TV src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filtr src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Odwróć src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ vBytes transkacji na sekundę (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Przed chwilą src/app/components/time/time.component.ts - 79 + 90 ago temu - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Za ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Za ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Po src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Po src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Ta transakcja została zastąpiona przez: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Ta transakcja zastąpiła: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Zastąpiona - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Niepotwierdzone - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Pierwszy raz widziano - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Szacowany czas src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ W ciągu kilku godzin (lub dłużej) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Potomek src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Przodek src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Przepływ src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Schowaj diagram src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Pokaż więcej src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Pokaż mniej src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Pokaż diagram src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Czas blokady src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transakcja nie odnaleziona. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Oczekiwanie aż pojawi się w mempool... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Efektywny poziom opłaty + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Nowo Wygenerowane Monety) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (Postać szestnastkowa) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Świadek src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ Skrypt realizacji P2SH src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ Skrypt świadka P2WSH src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Poprzedni skrypt wyjściowy src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Poprzedni typ wyjścia src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out do src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (Postać szestnastkowa) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Pokaż więcej wejść by ujawnić dane o opłatach src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ pozostało src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Ta transakcja używa Taproot i już zaoszczędziła przynajmniej % na opłatach, ale mogłaby zaoszczędzić dodatkowe % używając Taproot w pełni @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Ta transakcja NIE obsługuje Replace-By-Fee (RBF) i opłata nie może zostać podbita używając tej metody @@ -5308,25 +5883,48 @@ Opłaty transakcyjne src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Ostatnie transkacje + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Minimalna opłata src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Próg odrzucenia src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Zużycie pamięci - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC w obiegu src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space tylko dostarcza danych o sieci Bitcoin. Nie możemy Ci pomóc z odzyskiwaniem środków, szybszym potwierdzaniem transkacji, itp. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ Usługa REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Końcówka src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Opis src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Domyślny push: action: 'want', data: ['blocks', ...] aby wyrazić co chcesz wysłać. Dostępne: blocks, mempool-blocks, live-2h-chart i stats.Wysłanie transakcji związanych z adresem: 'track-address': '3PbJ...bF9B' aby otrzymać wszystkie nowe transakcje zawierające ten adres jako wejście lub wyjście. Zwraca tablicę transakcji. address-transactions dla nowych transakcji mempool, i block-transactions dla nowo potwierdzonych transakcji w bloku. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Przykład kodu src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Zainstaluj pakiet src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Odpowiedź src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Saldo początkowe src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Saldo końcowe src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ kanał lightning src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Nieaktywny src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Aktywny src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Zamknięty src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Stworzony src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Pojemność src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Kanał Lightning src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Ostatnia aktualizacja src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Data zamknięcia src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Zamknięty przez src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Transakcja otwarcia src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Transakcja zamknięcia src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Otwarty src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Brak kanałów do wyświetlenia src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Stan - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID kanału src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg średnia src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Średnia pojemność src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Średni poziom opłat src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Średni poziom opłat pobieranych przez węzły routujące, z wyłączeniem opłat > 0.5% lub 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Średnia opłata bazowa src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Średni poziom opłaty bazowej pobieranej przez węzły routujące, z wyłączeniem opłat > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Mediana pojemności src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Mediana poziomu opłat src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Mediana poziomu opłat pobieranych przez węzły routujące, z wyłączeniem opłat > 0.5% lub 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Mediana opłaty bazowej src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Mediana opłaty bazowej pobieranej przez węzły routujące, z wyłączniem opłat > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Grupa węzłów Lightning src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Węzly src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Płynność src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Kanały src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Średni rozmiar src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Lokalizacja src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Statystyki sieci @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Rozkład opłat @@ -6429,11 +7078,11 @@ Opłaty wychodzące src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Opłaty przychodzące src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Zmiana procentowa w zeszłym tygodniu src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Węzeł lightning src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Aktywna pojemność src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Aktywne kanały src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Państwo src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Średni rozmiar kanału src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Średnia odległość kanałów src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Kolor src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Wyłącznie na sieci Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Reklama płynności src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Stawka opłat dzierżawy src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Opłata bazowa dzierżawy src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Blok finansujący src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Stawka opłat kanału src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Opłata bazowa kanału src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Kompaktowa dzierżawa src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ Rekordy rozszerzeń TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Otwarte kanały src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Zamknięte kanały src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Węzeł: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (bez węzłów Tor) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Mapa światowa kanałów węzłów sieci Lightning + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Brak danych geolokalizacyjnych src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Mapa aktywnych kanałów src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indeksowanie w toku src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet i Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Tylko Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Tylko Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Udostępnij src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes węzłów src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ pojemność BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Liczba ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Pierwszy ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Pojemność w Clearnecie src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Jaka jest płynność węzłów ogłaszających co najmniej jeden adres IP w Clearnecie src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Pojemność na nieokreślonej sieci src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Jaka jest płynność węzłów, których ISP nie został zidentyfikowany src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Pojemność na sieci Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Jaka jest płynność węzłów ogłaszających tylko adresy Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Ranking 100 ISP hostujących węzły LN src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indeksowanie w toku + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ ISP Lightning src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Pierwsze państwo src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Pierwszy węzeł src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Węzły Lightning na ISP: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Aktywne węzły src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Ranking 100 węzłów wg wieku src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Najstarsze węzły @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indeksowanie w toku + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Niepotwierdzone + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Warunki korzystania z usługi + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Polityka prywatności + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.pt.xlf b/frontend/src/locale/messages.pt.xlf index bed923e05..a78387dcb 100644 --- a/frontend/src/locale/messages.pt.xlf +++ b/frontend/src/locale/messages.pt.xlf @@ -5,273 +5,271 @@ Close Fechar - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Slide de - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Anterior - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Próximo - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Selecione o mês - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Selecione o ano - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Mês anterior - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Mês seguinte - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Primeiro - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Anterior - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Próximo - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Último - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH H - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Horas - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - M - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minutos - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Horas incrementadas - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Horas decrementadas - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Minutos incrementados - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Minutos decrementados - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - S - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Segundos - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Segundos incrementados - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Segundos decrementados - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Fechar - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Selecione o mês + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Mês anterior + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Horas + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Anterior + + node_modules/src/ngb-config.ts + 13 + + + + MM + M + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Selecione o ano + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Mês seguinte + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Próximo + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minutos + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Horas incrementadas + + node_modules/src/ngb-config.ts + 13 + + + + First + Primeiro + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Anterior + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Horas decrementadas + + node_modules/src/ngb-config.ts + 13 + + + + Next + Próximo + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Minutos incrementados + + node_modules/src/ngb-config.ts + 13 + + + + Last + Último + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Minutos decrementados + + node_modules/src/ngb-config.ts + 13 + + + + SS + S + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Segundos + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Segundos incrementados + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Segundos decrementados + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Bloco @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Bloco : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ Blocos BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Altura src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Confirmado src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Transações src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Volume de Trade na Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Mercados src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Mercados de Bitcoin src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Preço src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Últimos trades src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Índice de preço da Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Preço de Mercado na Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Ver mais » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Termos de Serviço - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Política de Privacidade - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Ofertas de compra src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Ofertas de venda src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Quantia () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics Estatísticas BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Data src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Quantia src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Transação src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - confirmação - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - confirmações - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Incluído no bloco src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Características src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Taxa por vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detalhes src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Entradas & Saídas src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Transações BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ ID da transação src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Confirmado src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Filtro src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Marcar tudo src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Trades @@ -1443,7 +1452,7 @@ O Projeto de código aberto Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Nosso explorador da blockchain e mempool para a comunidade Bitcoin, focando no mercado de taxas de transação e ecossistema multicamadas, completamente auto-hospedado sem confiar em terceiros. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Empresas Patrocinadoras 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Patrocinadores da comunidade ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Integrações da comunidade src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Alianças da comunidade src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Tradutores do Projeto src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Contribuidores do projeto src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Membros do Projeto src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Mantenedores do projeto src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Sobre src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig de @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Endereço: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Grupo de ativos src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Domínio do emissor src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ID do ativo src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Erro ao carregar os dados dos ativos. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Sem conexão src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Reconectando... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Rede 2ª Camada src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Painel de controle src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Estatísticas src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Docs src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Cotas das Taxas dos Blocos src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: No bloco: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Pelo bloco: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Taxas dos Blocos src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indexando blocos src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Sem informações para exibir. Tente novamente mais tarde. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ não disponível src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Taxa de transação @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Taxa de transação efetiva src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Tamanho virtual + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Status da auditoria + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Correspondente + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Removida + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Taxa de 'fee' marginal + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Transmitida recentemente + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Adicionado + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Recompensas do Bloco + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Tamanho e Peso dos Blocos + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Tamanho + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Peso + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Tamanho por peso + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Bloco : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Bloco + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Taxa mediana + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Total de taxas + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Minerador + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Próximo Bloco + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Bloco Anterior + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Saúde + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Desconhecido + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Intervalo de taxas + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Com base na transação segwit nativa média de 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Tamanho virtual - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Status da auditoria - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Correspondente - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Removida - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Taxa de 'fee' marginal - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Transmitida recentemente - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Adicionado - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Precisão do Bloco Projetado - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Sem informações para exibir. Tente novamente mais tarde. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Taxa de acerto - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Recompensas do Bloco - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Tamanho e Peso dos Blocos - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Tamanho - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Peso - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Tamanho por peso - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Bloco - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Taxa mediana - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Total de taxas - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Minerador - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Bloco : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Próximo Bloco - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Bloco Anterior - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Saúde - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Desconhecido - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Intervalo de taxas - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Com base na transação segwit nativa média de 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Subsídio + taxas src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Esperado src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Atual src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Block Esperado src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Bloco De Fato src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Raiz Merkle src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Dificuldade src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Block Header Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Auditoria src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Detalhes src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Erro ao carregar dados. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Por que este bloco está vazio? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Minerado - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Recompensa src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Taxas src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ Transações src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Copiado! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Prioridade Alta + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Não confirmado + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Ajustado src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Mudança src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Ajuste de Dificuldade src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Faltando src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - blocos + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Estimativa src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Anterior src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Período Atual src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Próximo Halving src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ blocos esperados src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ bloco esperado src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ blocos minerados src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ bloco minerado src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ blocos restantes src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ bloco restante src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ blocos adiantados src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ bloco adiantado src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ blocos atrasados src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ bloco atrasado src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Tempo médio dos blocos src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Ou 2x a taxa mínima ou a de prioridade baixa (o que for menor) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Sem Prioridade src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Geralmente coloca sua transação entre o segundo e o terceiro bloco do mempool src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Prioridade Baixa src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Geralmente coloca sua transação entre o primeiro e o segundo bloco do mempool src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Prioridade Média src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Coloca sua transação no primeiro bloco do mempool src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Prioridade Alta - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Transações de entrada src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Processo interno está sincronizando src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Não confirmado + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Tamanho do mempool src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Hashrate e Dificuldade src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Hashrate (Média) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Gráficos src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Painel de Mineração src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Explorador Lightning src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Documentação src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Pilha de blocos mempool src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Bloco Mempool src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Alcance src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Soma src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Estatisticas de recompensas @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Últimos blocos + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Transmitir Transação + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Sorte dos Pools + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ A sorte geral de todos os pools de mineração na semana passada. Uma sorte maior que 100% significa que o tempo médio de bloco para o epoch atual é inferior a 10 minutos. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Quantidade de Pools + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Quantos pools únicos encontraram pelo menos um bloco na última semana. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ O número de blocos encontrados na última semana. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Ranking src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Saúde Média src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Blocos vazios + + Avg Block Fees + Média de taxas dos blocos src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Todos os mineradores src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Sorte dos Pools (1 sem.) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Quantidade de Pools (1 sem.) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Pools de Mineração @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks blocos src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Outras () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ piscina de mineração src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Tags src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Mostrar todas src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Esconder src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Hashrate (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Estimado + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Reportado - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Sorte - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Blocos minerados - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1 sem. src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Minerado + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Tag da coinbase src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Transmitir Transação + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Hex da Transação @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Vista pela primeira vez + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + Replace-by-fee + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Recompensa dos Mineradores @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Valor pago aos mineradores nos últimos 144 blocos src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Média de taxas dos blocos - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Média de taxas por bloco nos últimos 144 blocos src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/bloco src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Taxa paga em média para cada transação nos últimos 144 blocos src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Recompensa por Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Explore o Ecossistema Completo do Bitcoin src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Busca src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view Visualização da TV src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filtro src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Inverter src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Transação vBytes por segundo (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Agora mesmo src/app/components/time/time.component.ts - 79 + 90 ago atrás - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Em ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Em ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Depois src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Depois src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Conteúdo no bloco + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Essa transação foi substituída por: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Esta transação substituiu: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Substituída - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Não confirmada - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Vista pela primeira vez - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Tempo estimado src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Em várias horas (ou mais) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Descendente src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Ancestral src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Fluxo src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Esconder diagrama src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Mostrar mais src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Mostrar menos src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Mostrar diagrama src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transação não encontrada. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Aguardando que apareça no mempool... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Taxa de transação efetiva + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Conteúdo no bloco - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Moedas Recém-Geradas) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Indexado em src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Testemunho src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH script de resgate src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH script de testemunho src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Script de saída anterior src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Tipo de saída anterior src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out para src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Mostrar mais entradas para revelar dados de taxas src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ restante src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Esta transação utiliza Taproot e já economizou ao menos % em taxas, mas poderia economizar mais % ao utilizar Taproot completamente @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - Replace-by-fee - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Essa transação NÃO suporta Replace-By-Fee (RBF) e não pode ter a taxa aumentada usando tal método. @@ -5308,25 +5883,48 @@ Taxa de Transação src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Últimas transações + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Taxa mínima src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Mínimo exigido src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Utilização da memória - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC em circulação src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space não fornece mais que dados sobre a rede Bitcoin.Não pode ajudá-lo a recuperar fundos, confirmar mais rapidamente sua transação, etc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ Serviço de API REST src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Terminal src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Descrição src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Push padrão: ação: 'want', data: ['blocks', ...] para expressar o que você deseja push. Disponível: blocks, mempool-blocks, live-2h-chart e stats.Push transações relacionadas ao endereço: 'track-address': '3PbJ ... bF9B' para receber todas as novas transações contendo aquele endereço como entrada ou saída. Retorna uma matriz de transações. address-transactions para novas transações de mempool e block-transactions para novas transações de bloco confirmadas. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Exemplo de código src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Instalar Pacote src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Resposta src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Saldo inicial src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Saldo final src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ canal lightning src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Inativo src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Ativo src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Fechado src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Criado src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Capacidade src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Canal lightning src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Última atualização src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Data de fechamento src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Fechado por src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Transação de abertura src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Transação de fechamento src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Aberto src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Sem canais para mostrar src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Apelido src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID do Canal src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg média src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Capacidade Média src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Taxa Média src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Taxa média cobrada por nós de roteamento, ignorando taxas > 0.5% ou 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Taxa Base Média src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Taxa média cobrada por nós de roteamento, ignorando taxas > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Capacidade Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Taxa Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Taxa mediana cobrada por nós de roteamento, ignorando taxas > 0.5% ou 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Taxa Base Mediana src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Taxa mediana cobrada por nós de roteamento, ignorando taxas > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Grupo de nós Lightning src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Nós src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Liquidez src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Canais src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Tamanho Médio src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Localização src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Estatísticas da Rede @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Distribuição de taxas @@ -6429,11 +7078,11 @@ Taxas de saída src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Taxas de entrada src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Mudança percentual na última semana src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Nó Lightning src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Capacidade Ativa src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Canais Ativos src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ País src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Tamanho médio de canal src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Distância média entre canais src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Cor src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ Provedor src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Exclusivamente Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Anúncio de liquidez src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Taxa de aluguel src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Taxa base de aluguel src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Peso de financiamento src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Taxa do canal src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Taxa base do canal src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Locação compacta src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ Registros de extensão de valor alocado total src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Canais abertos src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Canais fechados src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Nó: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Nós da rede Tor excluídos) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Mapa Mundial de Canais de Nós Lightning + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Informação de geolocalização não disponível src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Mapa de canais ativos src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indexação em andamento src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet e Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Somente Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Somente Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Compartilhar src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes nós src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ Capacidade de BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Número de Provedores src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Principais provedores src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Capacidade Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Quanta liquidez existe em nós anunciando ao menos um endereço IP na Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Capacidade Oculta src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Quanta liquidez existe em nós cujo provedor não foi identificado src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Capacidade Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Quanta liquidez existe em nós anunciando apenas endereços Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Top 100 provedores hospendando nós lightning src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indexação em progresso + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Provedor Lightning src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Melhor país src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Melhor nó src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Nós lightning no Provedor: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Nós ativos src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ 100 nós lightning mais antigos src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Nós mais antigos @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indexação em progresso + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Não confirmada + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Termos de Serviço + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Política de Privacidade + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.ro.xlf b/frontend/src/locale/messages.ro.xlf index ae418a6ca..0d6594d17 100644 --- a/frontend/src/locale/messages.ro.xlf +++ b/frontend/src/locale/messages.ro.xlf @@ -5,273 +5,271 @@ Close Închide - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Pagina din - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Anterior - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Următorul - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Selectează luna - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Selectează anul - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Luna trecută - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Luna viitoare - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Primul - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Anteriorul - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Următorul - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Ultimul - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Ore - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - LL - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minute - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Incrementează orele - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Decrementează orele - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Incrementează minutele - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Decrementează minutele - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Secunde - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Incrementează secundele - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Decrementează secundele - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Închide - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Selectează luna + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Luna trecută + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Ore + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Anterior + + node_modules/src/ngb-config.ts + 13 + + + + MM + LL + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Selectează anul + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Luna viitoare + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Următorul + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minute + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Incrementează orele + + node_modules/src/ngb-config.ts + 13 + + + + First + Primul + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Anteriorul + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Decrementează orele + + node_modules/src/ngb-config.ts + 13 + + + + Next + Următorul + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Incrementează minutele + + node_modules/src/ngb-config.ts + 13 + + + + Last + Ultimul + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Decrementează minutele + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Secunde + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Incrementează secundele + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Decrementează secundele + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Bloc @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Bloc : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ Blocuri BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Poziție src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Confirmat src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Tranzacții src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Volum de tranzacționare Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Piețe src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Piețe Bitcoin src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Preț src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Ultimele tranzacții src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Indicele prețului Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Prețul pieței Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Vezi mai multe » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Termenii serviciului - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Politica de confidențialitate - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Oferte Cumpărare src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Oferte Vânzare src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Cantitate () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics Statistici BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Data src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Cantitate src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Tranzacţie src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - confirmare - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - confirmări - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Inclusă în bloc src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Caracteristici src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Comision per vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detalii src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Intrări și Ieșiri src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Tranzacții BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Confirmate src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Filtru src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Selectează tot src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Tranzacții @@ -1443,7 +1452,7 @@ Proiectul Open Source Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Exploratorul nostru de mempool și blockchain pentru comunitatea Bitcoin, focusat pe piața comisioanelor de tranzacționat și pe ecosistemul multi-strat, auto-găzduit fără terțe părți. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Sponsori Enterprise 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Sponsori din Comunitate ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Integrări în comunitate src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Alianțe din Comunitate src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Traducători ai proiectului src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Contribuitori ai proiectului src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Membrii Proiectului src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Întreținători ai proiectului src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Despre src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig din @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Adresă: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Grup de active src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Simbol src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Domeniul emitentului src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ID-ul activului src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Eroare la încărcarea datelor despre active. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Deconectat src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Se reconectează... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Rețele Layer 2 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Panou src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Statistici src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Docs src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Valori comisioane de bloc src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: La blocul: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ În jurul blocului: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Comisioane de bloc src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indexare blocuri src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Nu există date de afișat încă. Încercați mai târziu. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ indisponibil src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Rată comision @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Rata efectivă a comisionului src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Dimensiune virtuală + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Starea auditului + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Potrivire + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Îndepărtat + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Rata comisionului marginal + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Recent transmis + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Adăugat + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Recompense de bloc + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Mărimi si Greutăți de bloc + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Mărime + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Greutate + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Dimensiune pe greutate + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Bloc : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Bloc + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Comision median + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Total comisioane + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Miner + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Blocul următor + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Blocul anterior + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Sănătate + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Necunoscut + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Interval comisioane + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Pe baza valorii medii a tranzacției segwit native de 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Dimensiune virtuală - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Starea auditului - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Potrivire - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Îndepărtat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Rata comisionului marginal - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Recent transmis - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Adăugat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Acuratețe Predicție Blocuri - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Nu există date de afișat încă. Încercați mai târziu. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Rată potrivire - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Recompense de bloc - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Mărimi si Greutăți de bloc - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Mărime - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Greutate - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Dimensiune pe greutate - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Bloc - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Comision median - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Total comisioane - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Miner - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Bloc : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Blocul următor - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Blocul anterior - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Sănătate - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Necunoscut - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Interval comisioane - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Pe baza valorii medii a tranzacției segwit native de 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Subvenție + comisioane src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Așteptat src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Real src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Bloc așteptat src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Blocul real src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Biți src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Rădăcină Merkle src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Dificultate src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Număr arbitrar src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Valoarea Hex a antetului blocului src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Audit src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Detalii src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Eroare la încărcarea datelor. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ De ce acest bloc este gol? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Minat - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Recompensă src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Comisioane src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Copiat! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Prioritate Ridicată + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Neconfirmate + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Ajustat src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Schimbă src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Ajustarea Dificultății src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Rămas src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - blocuri + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Estimare src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Anterior src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Perioada Curentă src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Înjumătățirea următoare src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ blocuri așteptate src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ bloc așteptat src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ blocuri minate src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ bloc minat src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ blocuri rămase src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ bloc rămas src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ blocuri înainte src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ bloc înainte src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ blocuri în urmă src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ bloc în urmă src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Timpul mediu al blocurilor src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ 2x minimum sau valoarea Prioritate Scăzută (oricare este mai mică) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Fără Prioritate src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ De obicei plasează tranzacția ta între al doilea și al treilea bloc din mempool src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Prioritate Scăzută src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ De obicei plasează tranzacția ta între primul și al doilea bloc din mempool src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Prioritate Medie src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Plasează tranzacția ta în primul bloc din mempool src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Prioritate Ridicată - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Tranzacții în curs de primire src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Se sincronizează Backend src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Neconfirmate + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Dimensiune Mempool src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Rată hash src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Rată hash & Dificultate src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Rată hash (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Grafice src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Bord Minerit src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Explorator Lightning src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Documentație src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Stivă de blocuri din mempool src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Bloc din mempool src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Interval src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Sumă src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Statistici Recompense @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Ultimele blocuri + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Transmite Tranzacție + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Noroc fonduri + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Norocul per total al tuturor fondurilor de minerit din ultima săptămână. Noroc cu valoarea mai mare de 100% înseamnă că perioada medie a blocurilor din epoca curentă este mai mică de 10 minute. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Număr fonduri + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Câte fonduri unice au găsit cel puțin un bloc în ultima săptămână. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Numărul de blocuri găsite în ultima săptămână. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Rang src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Medie Sănătate src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Blocuri goale + + Avg Block Fees + Comisioane medii de bloc src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Toți minerii src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Noroc Fonduri (1săpt) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Număr Fonduri (1săpt) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Fondurile de minerit @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks blocuri src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Altele () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ Fond de minerit src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Etichete src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Arată tot src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Ascunde src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Rată de hash (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Estimat + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Raportat - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Noroc - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Blocuri minerite - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ săpt src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Minat + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Etichetă Coinbase src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Transmite Tranzacție + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Codul hex al tranzacției @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Prima dată văzut + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Recompense mineri @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Valoarea plătită minerilor în ultimele 144 de blocuri src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Comisioane medii de bloc - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Comioane medii per bloc în ultimele 144 de blocuri src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/bloc src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Comisionul plătit în medie pentru fiecare tranzacție în ultimele 144 de blocuri src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Recompensă Per Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Explorați întregul ecosistem Bitcoin src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Căutare src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view Mod TV src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filtru src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Inversează src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Tranzacție vBytes pe secundă (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Chiar acum src/app/components/time/time.component.ts - 79 + 90 ago Acum - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - În ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + În ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - După src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + După src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Această tranzacție a fost înlocuită de: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Această tranzacție a înlocuit: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Înlocuit - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Neconfirmate - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Prima dată văzut - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ În câteva ore (sau mai mult) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Descendent src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Strămoş src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Flux src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Ascunde diagrama src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Arată mai multe src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Arată mai puțin src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Arată diagrama src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Tranzacția nu a fost găsită. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Se așteaptă să apară în mempool... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Rata efectivă a comisionului + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Monede Nou Generate) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Legat-în src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Martor src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ Script valorificare P2SH src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ Script martor P2WSH src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Script de ieșire anterior src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Tip ieșire anterior src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Legat-spre src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Arată mai multe intrări pentru a dezvălui datele despre comision src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ rămase src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Această tranzacție folosește Taproot și a economisit deja cel puțin % din comisioane, dar ar putea economisi încă % utilizând complet Taproot @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Această tranzacție NU acceptă Replace-By-Fee (RBF) și nu permite creșterea ulterioară a valorii comisionului folosind această metodă @@ -5308,25 +5883,48 @@ Comisioane de tranzacționare src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Ultimele tranzacții + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Comision minim src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Înlăturare src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Utilizarea memoriei - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC în circulație src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space oferă doar date despre rețeaua Bitcoin. Nu vă poate ajuta să recuperați fonduri, să confirmați tranzacția mai rapid etc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ Serviciu REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Terminație src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Descriere src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Trimitere implicită: acțiune: 'want', data: ['blocks', ...] pentru a exprima ce dorești să trimiți. Disponibil: blocks, mempool-blocks, live-2h-chart, și stats.Tranzacții de trimitere pentru adresa: 'track-address': '3PbJ...bF9B' pentru a primi toate tranzacțiile noi care conțin acea adresă ca intrare sau iesire. Returnează un șir de tranzacții. address-transactions pentru tranzacții noi din mempool, și block-transactions pentru tranzacții confirmate din blocuri noi. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Exemplu de cod src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Instalați Pachetul src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Răspuns src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Balanța inițială src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Balanța finală src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ canal lightning src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Inactiv src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Activ src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Închis src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Creat src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Capacitate src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Canal lightning src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Ultima actualizare src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Data limită src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Închis de src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Tranzacția inițială src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Tranzacția finală src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Deschis src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Nu există canale de afișat src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Stare - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID Canal src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg avg src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Capacitate medie src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Rata medie comision src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Comisionul mediu perceput de nodurile de rutare, ignorând valori > 0,5% sau 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Comision de bază mediu src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Comision de bază mediu perceput de nodurile de rutare, ignorând valori > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Capacitate medie src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Rata mediană comision src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Rata mediană a comisionului perceput de nodurile de rutare, ignorând valori > 0,5% sau 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Comision de bază median src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Comision de bază median perceput de nodurile de rutare, ignorând valori > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Grup de noduri Lightning src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Noduri src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Lichiditate src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Canale src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Mărime medie src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Locație src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Statistici Rețea @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Distribuție Comisioane @@ -6429,11 +7078,11 @@ Comisioane Ieșiri src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Comisioane Intrări src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Modificare procentuală săptămâna trecută src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Nod Lightning src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Capacitate activă src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Canale active src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Țară src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Dimensiunea medie a canalului src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Distanța medie a canalului src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Culoare src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Exclusiv pe Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Anunț de lichiditate src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Rata comisionului de închiriere src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Comisionul de inchiriere de bază src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Greutatea finanțării src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Comisionul canalului src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Comisionul de bază al canalului src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Închiriere compactă src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ Înregistrări extensiil TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Canale deschise src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Canale închise src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Nod: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Nodurile Tor excluse) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Harta lumii cu canalele nodurilor Lightning + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Nu sunt disponibile date de geolocalizare src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Harta canalelor active src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indexare în curs src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet și Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Numai Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Numai Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Parte src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes noduri src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ capacitate BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Număr ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Capacitate Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Câtă lichiditate există pe nodurile care anunță cel puțin o adresă IP din Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Capacitate ascunsă src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Câtă lichiditate există pe noduri pe care ISP-ul nu a fost identificabil src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Capacitate Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Câtă lichiditate există pe nodurile care anunță numai adrese Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Top 100 ISP-uri care găzduiesc noduri LN src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indexare în curs + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Țara de top src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Nodul de top src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Noduri Lightning pe ISP: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Noduri active src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Top 100 cele mai vechi noduri lightning src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Cele mai vechi noduri @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Indexare în curs + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Neconfirmate + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Termenii serviciului + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Politica de confidențialitate + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.ru.xlf b/frontend/src/locale/messages.ru.xlf index 07f843967..9f49f5215 100644 --- a/frontend/src/locale/messages.ru.xlf +++ b/frontend/src/locale/messages.ru.xlf @@ -5,273 +5,271 @@ Close Закрыть - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Слайд из - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Предыдущий - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Следующий - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Выберите месяц - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Выберите год - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Предыдущий месяц - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Следующий месяц - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Первый - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Предыдущий - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Следующий - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Последний - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH ч. - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Часы - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - м. - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Минуты - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Добавить часы - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Убавить часы - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Добавить минуты - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Убавить минуты - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - с. - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Секунды - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Добавить секунды - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Убавить секунды - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Закрыть - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Выберите месяц + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Предыдущий месяц + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Часы + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Предыдущий + + node_modules/src/ngb-config.ts + 13 + + + + MM + м. + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Выберите год + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Следующий месяц + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Следующий + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Минуты + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Добавить часы + + node_modules/src/ngb-config.ts + 13 + + + + First + Первый + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Предыдущий + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Убавить часы + + node_modules/src/ngb-config.ts + 13 + + + + Next + Следующий + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Добавить минуты + + node_modules/src/ngb-config.ts + 13 + + + + Last + Последний + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Убавить минуты + + node_modules/src/ngb-config.ts + 13 + + + + SS + с. + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Секунды + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Добавить секунды + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Убавить секунды + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Блок @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Блок : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ Блоки BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Высота src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Подтверждено src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Транзакции src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Объем торгов Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Рынки src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Биткоин-рынки src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Цена src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Последние сделки src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Цена по индексу Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Рыночная цена на площадке Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Подробнее » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Условия использования - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Политика конфиденциальности - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Предложения на покупку src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Предложения на продажу src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Сумма () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics Статистика BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Дата src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Количество src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Транзакция src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - подтверждение - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - подтверждения(й) - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Добавлено в блоке src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Функции src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Комиссия за vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Подробности src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Вводы и выводы src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Транзакции BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Подтверждено src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Фильтр src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Выбрать все src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Сделки @@ -1443,33 +1452,64 @@ Проект Mempool с открытым исходным кодом src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties. - Мы сами хостим наш обозреватель мемпула и блокчейна для биткоин-сообщества, сфокусированный на рынке транзакционных комиссий и многоуровневой экосистеме и не прибегаем к услугам доверенных третьих сторон. + Наш пул ожидания и обозреватель блокчейна для сообщества Bitcoin сфокусирован на рынке комиссий за транзакции и многоуровневой экосистеме, полностью самостоятельно размещенный без каких-либо доверенных третьих сторон. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Корпоративные спонсоры 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Спонсоры из сообщества ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Интеграции c сообществом src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Обьединения Сообщества src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Переводы src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Участники проекта src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Участники проекта src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Разработчики проекта src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ О проекте src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + сат + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Мультиподпись из @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Адрес: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Группа из активов src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Тикер src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Домен эмитента src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ID Актива src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Ошибка загрузки данных об активах src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Оффлайн src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Переподключение... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Сети 2 уровня src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Панель управления src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Статистика src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Документы src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Комиссионные ставки/блок src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: На блоке src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Около блока src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Комиссии/блок src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Индексация блоков src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Пока нет данных для отображения. Попробуйте позже. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ Недоступно src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Комиссионная ставка @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Эффективная ставка комиссии src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Виртуальный размер + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Статус аудита + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Совпадение + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Удалено + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Предельная ставка комиссии + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Недавно транслированные + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Добавленные + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Вознаграждения за блок + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Размер и вес блоков + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Размер + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Вес + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Размер по весу + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Блок : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Блок + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Медианная комиссия + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Все комиссии + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Майнер + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Следующий блок + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Предыдущий блок + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Здоровье + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Неизвестно + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Интервал комиссий + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Основано на средней segwit-транзакции в 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Виртуальный размер - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Статус аудита - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Совпадение - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Удалено - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Предельная ставка комиссии - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Недавно транслированные - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Добавленные - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Точность предсказания блока - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Пока нет данных для отображения. Попробуйте позже. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Коэффициент соответствия - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Вознаграждения за блок - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Размер и вес блоков - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Размер - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Вес - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Размер по весу - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Блок - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Медианная комиссия - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Все комиссии - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Майнер - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Блок : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Следующий блок - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Предыдущий блок - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Здоровье - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Неизвестно - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Интервал комиссий - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Основано на средней segwit-транзакции в 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Субсидия + комиссии src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Ожидаемый src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ бета src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Фактический src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Ожидаемый блок src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Фактический блок src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Биты src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Корень Меркла src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Сложность src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Нонс src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Заголовок блока в шестнадцатиричном формате src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Аудит src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Подробности src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Ошибка загрузки src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Почему этот блок пуст? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Намайнено - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Вознагржадение src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Комиссии src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ Транзакции src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Скопировано! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Высокий + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Неподтвержденные + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Произошло src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Изменение src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Корректировка сложности src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Осталось src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - блоков + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Приблизительно src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Предыдущий src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Текущий период src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Следующий халвинг src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ блоков добавлено src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ блок добавлен src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ блоков намайнено src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ блок намайнен src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ блоков осталось src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ блок остался src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ блоков ожидает src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ блок ожидает src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ блоков позади src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ блок позади src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Среднее время блока src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Введите как минимум ×2 или ставку низкого приоритета (меньшее из двух) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,20 +3749,20 @@ Без приоритета src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority Usually places your transaction in between the second and third mempool blocks - Обычно размещает вашу транзакцию между вторым и третьим блоками в мемпуле + Обычно размещает вашу транзакцию между вторым и третьим блоками в пуле ожидания src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,20 +3771,20 @@ Низкий src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority Usually places your transaction in between the first and second mempool blocks - Обычно размещает вашу транзакцию между первым и вторым блоками в мемпуле + Обычно размещает вашу транзакцию между первым и вторым блоками в пуле ожидания src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,46 +3793,29 @@ Средний src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority Places your transaction in the first mempool block - Размещает вашу транзакцию в первый блок мемпула + Размещает вашу транзакцию в первый блок пула ожидания src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Высокий - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Входящие транзакции src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Синхронизация бэкенда src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Неподтвержденные + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size - Размер мемпула + Размер пула ожидания src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3498,7 +3915,7 @@ Lightning - Лайтнинг + Lightning src/app/components/graphs/graphs.component.html 30 @@ -3507,14 +3924,14 @@ Lightning Nodes Per Network - Узлы Лайтнинг на сеть + Количество узлов Lightning в сети src/app/components/graphs/graphs.component.html 33 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,20 +3939,20 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks Lightning Network Capacity - Объем сети Лайтнинг + Объем сети Lightning src/app/components/graphs/graphs.component.html 35 src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,33 +3960,33 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity Lightning Nodes Per ISP - Узлов Лайтнинг на провайдера + Узлов Lightning на провайдера src/app/components/graphs/graphs.component.html 37 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp Lightning Nodes Per Country - Узлов Лайтнинг на страну + Узлов Lightning на страну src/app/components/graphs/graphs.component.html 39 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3579,14 +3996,14 @@ Lightning Nodes World Map - Мировая карта узлов Лайтнинг + Мировая карта узлов Lightning src/app/components/graphs/graphs.component.html 41 src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3596,14 +4013,14 @@ Lightning Nodes Channels World Map - Мировая карта лайтнинг-каналов + Мировая карта lightning-каналов src/app/components/graphs/graphs.component.html 43 src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Хэшрейт src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Хэшрейт и сложность src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Хэшрейт (ср.) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Графики src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,25 +4131,33 @@ Майнинг-терминал src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard Lightning Explorer - Лайтнинг-обозреватель + Lightning-обозреватель src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Документация src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,20 +4173,38 @@ documentation.title - - Stack of mempool blocks - Стек блоков мемпула + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. src/app/components/mempool-block/mempool-block.component.ts - 77 + 58 + + + + Stack of mempool blocks + Стек блоков пула ожидания + + src/app/components/mempool-block/mempool-block.component.ts + 83 Mempool block - Мемпул-блок + Блок пула ожидания src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Диапазон src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Сумма src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Статистика вознаграждений @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Последние блоки + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Транслировать транзакцию + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Успешность пулов + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Суммарная успешность всех майнинг-пулов за прошедшую неделю. Удача выше 100% означает, что среднее время блока для текущей эпохи составляет менее 10 минут. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Количество пулов + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Количество уникальных пулов, нашедших хотя бы один блок за последнюю неделю. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Количество блоков, найденных за последнюю неделю. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,37 +4372,73 @@ Ранг src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank Avg Health - Среднее здоровье + Сред. здоровье src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Пустые блоки + + Avg Block Fees + Сред. комиссия за блок src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Все майнеры src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Удача пулов (1 нед) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Кол-во пулов (1 нед) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Майнинг-пулы @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks блоков src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Другое ( ) src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ майнинг-пул src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Теги src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Показать все src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Скрыть src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Хэшрейт (24ч) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Предполагаемо + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Заявлено - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Удача - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Намайненные блоки - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24ч - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1 неделя src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Намайнено + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Тег коинбейс src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Транслировать транзакцию + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Хекс транзакции @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Впервые замечен + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Награда майнеров @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Сумма, выплаченная майнерам за последние 144 блока src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Средняя комиссия за блок - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Средняя комиссия за блок за последние 144 блока src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,21 +4911,25 @@ BTC/блок src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block Avg Tx Fee - Средняя комиссия за транзакцию + Сред. комиссия за транзакцию src/app/components/reward-stats/reward-stats.component.html 30 src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Средняя комиссия, оплаченная за каждую транзакцию за последние 144 блока src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ сат/транз src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Награда за транз-ю - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Исследуйте всю экосистему Биткоина src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Поиск src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4461,19 +5052,31 @@ Mempool by vBytes (sat/vByte) - Мемпул в vBytes (sat/vByte) + Пул ожидания в vBytes (sat/vByte) src/app/components/statistics/statistics.component.html 7 statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view Полноэкранный режим src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Фильтр src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Инвертировать src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Транзакционные vBytes в секунду (vB / s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Только что src/app/components/time/time.component.ts - 79 + 90 ago назад - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Через ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Через ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - После src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + После src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Эта транзакция была заменена на: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Эта транзакция заменила: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Заменена - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Неподтвержденные - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Впервые замечен - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Расчетное время src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Через несколько часов (или больше) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Потомок src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Предок src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Поток src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Скрыть диаграмму src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,28 +5453,28 @@ Показать больше src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more Show less - Показывай меньше + Показывать меньше src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,62 +5483,70 @@ Показать схему src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Время блокировки src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Транзакция не найдена. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found Waiting for it to appear in the mempool... - Ожидаем ее появления в мемпуле ... + Ожидаем ее появления в пуле ожидания... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Эффективная комиссионная ставка + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Новые сгенерированные монеты) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Привязка src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Подпись src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ Скрипт оплаты P2SH src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ Скрипт свидетеля P2WSH src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Скрипт предыдущего вывода src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Предыдущий тип выхода src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out в src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Показать больше входов, чтобы узнать данные о комиссиях src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ осталось src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Эта транзакция использует Taproot и уже сэкономила как минимум % на комиссиях, но может сэкономить дополнительно % за счет использования Taproot в полной мере. @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Эта транзакция НЕ поддерживает Replace-By-Fee (RBF) и не может в последствии быть ускорена с помощью этого метода. @@ -5305,28 +5880,51 @@ Transaction Fees - Транзакционные комиссии (приоритет) + Комиссии за транзакции src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Последние транзакции + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Мин. комиссия src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Очистка src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Использование памяти - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC в обращении src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space просто предоставляет данные о сети Биткойн. Мы не можем помочь вам с возвратом средств, с ускорением подтверждения вашей транзакции и т. д. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ Служба REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Конечная точка src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,19 +5991,23 @@ Описание src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-blocks, live-2h-chart, and stats.Push transactions related to address: 'track-address': '3PbJ...bF9B' to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions. - Пуш по умолчанию: действие: 'want', data: ['blocks', ...] , чтобы выразить то, что вы хотите запушить. Доступно: блоки , mempool-blocks , live-2h-chart иstats Пуш-транзакций, связанных с адресом: 'track-address': '3PbJ ... bF9B' для получения всех новых транзакционных входных или выходных данных, относящихся к данному адресу. Предоставляет массив транзакций. транзакций данного адреса, для новых транзакций мемпула и транзакций блока для транзакций, подтвержденных в новом блоке. + Стандартная отправка: действие: 'want', data: ['blocks', ...] , чтобы выразить, что вы хотите отправить. Доступно: blocks, mempool-blocks , live-2h-chart иstats Отправка-транзакций, связанных с адресом: 'track-address': '3PbJ ... bF9B' чтобы получить все новые транзакции, содержащие этот адрес в качестве входных или выходных данных.. Возвращает массив транзакций. транзакций данного адреса, для новых транзакций из пула ожидания и транзакции блока для транзакций, подтвержденных в новом блоке. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Пример кода src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Установить пакет src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Ответ src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - ЧАВО src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,28 +6136,28 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee mSats - мСат + mSats src/app/lightning/channel/channel-box/channel-box.component.html 35 src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Начальный баланс src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,17 +6256,17 @@ Конечный баланс src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance lightning channel - лайтнинг-канал + lightning-канал src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ Неактивный src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Активный src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Закрыт src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Создан src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Объем src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel - Лайтнинг-канал + Lightning-канал src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Последнее обновление src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Дата закрытия src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Закрыто src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Транзакция открытия src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Транзакция закрытия src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Открыть src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Нет каналов для отображения src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Псевдоним src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Статус - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID канала src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - сат - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg сред src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,55 +6651,55 @@ медиана src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small Avg Capacity - Средняя емкость + Сред. емкость src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity Avg Fee Rate - Средняя комиссия + Сред. комиссия src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm - Средняя комиссия, взимаемая узлами маршрутизации, без учета ставок комиссии >0,5% или 5000 частей на миллион. + Средняя комиссия, взимаемая узлами маршрутизации, без учета ставок комиссии > 0,5% или 5000 частей на миллион. src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc Avg Base Fee - Средняя базовая комиссия + Сред. базовая комиссия src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Средняя базовая комиссия, взимаемая узлами маршрутизации, без учета базовых комиссий > 5000 частей на миллион src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Медианныйобъем src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Медианная комиссия src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Медианная комиссия, взимаемая узлами маршрутизации, без учета ставок комиссии > 0,5% или 5000 частей на миллион. src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Медианная базовая комиссия src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,20 +6753,20 @@ Медианная базовая комиссия, взимаемая узлами маршрутизации, без учета базовых комиссий > 5000 частей на миллион src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc Lightning node group - Группа лайтнинг-узлов + Группа lightning-узлов src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Узлы src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Ликвидность src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Каналы src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Средний размер src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Расположение src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Статистика сети @@ -6370,7 +7008,7 @@ Lightning Network History - История сети Лайтнинг + История сети Lightning src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 49 @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Распределение комиссий @@ -6429,11 +7078,11 @@ Исходящие комиссии src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Входящие комиссии src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,32 +7102,32 @@ Процентное изменение за последнюю неделю src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week Lightning node - Лайтнинг-узел + Lightning-узел src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Активная емкость src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Активные каналы src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,25 +7162,36 @@ Страна src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Средний размер канала src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg Avg channel distance - Среднее расстояние между каналами + Сред. расстояние между каналами src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Цвет src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ Интернет-провайдер src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Исключительно Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Объявление ликвидности src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Комиссия за аренду src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Базовая комиссия за аренду src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Вес финансирования src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Комиссионная ставка канала src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Базовая комиссия канала src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Компактная аренда src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ Записи расширения TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Открытые каналы src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Закрытые каналы src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Узел: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (узлы Tor исключены) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map - Мировая карта каналов лайтнинг-узлов + Мировая карта узлов Lightning + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Данные геолокации недоступны src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Карта активных каналов src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Выполняется индексирование src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet и Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Только Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Только Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Поделиться src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes узлов src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,12 +7495,12 @@ Емкость BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 Lightning nodes in - лайтнинг-злы в + Lightning-узлы в src/app/lightning/nodes-per-country/nodes-per-country.component.html 3,4 @@ -6815,7 +7512,7 @@ Количество интернет-провайдеров src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,28 +7521,35 @@ Топ интернет-провайдеры src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp Lightning nodes in - лайтнинг-узлы в + Lightning-узлы в src/app/lightning/nodes-per-country/nodes-per-country.component.ts 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Емкость Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Сколько ликвидности в узлах, сообщающих хотя бы один IP-адрес на Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Емкость неизвестна src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Сколько ликвидности в узлах, интернет-провайдер которых не удалось идентифицировать src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Емкость Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Сколько ликвидности в узлах, сообщающих только адреса Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,28 +7611,41 @@ Топ-100 интернет-провайдеров, размещающих узлы LN src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Выполняется индексирование + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 Lightning ISP - Лайтнинг интернет-провайдер + Lightning интернет-провайдер src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Топ страна src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,13 +7667,13 @@ Топ узел src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node Lightning nodes on ISP: [AS] - Лайтнинг-узлы у провайдера: [AS ] + Lightning-узлов у провайдера: [AS ] src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts 44 @@ -6966,9 +7683,20 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: - Лайтнинг-узлы у провайдера: + Lightning-узлов у провайдера: src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 2,4 @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Активные узлы src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,18 +7726,39 @@ Топ-100 самых старых узлов Lightning src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes Oldest lightning nodes - Самые старые лайтнинг-узлы + Самые старые узлы Lightning src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Самые старые узлы @@ -7021,20 +7770,293 @@ Top lightning nodes - Топ лайтнинг-узлы + Топ lightning узлов src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts 22 - - Indexing in progress - Выполняется индексирование + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Неподтвержденные + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Условия использования + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Политика конфиденциальности + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year @@ -7070,7 +8092,7 @@ week - неделю + неделя src/app/shared/i18n/dates.ts 7 diff --git a/frontend/src/locale/messages.sl.xlf b/frontend/src/locale/messages.sl.xlf index 0ab3be00c..c5c2000a2 100644 --- a/frontend/src/locale/messages.sl.xlf +++ b/frontend/src/locale/messages.sl.xlf @@ -5,271 +5,271 @@ Close Zapri - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Prejšnji - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Naslednji - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Izberi mesec - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Izberi leto - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Prejšnji mesec - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Naslednji mesec - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Prva - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Prejšnja - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Naslednja - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Zadnja - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Ure - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minute - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Prištej ure - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Odštej ure - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Prištej minute - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Odštej minute - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Sekunde - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Prištej sekunde - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Odštej sekunde - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Zapri - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Izberi mesec + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Prejšnji mesec + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Ure + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Prejšnji + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Izberi leto + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Naslednji mesec + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Naslednji + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minute + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Prištej ure + + node_modules/src/ngb-config.ts + 13 + + + + First + Prva + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Prejšnja + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Odštej ure + + node_modules/src/ngb-config.ts + 13 + + + + Next + Naslednja + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Prištej minute + + node_modules/src/ngb-config.ts + 13 + + + + Last + Zadnja + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Odštej minute + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Sekunde + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Prištej sekunde + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Odštej sekunde + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -315,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -357,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -382,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -402,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Blok @@ -424,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -441,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -488,7 +495,14 @@ Blok : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -496,7 +510,7 @@ BSQ Bloki src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -505,31 +519,31 @@ Višina src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -538,7 +552,7 @@ Potrjeno src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -547,7 +561,7 @@ Transakcije src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -559,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -580,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -604,11 +637,11 @@ Bisq obseg trgovanja src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -617,11 +650,11 @@ Trgi src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -630,11 +663,11 @@ Bitcoin trgi src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -655,15 +688,15 @@ Tečaj src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -675,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -705,24 +742,38 @@ Najnovejši posli src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq indeks cen src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -731,7 +782,7 @@ Bisq tržna cena src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -740,11 +791,11 @@ Prikaži več » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -764,68 +815,12 @@ dashboard.view-more - - Terms of Service - Pogoji storitve - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Politika zasebnosti - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Nakup src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -834,7 +829,7 @@ Prodaja src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -843,14 +838,28 @@ Znesek () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ Statistika @@ -903,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -924,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -979,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Datum src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -992,11 +1008,11 @@ Znesek src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1004,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1048,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1068,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1081,23 +1097,27 @@ Transakcija src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1105,56 +1125,12 @@ shared.transaction - - confirmation - potrditev - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - potrditev - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Vključeno v blok src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1164,15 +1140,19 @@ Lastnosti src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1182,29 +1162,38 @@ Omrežnina na vBajt src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Podrobnosti src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1213,19 +1202,19 @@ Vhodi & Izhodi src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1239,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1251,7 +1247,7 @@ BSQ Transakcije src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1259,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1275,11 +1275,15 @@ Potrjeno src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1317,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1401,7 +1405,7 @@ Filter src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1409,7 +1413,7 @@ Izberi vse src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1420,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Posli @@ -1441,7 +1452,7 @@ Odprtokodni projekt Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1450,24 +1461,55 @@ Raziskovalec blokov in mempool-a razvit za Bitcoin skupnost, osredotočen na trg omrežnin za transakcije in večplastni ekosistem. Samogostovanje brez zaupanja vrednih tretjih oseb. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Sponzorji - podjetja 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Sponzorji - posamezniki ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1475,7 +1517,7 @@ Community Integrations src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1484,7 +1526,7 @@ Zavezništva skupnosti src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1493,7 +1535,7 @@ Prevajalci src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1502,7 +1544,7 @@ Sodelujoči src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1511,7 +1553,7 @@ Člani projekta src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1520,7 +1562,7 @@ Vzdrževalci src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1529,21 +1571,176 @@ O projektu src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of @@ -1577,11 +1774,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1589,11 +1786,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1601,7 +1798,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1610,11 +1807,22 @@ Naslov: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1672,15 +1880,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1807,11 +2019,11 @@ Skupina sredstev src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1831,7 +2043,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1852,23 +2064,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1889,16 +2105,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Oznaka src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1907,11 +2130,11 @@ Domena izdajatelja src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1920,11 +2143,11 @@ ID sredstva src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1933,7 +2156,7 @@ Napaka pri nalaganju podatkov o sredstvih. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1942,15 +2165,15 @@ Brez povezave src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1959,15 +2182,15 @@ Ponovno povezovanje... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1976,15 +2199,15 @@ Omrežja 2. plasti src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1993,15 +2216,15 @@ Pregledna plošča src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2010,7 +2233,7 @@ Statistika src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2019,11 +2242,11 @@ Dokumentacija src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2032,7 +2255,7 @@ Stopnje omrežnin v bloku src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2044,20 +2267,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Pri bloku: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2065,15 +2295,15 @@ Približno pri bloku: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2081,7 +2311,7 @@ Skupaj omrežnin na blok src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2093,28 +2323,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indeksiranje blokov src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2122,18 +2359,74 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 not available src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2144,13 +2437,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2158,33 +2455,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Stopnja omrežnine @@ -2194,11 +2469,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2206,41 +2481,553 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Efektivna stopnja omrežnine src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Navidezna velikost + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Nagrada na blok + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Velikosti blokov in uteži + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Velikost + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Utež + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Blok : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Mediana omrežnin + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Skupaj omrežnin + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Rudar + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Naslednji blok + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Prejšnji blok + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Razpon omrežnin + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Na podlagi povprečne native segwit transakcije (140 vBajtov). + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2262,485 +3049,17 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Navidezna velikost - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Natančnost napovedi vsebine blokov - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Stopnja ujemanja - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Nagrada na blok - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Velikosti blokov in uteži - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Velikost - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Utež - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Mediana omrežnin - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Skupaj omrežnin - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Rudar - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Blok : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Naslednji blok - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Prejšnji blok - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Razpon omrežnin - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Na podlagi povprečne native segwit transakcije (140 vBajtov). - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip Subsidy + fees src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2749,7 +3068,7 @@ Expected src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2757,11 +3076,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2769,7 +3088,7 @@ Actual src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2777,7 +3096,7 @@ Expected Block src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2785,16 +3104,45 @@ Actual Block src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2803,7 +3151,7 @@ Merkle koren src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2812,27 +3160,27 @@ Težavnost src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2841,7 +3189,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2850,7 +3198,7 @@ Glava bloka (Hex) src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2858,7 +3206,7 @@ Audit src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2868,23 +3216,31 @@ Podrobnosti src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2894,23 +3250,23 @@ Napaka pri nalaganju podatkov. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2918,7 +3274,7 @@ Why is this block empty? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2931,57 +3287,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Narudarjeno - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Nagrada src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -2990,15 +3341,15 @@ Omrežnine src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3007,30 +3358,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Kopirano! @@ -3039,12 +3423,60 @@ 19 + + High Priority + Visoka prioriteta + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Nepotrjeno + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Prilagojeno src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3053,7 +3485,7 @@ Sprememba src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3062,11 +3494,11 @@ Prilagoditev težavnosti src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3079,32 +3511,31 @@ Preostalo src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - blokov + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3121,11 +3552,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3134,11 +3565,11 @@ Ocena src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3147,11 +3578,11 @@ Prejšnja src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3160,11 +3591,7 @@ Trenutno obdobje src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3173,7 +3600,15 @@ Naslednja razpolovitev src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3181,7 +3616,7 @@ blocks expected src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3189,7 +3624,7 @@ block expected src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3197,7 +3632,7 @@ blocks mined src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3205,7 +3640,7 @@ block mined src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3213,7 +3648,7 @@ blocks remaining src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3221,7 +3656,7 @@ block remaining src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3229,7 +3664,7 @@ blocks ahead src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3237,7 +3672,7 @@ block ahead src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3245,7 +3680,7 @@ blocks behind src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3253,7 +3688,7 @@ block behind src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3261,7 +3696,7 @@ Average block time src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3270,7 +3705,7 @@ Bodisi 2-kratnik najnižje omrežnine ali stopnja nizke prioritete (kar je nižje) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3279,11 +3714,11 @@ Brez prioritete src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3292,7 +3727,7 @@ Vašo transakcijo običajno postavi med drugi in tretji blok mempool-a src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3301,11 +3736,11 @@ Nizka prioriteta src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3314,7 +3749,7 @@ Vašo transakcijo običajno postavi med prvi in drugi blok mempool-a src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3323,11 +3758,11 @@ Srednja prioriteta src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3336,33 +3771,16 @@ Vašo transakcijo postavi v prvi blok mempool-a src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Visoka prioriteta - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Pretočnost src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3371,11 +3789,11 @@ Sinhronizacija zaledja (backend) src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3384,35 +3802,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Nepotrjeno + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempool velikost src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3435,7 +3852,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3448,7 +3865,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3476,7 +3893,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3484,7 +3901,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3496,7 +3913,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3504,7 +3921,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3516,7 +3933,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3528,7 +3945,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3544,7 +3961,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3560,7 +3977,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3569,27 +3986,27 @@ Procesorska moč src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3598,24 +4015,31 @@ Procesorska moč & Težavnost src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Procesorska moč (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3647,15 +4071,15 @@ Grafi src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3664,11 +4088,15 @@ Rudarjenje src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3676,12 +4104,16 @@ Lightning Explorer src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3689,7 +4121,7 @@ Dokumentacija src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3697,12 +4129,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Sklad mempool blokov src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3710,7 +4149,18 @@ Mempool blok src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3718,7 +4168,7 @@ Razpon src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3726,9 +4176,17 @@ Skupno src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Statistika nagrad @@ -3747,18 +4205,21 @@ mining.144-blocks - - Latest blocks - Najnovejši bloki + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3769,31 +4230,12 @@ dashboard.adjustments - - Broadcast Transaction - Objava transakcije + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3804,12 +4246,15 @@ mining.miners-luck-1w - - Pools luck - Sreča združenj + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3818,7 +4263,7 @@ 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. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3831,12 +4276,15 @@ mining.miners-count-1w - - Pools count - Število združenj + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3845,7 +4293,7 @@ Število združenj z vsaj enim najdenim blokom v zadnjem tednu. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3858,11 +4306,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3871,7 +4319,7 @@ Število najdenih blokov v zadnjem tednu. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3880,15 +4328,15 @@ # src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3896,20 +4344,55 @@ Avg Health src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Prazni bloki + + Avg Block Fees src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3918,28 +4401,10 @@ Skupaj src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Sreča združenj (1 teden) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Število združenj (1 teden) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Rudarska združenja @@ -3948,38 +4413,45 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 Other () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3987,18 +4459,18 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 mining pool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4007,48 +4479,59 @@ Oznake src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Prikaži vse src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4057,7 +4540,7 @@ Skrij src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4066,116 +4549,39 @@ Procesorska moč (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Ocenjena + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Sporočena - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Sreča - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Narudarjeni bloki - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4184,27 +4590,82 @@ 1 teden src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Narudarjeno + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Coinbase oznaka src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Objava transakcije + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Šestnajstiški zapis @@ -4214,10 +4675,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Prejeto + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Skupaj nagrad @@ -4227,11 +4831,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4240,27 +4844,15 @@ Znesek izplačan rudarjem v zadnjih 144 blokih src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4268,7 +4860,7 @@ BTC/block src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4281,7 +4873,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4290,7 +4886,7 @@ Povprečna plačana omrežnina za transakcijo v zadnjih 144 blokih src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4299,29 +4895,24 @@ sat/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Nagrada na Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4330,7 +4921,7 @@ Iskanje src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4407,12 +4998,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV pogled src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4425,7 +5028,7 @@ Filter src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4434,7 +5037,7 @@ Obrni src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4443,69 +5046,43 @@ Pretočnost, vBajtov na sekundo (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Pravkar src/app/components/time/time.component.ts - 79 + 90 ago nazaj - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4514,16 +5091,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4547,24 +5133,15 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ src/app/components/time/time.component.ts 141 @@ -4573,17 +5150,25 @@ src/app/components/time/time.component.ts 142 - - - After - Po src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4607,24 +5192,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Po src/app/components/time/time.component.ts 164 @@ -4633,89 +5210,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Ta transakcija je bila nadomeščena z: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Nepotrjeno - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Prejeto - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4725,21 +5312,34 @@ V nekaj urah (ali več) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Potomec src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4749,20 +5349,29 @@ Prednik src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4771,7 +5380,7 @@ Hide diagram src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4779,15 +5388,15 @@ Show more src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4795,11 +5404,11 @@ Show less src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4807,25 +5416,43 @@ Show diagram src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transakcije ni mogoče najti. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4834,35 +5461,25 @@ Čakanje, da se prikaže v mempool-u... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Efektivna stopnja omrežnine + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Novo ustvarjeni kovanci) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4871,7 +5488,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4880,7 +5497,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4890,7 +5507,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4900,7 +5517,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4909,7 +5526,7 @@ P2SH redeem skripta src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4918,7 +5535,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4927,7 +5544,7 @@ P2WSH witness skripta src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -4936,7 +5553,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -4945,7 +5562,7 @@ Skripta prejšnjega izhoda src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -4954,7 +5571,7 @@ Tip prejšnjega izhoda src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -4963,7 +5580,7 @@ Peg-out v src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -4972,7 +5589,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -4982,7 +5599,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -4991,7 +5608,7 @@ Show more inputs to reveal fee data src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -4999,7 +5616,7 @@ remaining src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5093,31 +5710,6 @@ Tooltip about fees saved with taproot - - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot @@ -5159,20 +5751,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Ta transakcija NE omogoča povečanja omrežnine, z uporabo Replace-By-Fee (RBF). @@ -5224,25 +5802,48 @@ Omrežnina src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Najnovejše transakcije + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Najnižja omrežnina src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5252,39 +5853,33 @@ Prag src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Velikost - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC v obtoku src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5293,7 +5888,7 @@ REST API storitev src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5302,11 +5897,11 @@ Končna točka src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5315,11 +5910,15 @@ Opis src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5327,7 +5926,7 @@ Začetni potisk: action: 'want', data: ['blocks', ...] za izbiro potisnih podatkov. Razpoložljivo: blocks, mempool-blocks, live-2h-chart in stats.Potisk transakcij povezanih z naslovom: 'track-address': '3PbJ...bF9B' za prejem vseh novih transakcij, ki vsebujejo ta naslov v vhodu ali izhodu. Vrne polje transakcij. address-transactions za nove transakcije v mempool-u in block-transactions za potrjene transakcije v novem bloku. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5336,19 +5935,19 @@ Primer src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5357,7 +5956,7 @@ Namestitev paketa src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5366,32 +5965,85 @@ Odziv src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5402,7 +6054,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5414,15 +6066,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5490,11 +6142,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5502,7 +6154,7 @@ Starting balance src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5511,7 +6163,7 @@ Closing balance src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5520,7 +6172,7 @@ lightning channel src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5528,15 +6180,15 @@ Inactive src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5544,15 +6196,15 @@ Active src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5560,19 +6212,23 @@ Closed src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5580,11 +6236,11 @@ Created src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5592,15 +6248,19 @@ Capacity src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5612,43 +6272,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5656,31 +6316,42 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5688,31 +6359,31 @@ Last update src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5720,11 +6391,11 @@ Closing date src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5732,7 +6403,7 @@ Closed by src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5740,7 +6411,11 @@ Opening transaction src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5748,7 +6423,11 @@ Closing transaction src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5784,7 +6463,7 @@ Open src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5792,7 +6471,7 @@ No channels to display src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5800,111 +6479,55 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -5912,7 +6535,7 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -5920,11 +6543,11 @@ Avg Capacity src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -5932,11 +6555,11 @@ Avg Fee Rate src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -5944,7 +6567,7 @@ The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -5952,11 +6575,11 @@ Avg Base Fee src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -5964,7 +6587,7 @@ The average base fee charged by routing nodes, ignoring base fees > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -5972,7 +6595,7 @@ Med Capacity src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -5980,7 +6603,7 @@ Med Fee Rate src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -5988,7 +6611,7 @@ The median fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -5996,7 +6619,7 @@ Med Base Fee src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6004,7 +6627,7 @@ The median base fee charged by routing nodes, ignoring base fees > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6012,11 +6635,11 @@ Lightning node group src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6024,35 +6647,39 @@ Nodes src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6060,31 +6687,31 @@ Liquidity src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6092,11 +6719,11 @@ Channels src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6108,55 +6735,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6164,54 +6791,71 @@ Average size src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics @@ -6244,16 +6888,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6266,12 +6906,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution @@ -6284,37 +6939,37 @@ Outgoing Fees src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 Incoming Fees src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 Percentage change past week src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6322,15 +6977,15 @@ Lightning node src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6338,11 +6993,11 @@ Active capacity src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6350,11 +7005,11 @@ Active channels src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6362,15 +7017,26 @@ Country src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6378,7 +7044,7 @@ Avg channel distance src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6386,7 +7052,7 @@ Color src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6394,11 +7060,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6406,15 +7072,24 @@ Exclusively on Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6422,7 +7097,7 @@ Lease fee rate src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6431,7 +7106,7 @@ Lease base fee src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6439,7 +7114,7 @@ Funding weight src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6447,7 +7122,7 @@ Channel fee rate src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6456,7 +7131,7 @@ Channel base fee src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6464,7 +7139,7 @@ Compact lease src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6472,7 +7147,7 @@ TLV extension records src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6480,7 +7155,7 @@ Open channels src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6488,7 +7163,7 @@ Closed channels src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6496,31 +7171,38 @@ Node: src/app/lightning/node/node.component.ts - 60 + 62 (Tor nodes excluded) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6530,97 +7212,118 @@ No geolocation data available src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 Active channels map src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 Clearnet and Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 Clearnet Only (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 Darknet Only (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 Share src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 BTC capacity src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6635,7 +7338,7 @@ ISP Count src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6643,7 +7346,7 @@ Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6654,15 +7357,22 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6670,7 +7380,7 @@ How much liquidity is running on nodes advertising at least one clearnet IP address src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6678,11 +7388,11 @@ Unknown Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6690,7 +7400,7 @@ How much liquidity is running on nodes which ISP was not identifiable src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6698,11 +7408,11 @@ Tor Capacity src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6710,7 +7420,7 @@ How much liquidity is running on nodes advertising only Tor addresses src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6718,26 +7428,38 @@ Top 100 ISPs hosting LN nodes src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6745,11 +7467,11 @@ Top country src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6757,7 +7479,7 @@ Top node src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6772,6 +7494,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: @@ -6784,7 +7517,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6792,7 +7525,7 @@ Active nodes src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6800,7 +7533,7 @@ Top 100 oldest lightning nodes src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -6811,6 +7544,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes @@ -6826,13 +7580,287 @@ 22 - - Indexing in progress + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Nepotrjeno + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Pogoji storitve + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Politika zasebnosti + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.sv.xlf b/frontend/src/locale/messages.sv.xlf index 638a8403d..c9588da8c 100644 --- a/frontend/src/locale/messages.sv.xlf +++ b/frontend/src/locale/messages.sv.xlf @@ -5,273 +5,273 @@ Close Stäng - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Slide of - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Föregående - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Nästa - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Select month - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Select year - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Föregående månad - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Next month - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Första - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Föregående - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Nästa - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Sista - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Hours - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Minuter - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Öka timmar - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Minska timmar - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Öka minuter - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Minska minuter - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Sekunder - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Öka sekunder - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Minska sekunder - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Stäng - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Select month + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Föregående månad + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Hours + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Föregående + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Select year + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Next month + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Nästa + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Minuter + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Öka timmar + + node_modules/src/ngb-config.ts + 13 + + + + First + Första + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Föregående + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Minska timmar + + node_modules/src/ngb-config.ts + 13 + + + + Next + Nästa + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Öka minuter + + node_modules/src/ngb-config.ts + 13 + + + + Last + Sista + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Minska minuter + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Sekunder + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Öka sekunder + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Minska sekunder + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +317,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +359,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +384,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +404,14 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + Se aktuellt saldo, väntande transaktioner och historik över bekräftade transaktioner för BSQ-adress . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Block @@ -426,7 +434,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +451,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +498,15 @@ Block : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + Se alla BSQ-transaktioner i Bitcoin-blocket (blockhash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +514,7 @@ BSQ Blocks src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +523,31 @@ Höjd src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +556,7 @@ Bekräftad src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +565,7 @@ Transaktioner src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +577,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +610,31 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + Se en lista över senaste Bitcoin-block med BSQ-transaktioner, totalt BSQ skickat per block och mer. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +642,11 @@ Bisq handelsvolym src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +655,11 @@ Marknader src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +668,11 @@ Bitcoinmarknader src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +693,15 @@ Pris src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +713,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +747,40 @@ Senaste växlingarna src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + Marknader + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + Utforska hela Bitcoin-ekosystemet med The Mempool Open Source Project™. Se Bisqs marknadspriser, handelsaktivitet och mer. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq prisindex src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +789,7 @@ Bisq marknadspris src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +798,11 @@ Visa mer » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +822,12 @@ dashboard.view-more - - Terms of Service - Användarvillkor - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Integritetspolicy - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Köpbud src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +836,7 @@ Säljbud src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +845,30 @@ Mängd () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + Se prishistorik, aktuella köp-/säljerbjudanden och senaste affärer för -marknaden på Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ-statistik @@ -905,7 +921,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +942,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +997,20 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + Se statistik på hög nivå om BSQ-ekonomin: utbudsstatistik, antal adresser, BSQ-pris, marknadsvärde och mer. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Datum src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1018,11 @@ Belopp src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,12 +1030,12 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 Inputs - Inputs + Indata src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html 7 @@ -1050,15 +1074,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1094,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1107,27 @@ Transaktion src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1135,12 @@ shared.transaction - - confirmation - bekräftelser - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - bekräftelser - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Ingår i blocket src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1150,19 @@ Funktioner src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,50 +1172,60 @@ Avgift per vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + Avgift per viktenhet + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detaljer src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details Inputs & Outputs - Inputs & Outputs + Indata & utdata src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1239,19 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + Se indata, utdata, transaktionstyp, bränt belopp och mer för transaktion med txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1259,7 @@ BSQ Transaktioner src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1267,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1287,15 @@ Bekräftad src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1333,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1417,7 @@ Filter src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1425,7 @@ Välj alla src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1436,14 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + Se senaste BSQ-transaktioner: belopp, txid, tillhörande Bitcoin-block, transaktionstyp och mer. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Transaktioner @@ -1443,7 +1465,7 @@ Open Source-projektet Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1474,60 @@ Mempool- och blockchainutforskare för bitcoiners, med fokus på marknaden för transaktionsavgifter och flerlagerekosystemet, helt självhostad utan betrodda tredjeparttjänster. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + Bli en community-sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + Bli en företags-sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Företagssponsorer 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Communitysponsorer ❤️ + + Whale Sponsors + Whale-sponsorer src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + Chad-sponsorer + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + OG-sponsorer ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1536,7 @@ Communityintegrationer src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1545,7 @@ Communityallianser src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1554,7 @@ Projektöversättare src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1563,7 @@ Projektbidragare src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1572,7 @@ Projektmedlemmar src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1581,7 @@ Projektunderhållare src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1590,178 @@ Om src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + Lär dig mer om The Mempool Open Source Project®: företagssponsorer, individuella sponsorer, integrationer, vem som bidrar, FOSS-licensiering och mer. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig av @@ -1581,11 +1796,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1808,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1820,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1829,23 @@ Adress: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + Se mempooltransaktioner, bekräftade transaktioner, saldo och mer för address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1903,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2042,11 @@ Grupp av assets src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2066,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2087,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2128,24 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + Utforska alla tillgångar som ges ut på Liquid-nätverket som L-BTC, L-CAD, USDT och mer. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2154,11 @@ Utfärdardomän src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2167,11 @@ Asset ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2180,7 @@ Fel vid inläsning av assets-data. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2189,15 @@ Frånkopplad src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2206,15 @@ Återansluter... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2223,15 @@ Lager 2-nätverk src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2240,15 @@ Instrumentbräde src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2257,7 @@ Stats src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2266,11 @@ Dokumentation src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2279,7 @@ Block avgiftnivåer src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2291,28 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + Se Bitcoin-avgifter visualiserade över tid, inklusive lägsta och högsta avgifter per block tillsammans med avgifter i olika percentiler. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Vid block: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2320,15 @@ Runt block: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2336,7 @@ Blockavgifter src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2348,36 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + Se de genomsnittliga mining-avgifterna som tjänats in per Bitcoin-block visualiserat i BTC och USD över tiden. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Indexerar block src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2385,72 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + Blockhälsa + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + Blockhälsa + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + Se Bitcoin blockhälsa visualiserad över tid. Blockhälsa är ett mått på hur många förväntade transaktioner som ingick i ett faktiskt mineat block. Förväntade transaktioner bestäms med hjälp av Mempools återimplementering av Bitcoin Cores transaktionsvalsalgoritm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Ingen data att visa ännu. Försök igen senare. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + Hälsa + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2458,7 @@ Inte tillgängligt src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2469,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2487,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Avgiftssats @@ -2199,11 +2501,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2513,575 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Effektiv avgiftssats src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + Accelererad avgiftsnivå + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Virtuell storlek + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + Vikt + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Granskningsstatus + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Match + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Borttagen + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Marginell avgiftnivå + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + Högt antal sigops + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Nyligen utskickad + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + Nyligen CPFP-ad + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Tillagda + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + Konfliktande + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + Accelererad + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Blockbelöningar + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + Se Bitcoin-blockbelöningar i BTC och USD visualiserade över tid. Blockbelöningar är de totala medel som miners tjänar från blocksubventionen och avgifterna. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Blockstorlekar och vikt + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + Se Bitcoin-blockstorlekar (MB) och blockvikter (viktenheter) visualiserade över tid. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Storlek + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Viktenheter + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Storlek per viktenhet + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Block : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + Se storlek, vikt, avgiftsintervall, inkluderade transaktioner och mer för Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + Se storlek, vikt, avgiftsintervall, inkluderade transaktioner, revision (förväntat v faktisk) och mer för Bitcoin block ( ). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Block + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Medianavgift + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Avgifter totalt + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Miner + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + Detta block tillhör inte huvudkedjan, det har ersatts av: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Nästa block + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Föregående block + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Hälsa + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Okänd + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Avgiftspann + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Baserat på en genomsnittlig native segwit-transaktion på 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3103,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Virtuell storlek - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Granskningsstatus - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Match - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Borttagen - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Marginell avgiftnivå - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Nyligen utskickad - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Tillagda - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Träffsäkerhet för blockprediktion - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Ingen data att visa ännu. Försök igen senare. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Träffsäkerhet - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Blockbelöningar - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Blockstorlekar och vikt - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Storlek - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Viktenheter - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Storlek per viktenhet - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Block - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Medianavgift - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Avgifter totalt - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Miner - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Block : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Nästa block - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Föregående block - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Hälsa - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Okänd - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Avgiftspann - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Baserat på en genomsnittlig native segwit-transaktion på 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3110,11 @@ Subvention + avgifter src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3124,7 @@ Förväntat src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3133,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3146,7 @@ Faktiskt src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3155,7 @@ Förväntat block src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3164,46 @@ Faktiskt block src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bitar src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3212,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3221,27 @@ Svårighet src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3250,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3259,7 @@ Block Header Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3268,7 @@ Granskning src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3278,31 @@ Detaljer src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3312,23 @@ Fel vid laddning av data. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3337,7 @@ Varför är blocket tomt? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3350,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Minead - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Belöning src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3404,15 @@ Avgifter src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3421,67 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + Block + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + Se de senaste Liquid-blocken tillsammans med grundläggande statistik som blockhöjd, blockstorlek och mer. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + Se de senaste Bitcoin-blocken tillsammans med grundläggande statistik som blockhöjd, blockbelöning, blockstorlek och mer. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + Kalkylator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Kopierad! @@ -3063,12 +3490,61 @@ 19 + + High Priority + Hög prioritet + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + Minnesanvändning + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Obekräftade + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Justerad src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3553,7 @@ Förändring src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3562,11 @@ Svårighetsjustering src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3579,32 @@ Återstående src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - block + blocks + block src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3621,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3634,11 @@ Estimat src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3647,11 @@ Föregående src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3660,7 @@ Nuvarande period src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3669,15 @@ Nästa halvering src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3686,7 @@ förväntade block src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3695,7 @@ förväntade block src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3704,7 @@ mineade block src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3713,7 @@ mineade block src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3722,7 @@ återstående block src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3731,7 @@ återstående block src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3740,7 @@ block ikapp src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3749,7 @@ block ikapp src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3758,7 @@ blocks efter src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3767,7 @@ block efter src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3776,7 @@ Genomsnittlig blocktid src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3785,7 @@ Antingen 2x minimumavgiften eller Låg prioritet-avgiften (den lägsta) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3794,11 @@ Ingen prioritet src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3807,7 @@ Placerar vanligtvis din transaktion mellan det andra och tredje mempoolblocket src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3816,11 @@ Låg prioritet src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3829,7 @@ Placerar vanligtvis din transaktion mellan det första och andra mempoolblocket src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3838,11 @@ Medium prioritet src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3851,16 @@ Placerar din transaktion i första mempoolblocket src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Hög prioritet - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Inkommande transaktioner src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3869,11 @@ Backend synkroniserar src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3882,35 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Obekräftade + + WU/s + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempoolstorlek src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3933,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3946,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3977,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3985,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3998,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +4006,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +4019,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +4032,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4049,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4066,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4075,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4104,32 @@ Hashrate & svårighet src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + Se hashrate och svårighetsgrad för Bitcoin-nätverket visualiserat över tid. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Hashrate (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4161,15 @@ Grafer src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4178,15 @@ Mininginstrumentbräde src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4195,16 @@ Lightningutforskare src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4212,7 @@ Dokumentation src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4220,20 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + Se statistik för transaktioner i mempoolen: avgiftsintervall, sammanlagd storlek och mer. Mempool-block uppdateras i realtid när nätverket tar emot nya transaktioner. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Hög av mempoolblock src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4241,19 @@ Mempoolblock src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + Antal + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4261,7 @@ Spann src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4269,18 @@ Summa src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + Logga in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Belöningsstats @@ -3791,8 +4299,8 @@ mining.144-blocks - - Latest blocks + + Recent Blocks Senaste blocken src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3800,9 +4308,13 @@ src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4325,13 @@ dashboard.adjustments - - Broadcast Transaction - Publicera transaktion + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. + Få Bitcoin-miningstatistik i realtid som hashrate, svårighetsjustering, blockbelöningar, pooldominans och mer. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4342,16 @@ mining.miners-luck-1w - - Pools luck - Pooltursamhet + + Pools Luck + Poolers tur src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,25 +4360,29 @@ Den totala tursamheten för alla miningpooler under den senaste veckan. Tursamhet som är större än 100% betyder att den genomsnittliga blocktiden för den aktuella epoken är mindre än 10 minuter. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc Pools count (1w) - Antal pooler (1v) + Poolantal (1v) src/app/components/pool-ranking/pool-ranking.component.html 17 mining.miners-count-1w - - Pools count + + Pools Count Antal pooler src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4391,7 @@ Antalet unika pooler som hittade minst ett block under den senaste veckan. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4404,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4417,7 @@ Antalet block som hittats under den senaste veckan. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4426,15 @@ Ranking src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4443,57 @@ Snitthälsa src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks + + Avg Block Fees + Snitt blockavgifter + + src/app/components/pool-ranking/pool-ranking.component.html + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks Tomma block src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 98 mining.empty-blocks @@ -3963,28 +4502,10 @@ Alla miners src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Pools tur (1v) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Antal pooler (1v) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Miningpooler @@ -3993,24 +4514,32 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + Se de bästa Bitcoin-minngpoolerna rankade efter antal utvunna block över din önskade tidsram. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks block src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4547,15 @@ Övriga () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4563,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4575,7 @@ miningpool src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4584,60 @@ Taggar src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + Se mining pool-statistik för : de senaste minerade blocken, hashrate över tid, total blockbelöning hittills, kända coinbaseadresser och mer. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Visa alla src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4646,7 @@ Göm src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4655,40 @@ Hashrate (24h) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Beräknad + + Blocks (24h) + Block (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Rapporterad - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Tursamhet - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Mineade block - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24h - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4697,82 @@ 1v src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Minead + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Coinbasetagg src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Publicera transaktion + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Transaktions-hex @@ -4262,10 +4782,161 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + Utsänd transaktion + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + Sänd ut en transaktion till -nätverket med hjälp av transaktionens hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + RBF-ersättningar + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + Det finns inga ersättare i mempoolen ännu! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + Se de senaste RBF-ersättningarna på Bitcoin-nätverket, uppdaterat i realtid. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Först sedd + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Minerbelöning @@ -4275,11 +4946,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4959,16 @@ Mängd utbetalat senaste 144 blocken src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Snitt blockavgifter - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Snitt avgifter per block de senaste 144 blocken src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4977,7 @@ BTC/block src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4991,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +5004,7 @@ Avgifter betalade i genomsnitt per transaktion senaste 144 block src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +5013,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Belöning per tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Utforska hela Bitcoin-ekosystemet src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +5040,7 @@ Sök src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5125,25 @@ statistics.memory-by-vBytes + + Clock (Mempool) + Klocka (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV-vy src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5156,7 @@ Filter src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5165,7 @@ Invertera src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5174,46 @@ Transaktioner i vBytes per sekund (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + Begränsa utstickare + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + Se mempoolstorlek (i MvB) och transaktioner per sekund (i vB/s) visualiserade över tid. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + Se Bitcoin-block och mempoolstockningar i realtid i ett förenklat format perfekt för en TV. + + src/app/components/television/television.component.ts + 40 + + Just now Just nu src/app/components/time/time.component.ts - 79 + 90 ago sedan - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5222,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Om ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5264,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Om ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5282,25 @@ src/app/components/time/time.component.ts 142 - - - After - Efter src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5324,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Efter src/app/components/time/time.component.ts 164 @@ -4695,91 +5342,100 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + Få realtidsstatus, adresser, avgifter, skriptinformation och mer för transaktion med txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Transaktionen har blivit ersatt av: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Denna transaktion ersatte: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Ersatt - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Obekräftad - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Först sedd - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5445,35 @@ Om flera timmar (eller mer) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + Accelerera + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Ättling src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5483,31 @@ Förfader src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + RBF-historik + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Flöde src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5517,7 @@ Dölj diagram src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5526,15 @@ Visa mer src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5543,11 @@ Visa mindre src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5556,45 @@ Visa diagram src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + Justerad vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Locktime src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Transaktionen hittades inte src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5603,26 @@ Väntar på den att dyka upp i mempoolen... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Effektiv avgiftssats + + Accelerated fee rate + Accelererad avgiftsnivå src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Nyskapade mynt) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5631,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5640,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5650,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5660,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5669,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5678,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5687,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5696,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5705,7 @@ Föregående outputscript src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5714,7 @@ Föregående output-typ src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5723,7 @@ Peg-out till src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5732,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,17 +5742,17 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex Show more inputs to reveal fee data - Visa fler inputs för att visa feedata + Visa mer indata för att se feedata src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,13 +5761,13 @@ återstår src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining other inputs - andra inputs + annan indata src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 12 @@ -5172,32 +5863,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Denna transaktion använder Taproot och har redan sparat minst % på avgifter, men kan spara ytterligare % genom att använda Taproot fullt ut @@ -5243,20 +5908,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Denna transaktion stöder INTE Replace-By-Fee (RBF) och kan inte utnyttjas för att höja avgiften @@ -5308,25 +5959,52 @@ Transaktionsavgifter src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions + + Recent Replacements + Senaste ersättningarna + + src/app/dashboard/dashboard.component.html + 79 + + dashboard.recent-rbf-replacements + + + Previous fee + Tidigare avgift + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + Ny avgift + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions Senaste transaktionerna src/app/dashboard/dashboard.component.html - 120,123 + 153 - dashboard.latest-transactions + dashboard.recent-transactions Minimum fee Minimumavgift src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +6014,35 @@ Förkastar src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Minnesanvändning - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC i cirkulation src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space tillhandahåller bara data om Bitcoin-nätverket. Det kan inte hjälpa dig med att få tillbaka pengar, bekräfta din transaktion snabbare, etc. + + Incoming Transactions + Inkommande transaktioner - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). + mempool.space tillhandahåller bara data om Bitcoin-nätverket. Vi kan inte hjälpa dig med att få tillbaka pengar, problem med plånboken etc.För sådana förfrågningar måste du kontakta den entitet som användes för att genomföra transaktionen (plånboksprogramvaran, handelsplatsföretag, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +6051,7 @@ REST API service src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +6060,11 @@ Slutpunkt src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +6073,15 @@ Beskrivning src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6089,7 @@ Standard push: action: 'want', data: ['blocks', ...] för att uttrycka vad du vill ha pushat. Tillgängligt: blocks, mempool-blocks, live-2h-chart, och stats.Pusha transaktioner relaterat till address: 'track-address': '3PbJ...bF9B' för att ta emot alla nya transaktioner innehållandes den addressen som input eller output. Returnerar en lista av transaktioner. address-transactions för nya mempooltransaktioner, och block-transactions för nya blockbekräftade transaktioner. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6098,19 @@ Kodexempel src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6119,7 @@ Installera paketet src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6128,96 @@ Svar src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. + Få svar på vanliga frågor som: Vad är en mempool? Varför bekräftas inte min transaktion? Hur kan jag köra min egen instans av Mempool Open Source Project? Och mer. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. + Dokumentation för REST API-tjänsten liquid.network: få information om adresser, transaktioner, tillgångar, block och mer. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + Dokumentation för bisq.markets REST API-tjänst: få information om senaste affärer, aktuella erbjudanden, transaktioner, nätverksstatus och mer. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + Dokumentation för tjänsten mempool.space REST API: få information om adresser, transaktioner, block, avgifter, gruvdrift, Lightning-nätverket och mer. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + Dokumentation för tjänsten liquid.network WebSocket API: få realtidsinformation om block, mempooler, transaktioner, adresser och mer. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + Dokumentation för mempool.space WebSocket API-tjänsten: få realtidsinformation om block, mempooler, transaktioner, adresser och mer. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + Dokumentation för vårt Electrum RPC-gränssnitt: få omedelbar, bekväm och pålitlig åtkomst till en Esplora-instans. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6229,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6242,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6326,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6339,7 @@ Startbalans src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6349,7 @@ Stängningsbalans src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6359,7 @@ lightningkanal src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6368,15 @@ Inaktiv src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6385,15 @@ Aktiv src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6402,23 @@ Stängd src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6427,11 @@ Skapad src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6440,19 @@ Kapacitet src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6464,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6509,44 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + Översikt för Lightning-kanalen . Se kanalkapacitet, de inblandade Lightning-noderna, relaterade transaktioner i kedjan och mer. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Lightningkanal src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6555,31 @@ Senast uppdaterad src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6588,11 @@ Stängningsdatum src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6601,7 @@ Stängd av src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6610,11 @@ Öppningstransaktion src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6623,11 @@ Stängningstransaktion src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6668,7 @@ Öppen src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6677,7 @@ Inga kanaler att visa src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6686,57 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Status - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID Kanal-ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg snitt src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6745,7 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6754,11 @@ Snitt kapacitet src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6767,11 @@ Snitt avgift src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6780,7 @@ Den genomsnittliga avgiftssatsen som tas ut av routingnoder, ignorerar avgiftssatser >0,5 % eller 5 000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6789,11 @@ Snitt grundavgift src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6802,7 @@ Den genomsnittliga basavgiften som tas ut av routingnoder, ignorerar basavgifter > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6811,7 @@ Median kapacitet src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6820,7 @@ Median avgiftssats src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6829,7 @@ Medianavgiftssatsen som debiteras av routingnoder, ignorerar avgiftssatser >0,5% eller 5 000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6838,7 @@ Median basavgift src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6847,7 @@ Medianbasavgiften som tas ut av routingnoder, ignorerar basavgifter > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6856,11 @@ Lightningnodgrupp src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6869,39 @@ Noder src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6910,31 @@ Likviditet src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6943,11 @@ Kanaler src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6959,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +7016,74 @@ Medelstorlek src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + Anslut + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Plats src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + Bestraffningar + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Nätverksstatistik @@ -6386,16 +7120,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7139,28 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + Få statistik om Lightning-nätverket (sammanlagd kapacitet, anslutning, etc) och Lightning-noder (kanaler, likviditet, etc) och Lightning-kanaler (status, avgifter, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Avgiftdistribution @@ -6429,11 +7175,11 @@ Utgående avgifter src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7187,11 @@ Inkommande avgifter src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7199,15 @@ Procentuell förändring senaste veckan src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7216,15 @@ Lightningnod src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7233,11 @@ Aktiv kapacitet src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7246,11 @@ Aktiva kanaler src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7259,28 @@ Land src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + Översikt för Lightning-nätverksnoden . Se kanaler, kapacitet, plats, avgiftsstatistik och mer. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Snitt kanalstorlek src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7289,7 @@ Snitt kanalavstånd src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7298,7 @@ Färg src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7307,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7320,26 @@ Exklusivt på Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + Avkodad + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Likviditetsannons src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7348,7 @@ Lease avgiftnivå src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7358,7 @@ Lease basavgift src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7367,7 @@ Finansieringsweight src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7376,7 @@ Kanal avgiftsnivå src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7386,7 @@ Kanal basavgift src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7395,7 @@ Kompakt lease src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7404,7 @@ TLV-tilläggsposter src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7413,7 @@ Öppna kanaler src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7422,7 @@ Stängda kanaler src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7431,7 @@ Nod: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7439,33 @@ (Tor-noder exkluderade) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Världskarta över Lightning-noder och kanaler + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + Se kanalerna för icke-Tor Lightning-nätverksnoder visualiserade på en världskarta. Håll muspekaren/tryck på punkter på kartan för nodnamn och detaljer. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7476,7 @@ Ingen geolokaliseringsdata tillgänglig src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7484,36 @@ Karta över aktiva kanaler src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + Se platserna för icke-Tor Lightning-nätverksnoder visualiserade på en världskarta. Håll muspekaren/tryck på punkter på kartan för nodnamn och detaljer. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + Se antalet Lightning-nätverksnoder som visualiserats över tiden per nätverk: endast clearnet (IPv4, IPv6), darknet (Tor, I2p, cjdns) och båda. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Indexering pågår src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7521,11 @@ Clearnet och Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7533,11 @@ Endast Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7545,11 @@ Endast Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,40 +7557,48 @@ Dela src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + Se en geografisk uppdelning av Lightning-nätverket: hur många Lightning-noder som finns i länder runt om i världen, sammanlagd BTC-kapacitet för varje land och mer. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes noder src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 BTC capacity - BTC-kapacitet + BTC-kapacitet src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7615,7 @@ Antal ISPs src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7624,7 @@ Topp ISPs src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7636,24 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + Utforska alla Lightning-noder som finns i och se en översikt över varje nods kapacitet, antal öppna kanaler och mer. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Clearnet-kapacitet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7662,7 @@ Hur mycket likviditet körs på noder som annonserar minst en clearnet IP-adress src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7671,11 @@ Okänd kapacitet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7684,7 @@ Antal likviditet på noder som ISP inte var identifierbara src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7693,11 @@ Tor-kapacitet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7706,7 @@ Likviditet på noder som endast annonserar Tor-adresser src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7715,33 @@ Topp 100 internetleverantörer som är värd för LN-noder src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Indexering pågår + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC - BTC + BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7749,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7758,11 @@ Toppland src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7771,7 @@ Toppnod src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7787,18 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + Bläddra bland alla Bitcoin Lightning-noder med [AS] ISP och se aggregerad statistik som totalt antal noder, total kapacitet, och mer för ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Lightningnoder på ISP: @@ -6980,7 +7813,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7822,7 @@ Aktiva noder src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7831,7 @@ Topp 100 äldsta Lightningnoder src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7843,30 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + Se de äldsta noderna på Lightning-nätverket tillsammans med deras kapacitet, antal kanaler, plats osv. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + Se Lightning-noder med mest BTC-likviditet utplacerad tillsammans med statistik på hög nivå som antal öppna kanaler, plats, nodålder och mer. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + Se Lightning-noder med flest kanaler öppna tillsammans med statistik på hög nivå som total nodkapacitet, nodålder och mer. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Äldsta noder @@ -7027,14 +7884,317 @@ 22 - - Indexing in progress - Indexering pågår + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. + Se toppen av Lightning-nätverkets noder rankade efter likviditet, anslutning och ålder. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + Se Lightning-nätverkets kapacitet visualiserad över tid i form av antalet öppna kanaler och total bitcoinkapacitet. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + bekräftelse + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + bekräftelser + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + Ersatt + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + Borttagen + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Obekräftad + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + Mitt konto + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + Logga in + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + Utforska + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + Anslut till våra noder + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + API-dokumentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + Lär dig + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + Vad är en mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + Vad är en block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + Vad är en mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + Varför bekräftas inte min transaktion? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + Mer FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + Nätverk + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + Mainnet-utforskare + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + Testnet-utforskare + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + Signet-utforskare + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + Liquid Testnet-utforskare + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + Liquid-utforskare + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + Bisq-utforskare + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + Verktyg + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + Klocka (block) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + Rättsligt + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Användarvillkor + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Integritetspolicy + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + Varumärkespolicy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + Detta är ett testnätverk. Mynt har inget värde. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.th.xlf b/frontend/src/locale/messages.th.xlf index 08f380e3e..346c68525 100644 --- a/frontend/src/locale/messages.th.xlf +++ b/frontend/src/locale/messages.th.xlf @@ -5,273 +5,271 @@ Close ปิด - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - สไลด์ จาก - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - ก่อนหน้า - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - ถัดไป - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - เลือกเดือนที่ต้องการ - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - เลือกปีที่ต้องการ - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - เดือนก่อนหน้า - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - เดือนถัดไป - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - หน้าแรก - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - ก่อนหน้า - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - หน้าถัดไป - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - หน้าท้ายสุด - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - ชั่วโมง - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - นาที - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - ชั่วโมงที่เพิ่มขึ้น - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - ชั่วโมงที่ลดลง - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - นาทีที่เพิ่มขึ้น - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - นาทีที่ลดลง - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - วินาที - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - วินาทีที่เพิ่มขึ้น - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - วินาทีที่ลดลง - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close ปิด - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + เลือกเดือนที่ต้องการ + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + เดือนก่อนหน้า + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + ชั่วโมง + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + ก่อนหน้า + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + เลือกปีที่ต้องการ + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + เดือนถัดไป + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + ถัดไป + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + นาที + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + ชั่วโมงที่เพิ่มขึ้น + + node_modules/src/ngb-config.ts + 13 + + + + First + หน้าแรก + + node_modules/src/ngb-config.ts + 13 + + + + Previous + ก่อนหน้า + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + ชั่วโมงที่ลดลง + + node_modules/src/ngb-config.ts + 13 + + + + Next + หน้าถัดไป + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + นาทีที่เพิ่มขึ้น + + node_modules/src/ngb-config.ts + 13 + + + + Last + หน้าท้ายสุด + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + นาทีที่ลดลง + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + วินาที + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + วินาทีที่เพิ่มขึ้น + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + วินาทีที่ลดลง + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block บล็อก @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ บล็อก : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ บล็อก BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ ที่ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ ได้รับการยืนยัน src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ ธุรกรรม src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ ปริมาณการเทรด Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ ตลาด src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ ตลาดบิตคอยน์ src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ ราคา src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ การเทรดล่าสุด src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index ดัชนีราคา Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ ราคาตลาด Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ เรียกดูเพิ่มเติม » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - เงื่อนไขการให้บริการ - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - นโยบายความเป็นส่วนตัว - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers รายการซื้อ src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ รายการขาย src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ จำนวน () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics สถิติ BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date วันที่ src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ จำนวน src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ ธุรกรรม src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - การยืนยัน - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - การยืนยัน - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block ที่มีอยู่ในบล็อก src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ คุณสมบัติ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ ค่าธรรมเนียมต่อ vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details รายละเอียด src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ อินพุตและเอาต์พุต src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ ธุรกรรม BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ ได้รับการยืนยัน src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ ตัวกรอง src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ เลือกทั้งหมด src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades เทรด @@ -1443,7 +1452,7 @@ โปรเจค mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ ระบบ mempool และระบบสำรวจ blockchain สำหรับคอมมูนิตี้ Bitcoin โดยมุ่งเป้าไปที่ค่าธรรมเนียมการทำธุรกรรมต่างๆบนระบบและระบบนิเวศหลายชั้น อีกทั้งยังสามารถโฮสได้ด้วยตัวเองโดยปราศจากบุคคลที่สาม src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 ผู้สนับสนุนระดับองค์กร 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - ผู้สนับสนุน ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ การร่วมมือกับคอมมูนิตี้ src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ พันธมิตรของเรา src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ ผู้แปลโปรเจค src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ ผู้พัฒนาโปรเจค src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ สมาชิกในโปรเจคนี้ src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ ผู้ดูแลโปรเจค src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ เกี่ยวกับ src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Multisig จาก @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ แอดเดรส: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ กลุ่มของ สินทรัพย์ src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ ผู้จดโดเมน src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ไอดีของสินทรัพย์ src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ เกิดข้อผิดพลาดในการโหลดข้อมูลสินทรัพย์ src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ ออฟไลน์ src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ กำลังเชื่อมต่อใหม่... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ โครงข่ายเลเยอร์ 2 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ หน้าหลัก src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ สถิติ src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ เอกสาร src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ อัตราค่าธรรมเนียมของบล็อก src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: บล็อกที่: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ ประมาณบล็อกที่: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ ค่าธรรมของเนียมบล็อก src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks กำลังจัดเรียงบล็อก src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + ไม่มีข้อมูลที่จะแสดง โปรดลองอีกครั้งในภายหลัง + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ ไม่สามารถใช้ได้ src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate อัตราค่าธรรมเนียม @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + อัตราค่าธรรมเนียมที่เหมาะสม src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + ขนาดเสมือน + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + สถานะการตรวจสอบ + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + ตรงกัน + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + ถูกลบ + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + อัตราค่าธรรมเนียมเพิ่มเติม + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + ที่ประกาศไปล่าสุด + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + ถูกเพิ่ม + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + ค่าตอบแทนของบล็อก + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + ขนาดและน้ำหนักของบล็อก + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + ขนาด + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + น้ำหนัก + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + ขนาดต่อน้ำหนัก + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + บล็อก : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + บล็อก + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + ค่าธรรมเนียมกลาง + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + ค่าธรรมเนียมทั้งหมด + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + ผู้ขุด + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + บล็อกถัดไป + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + บล็อกก่อนหน้า + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + สถานะ + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + ไม่ทราบ + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + ช่วงของค่าธรรมเนียม + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + อิงตามธุรกรรม Segwit ดั้งเดิมที่มีค่าเฉลี่ย 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - ขนาดเสมือน - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - สถานะการตรวจสอบ - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - ตรงกัน - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - ถูกลบ - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - อัตราค่าธรรมเนียมเพิ่มเติม - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - ที่ประกาศไปล่าสุด - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - ถูกเพิ่ม - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - ความแม่นยำในการทำนายบล็อก - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - ไม่มีข้อมูลที่จะแสดง โปรดลองอีกครั้งในภายหลัง - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - เรทตรงกัน - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - ค่าตอบแทนของบล็อก - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - ขนาดและน้ำหนักของบล็อก - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - ขนาด - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - น้ำหนัก - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - ขนาดต่อน้ำหนัก - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - บล็อก - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - ค่าธรรมเนียมกลาง - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - ค่าธรรมเนียมทั้งหมด - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - ผู้ขุด - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - บล็อก : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - บล็อกถัดไป - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - บล็อกก่อนหน้า - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - สถานะ - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - ไม่ทราบ - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - ช่วงของค่าธรรมเนียม - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - อิงตามธุรกรรม Segwit ดั้งเดิมที่มีค่าเฉลี่ย 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ เงินอุดหนุน + ค่าธรรมเนียม src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ ที่คาดหวัง src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ เบต้า src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ ความจริง src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ บล็อกที่คาดหวัง src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ บล็อกจริง src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits บิต src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ ความยาก src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Hex ส่วนหัวบล็อก src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ การตรวจสอบ src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ รายละเอียด src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ เกิดข้อผิดพลาดในการโหลดข้อมูล src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ ทำไมบล็อกถึงว่าง? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - ถูกขุดเมื่อ - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward ค่าตอบแทน src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ ค่าธรรมเนียม src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! คัดลอก! @@ -3063,12 +3447,60 @@ 19 + + High Priority + ความสำคัญสูง + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + ยังไม่ได้รับการยืนยัน + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted เปลี่ยนแปลงไป src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ เปลี่ยนแปลง src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ การเปลี่ยนแปลงระดับความยาก src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ คงเหลือ src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - บล็อก + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ ประมาณ src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ ก่อนหน้า src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ ช่วงเวลาปัจจุบัน src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ การลดผลตอบแทนครั้งถัดไป src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ คาดว่าจะมีบล็อก src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ คาดว่าจะมีบล็อก src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ บล็อคที่ถูกขุด src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ บล็อกที่ถูกขุด src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ คงเหลือ บล็อก src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ คงเหลือ บล็อก src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ บล็อกข้างหน้า src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ บล็อกข้างหน้า src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ บล็อกข้างหลัง src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ บล็อกข้างหลัง src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ เวลาบล็อกโดยเฉลี่ย src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ 2 เท่าของค่าต่ำสุดหรือความสำคัญต่ำ (อะไรก็ได้ที่ต่ำกว่า) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ ไม่มีความสำคัญ src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ โดยปกติจะวางธุรกรรมของคุณระหว่างบล็อก mempool ที่สองและสาม src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ ความสำคัญต่ำ src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ โดยปกติจะวางธุรกรรมของคุณระหว่างบล็อก mempool ที่หนึ่งและที่สอง src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ ความสำคัญปานกลาง src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ วางธุรกรรมของคุณในบล็อกแรกของ mempool src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - ความสำคัญสูง - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions ธุรกรรมที่เข้ามา src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ กำลังโหลดข้อมูล src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - ยังไม่ได้รับการยืนยัน + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size ขนาด mempool src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ อัตราแฮช src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ อัตราแฮช และ ความยาก src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) อัตราแฮช (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ กราฟ src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ หน้าต่างการขุด src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ ตัวสำรวจ lightning src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ เอกสารคำอภิบาย src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks ชั้นของ บล็อก mempool src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ บล็อก mempool src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ ระยะ src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ ผลรวม src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats สถานะค่าตอบแทน @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - บล็อกล่าสุด + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - ประกาศธุรกรรม + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - ความโชคดีใน pool + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ ค่าความโชคดีโดยรวมของ pool การขุดทั้งหมดในสัปดาห์ที่ผ่านมา โชคที่มากกว่า 100% หมายถึงเวลาบล็อกเฉลี่ยสำหรับยุคปัจจุบันน้อยกว่า 10 นาที src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - จำนวนพูล + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ จำนวนพูลที่ไม่ซ้ำกันที่พบอย่างน้อยหนึ่งบล็อกในสัปดาห์ที่ผ่านมา src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ จำนวนบล็อกที่พบในสัปดาห์ที่ผ่านมา src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ อัดดับการขุด src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ สุขภาพโดยเฉลี่ย src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - บล็อกว่างเปล่า + + Avg Block Fees + ค่าธรรมเนียมบล็อกโดยเฉลี่ย src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ ผู้ขุดทั้งหมด src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - ความโชคดีของพูล (1 สัปดาห์) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - จำนวนผู้ขุดในพูล (1 สัปดาห์) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools พูลขุด @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks บล็อก src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ อื่นๆ () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ พูลที่ใช้ขุด src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ แท็ก src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all แสดงทั้งหมด src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ ซ่อน src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ อัตราแฮช (24 ชั่วโมง) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - ประมาณ + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - รายงานเรียบร้อย - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - ค่าความโชคดี - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - บล็อกที่ถูกขุด - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24 ชั่วโมง - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1 อาทิตย์ src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + ถูกขุดเมื่อ + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag แท็ก coinbase src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + ประกาศธุรกรรม + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex hex ของธุรกรรม @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + พบเห็นครั้งแรก + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward ค่าตอบแทนนักขุด @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ ค่าที่ถูกจ่ายให้นักขุดใน 144 บล็อกที่ผ่านมา src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - ค่าธรรมเนียมบล็อกโดยเฉลี่ย - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks ค่าธรรมเนียมเฉลี่ยต่อบล็อกใน 144 บล็อกที่ผ่านมา src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/บล็อก src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ ค่าธรรมเนียมเฉลี่ยที่ถูกจ่ายในแต่ละธุรกรรมใน 144 บล็อกที่ผ่านมา src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - ค่าตอบแทนต่อ Tx - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem สำรวจระบบนิเวศ Bitcoin เต็มรูปแบบ src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ ค้นหา src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view มุมมองทีวี src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ ตัวกรอง src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ กลับ src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ ธุรกรรมต่อวินาที (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now ตอนนี้ src/app/components/time/time.component.ts - 79 + 90 ago ที่ผ่านมา - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - ใน ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + ใน ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - หลังจาก src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + หลังจาก src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: ธุรกรรมนี้ถูกแทนที่ด้วย: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - ธุรกรรมนี้แทนที่: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - แทนที่ - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - ยังไม่ได้รับการยืนยัน - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - พบเห็นครั้งแรก - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA ETA src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ ภายในหลายชั่วโมง (หรือมากกว่า) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant ผู้สืบทอด src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ บรรพบุรุษ src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Flow src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ ซ่อนไดอะแกรมนี้ src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ แสดงเพิ่มเติม src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ แสดงน้อยลง src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ แสดงไดอะแกรม src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime เวลาล็อก src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. ไม่พบเจอธุรกรรมนี้ src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ กำลังรอให้ปรากฏใน mempool... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - อัตราค่าธรรมเนียมที่เหมาะสม + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (เหรียญที่ถูกสร้างใหม่) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ พยาน src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ สคริปต์ถอน P2SH src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ สคริปต์พยาน P2SH src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nลำดับ src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ สคริปต์เอาต์พุตก่อนหน้า src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ ประเภทของ output ก่อนหน้า src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Peg-out ไปยัง src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ แสดงอินพุตเพิ่มเติมเพื่อเปิดเผยข้อมูลค่าธรรมเนียม src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ คงเหลือ src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot การทำธุรกรรมนี้ใช้ Taproot และประหยัดค่าธรรมเนียมไปแล้วอย่างน้อย % แต่สามารถประหยัด เพิ่มเติมได้เมื่อใช้ Taproot อย่างเต็มที่ @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method ธุรกรรมนี้ไม่รองรับ Replace-By-Fee (RBF) และไม่สามารถจ่ายค่าธรรมเนียมเพิ่มได้โดยใช้วิธีนี้ @@ -5308,25 +5883,48 @@ ค่าธรรมเนียมการทำธุรกรรม src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - ธุรกรรมล่าสุด + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee ค่าธรรมเนียมขั้นต่ำ src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ กำลังล้าง src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - หน่วยความจำที่ใช้ไป - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation อุปทานหมุนเวียน L-BTC src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space ให้ข้อมูลเกี่ยวกับเครือข่าย Bitcoin เท่านั้น ไม่สามารถช่วยคุณเรียกเงิน ยืนยันธุรกรรมเร็วขึ้น ฯลฯ + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ บริการ REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ ปลายทาง src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ คำอธิบาย src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ ค่าตอบกลับพื้นฐาน: การกระทำ: 'ต้องการ', ข้อมูล: ['บล็อก', ...] เพื่ออธิบายค่าที่ต้องการตอบกลับ. ที่ใช้งานได้: บล็อก, บล็อก-mempool, ชาตสด-2h, และ สถิติ.ส่งธุรกรรมไปยังแอดเดรส: 'track-address': '3PbJ...bF9B' เพื่อที่จะได้รับธุรกรรมใหม่ทั้งหมดที่มี input/output ของแอดเดรสนั้น. ตอบกลับเป็นอาเรย์ของธุรกรรม. แอดเดรส-ธุรกรรม สำหรับธุรกรรม mempool ใหม่, และ ธุรกรรม-บล็อก สำหรับธุรกรรมที่ถูกยืนยันในบล็อกใหม่ src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ โค้ดตัวอย่าง src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ แพ็คเกจที่ติดตั้ง src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ การตอบกลับ src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - คำถามที่พบบ่อย src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ ยอดเงินเริ่มต้น src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ ยอดเงินหลังปิด src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ แชนแนล lightning src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ ไม่ใช้งาน src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ คล่องแคล่ว src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ ปิด src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ สร้างเมื่อ src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ ความจุ src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel แชนแนล lightning src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ วันที่อัปเดตล่าสุด src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ วันที่ปิด src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ ปิดโดย src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ เปิดธุรกรรม src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ ปิดการทำธุรกรรม src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ เปิด src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ ไม่มีแชนแนลให้แสดง src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ นามแฝง src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - สถานะ - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID แชนแนล src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg avg src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ med src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ ความจุโดยเฉลี่ย src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ อัตราค่าธรรมเนียมโดยเฉลี่ย src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ อัตราค่าธรรมเนียมเฉลี่ยที่เรียกเก็บโดยโหนดการกำหนดเส้นทาง โดยไม่สนใจอัตราค่าธรรมเนียม > 0.5% หรือ 5,000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ ค่าธรรมเนียมเริ่มต้นโดยเฉลี่ย src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ ค่าธรรมเนียมเฉลี่ยที่เรียกเก็บโดยโหนดการกำหนดเส้นทาง โดยไม่สนใจค่าธรรมเนียมพื้นฐาน > 5,000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ ความจุโดยเฉลี่ย src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ ค่าธรรมเนียมโดยเฉลี่ย src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ อัตราค่าธรรมเนียมเรียกเก็บโดยโหนดการกำหนดเส้นทาง โดยไม่สนใจอัตราค่าธรรมเนียม > 0.5% หรือ 5,000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ ค่าธรรมเนียมขั้นต่ำโดยเฉลี่ย src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ ค่าธรรมเนียมที่เรียกเก็บโดยโหนดการกำหนดเส้นทาง โดยไม่สนใจค่าธรรมเนียมพื้นฐาน > 5,000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ กลุ่มโหนด lighting src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ โหนด src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ สภาพคล่อง src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ แชนเนล src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ ขนาดโดยเฉลี่ย src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location สถานที่ตั้ง src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics สถานะเครือข่าย @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution การกระจายค่าธรรมเนียม @@ -6429,11 +7078,11 @@ ค่าธรรมเนียมขาออก src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ ค่าธรรมเนียมขาเข้า src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ เปอร์เซ็นต์การเปลี่ยนแปลงในสัปดาห์ที่ผ่านมา src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ โหนด lightning src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ ความจุที่ใช้งานอยู่ src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ แชนแนลที่ใช้งานอยู่ src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ ประเทศ src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size ขนาดแชนแนลโดยเฉลี่ย src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ ระยะทางเฉลี่ยของแชนแนล src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ สี src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ เฉพาะบนทอร์ src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad ad สภาพคล่อง src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ ค่าธรรมเนียมสำหรับการเช่า src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ ค่าธรรมเนียมขั้นต่ำสำหรับการเช่า src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ น้ำหนักเงินทุน src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ อัตราค่าธรรมเนียมของแชนแนล src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ ค่าธรรมเนียมขั้นต่ำของแชนแนล src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ lease ขนาดกะทัดรัด src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ บันทึกส่วนขยาย TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ แชนแนลที่เปิด src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ แชนแนลที่ถูกปิด src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ โหนด: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (ไม่รวมโหนด Tor) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map แผนที่แชนแนลโหนด lighting ทั้งโลก + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ ไม่พบข้อมูลแหล่งที่ตั้ง src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ แผนที่แชนแนลที่ใช้งานอยู่ src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress กำลังทำการจัดเรียงข้อมูล src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Clearnet และ Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Clearnet เท่านั้น (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Darknet เท่านั้น (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ แชร์ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes โหนด src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ ความจุ BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ จำนวน ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ ISP ชั้นนำ src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity ความจุ clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ สภาพคล่องที่ทำงานอยู่บนโหนดที่เปิดใช้งานอยู่บนไอพีของ clearnet อย่างน้อยหนึ่งไอพี src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ ไม่ทราบความจุ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ สภาพคล่องที่ทำงานบนโหนดที่ ISP ไม่สามารถระบุได้ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ ความจุของ Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ สภาพคล่องที่ทำงานบนโหนดที่ใช้งานบนเฉพาะเครือข่าย Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ 100 ISP อันดับต้นๆที่เปิดโหนด lignting src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + กำลังทำการจัดเรียงข้อมูล + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ ประเทศอันดับต้นๆ src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ โหนดอันดับต้นๆ src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: โหนด lightning ใน ISP นี้: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ โหนดที่ใช้งานอยู่ src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ 100 โหนด lightning ที่เปิดนานที่สุด src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes โหนดที่เก่าที่สุด @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - กำลังทำการจัดเรียงข้อมูล + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + ยังไม่ได้รับการยืนยัน + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + เงื่อนไขการให้บริการ + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + นโยบายความเป็นส่วนตัว + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.tr.xlf b/frontend/src/locale/messages.tr.xlf index 5b0562285..3ec2a95dd 100644 --- a/frontend/src/locale/messages.tr.xlf +++ b/frontend/src/locale/messages.tr.xlf @@ -5,273 +5,271 @@ Close Kapat - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Slayt 'nin 'i - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Önceki - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Sonraki - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Ay seç - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Yıl Seç - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Önceki ay - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Sonraki ay - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Ilk - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Önceki - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Sonraki - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - En son - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Saat - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Dakika - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Saatlik artış - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Saatlik azalış - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Dakikalık artış - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Dakikalık azalış - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Saniye - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Saniyelik artış - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Saniyelik azalış - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Kapat - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Ay seç + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Önceki ay + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Saat + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Önceki + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Yıl Seç + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Sonraki ay + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Sonraki + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Dakika + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Saatlik artış + + node_modules/src/ngb-config.ts + 13 + + + + First + Ilk + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Önceki + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Saatlik azalış + + node_modules/src/ngb-config.ts + 13 + + + + Next + Sonraki + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Dakikalık artış + + node_modules/src/ngb-config.ts + 13 + + + + Last + En son + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Dakikalık azalış + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Saniye + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Saniyelik artış + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Saniyelik azalış + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Blok @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Block : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ Blokları src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Yükseklik src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Onaylandı src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ İşlemler src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Bisq ticaret hacmi src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Çiftler src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Bitcoin Çiftleri src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Fiyat src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Güncel Alım Satımlar src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq fiyat endeksi src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Bisq market fiyatı src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Daha fazlasını gör » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Hizmet Koşulları - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Gizlilik politikası - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Alım Teklifleri src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Satış Teklifleri src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Miktar () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ istatistikleri @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Tarih src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Miktar src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ İşlem src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - onay - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - onaylar - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block İçinde bulunduğu blok src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Özellikler src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ vByte başı ücret src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Detaylar src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Giriş ve Çıkışlar src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Bsq işlemleri src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ İşlem Dökümü src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Onaylı src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Filtre src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Hepsini seç src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades İşlemler @@ -1443,7 +1452,7 @@ Açık kaynak Kodlu Mempool Projesi src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Mempool, üçüncü partilere güvenmek zorunda kalmadan kendi bilgisayarınızda barındırabileceğiniz, Bitcoin ve ikinci katman çözümleri için işlem ücreti piyasasını önünüze sunan açık kaynak kodlu bir blok kaşifi yazılımıdır. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Kurumsal sponsorlar src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Topluluk sponsorlarımız + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Topluluk İntegrasyonları src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Topluluk İşbirlikleri src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Proje Çeviricileri src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Proje Destekçileri src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Proje Üyeleri src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Projeyi ayakta tutanlar src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Hakkında src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Çoklu imza / @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Adres: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ varlık grubu src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Ihraç edenin domaini src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ Aset ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Varlık datasını yüklerken hata oldu src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Çevrimdışı src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Tekrardan bağlanıyor.... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ 2. Katman Ağlar src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Panel src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Stat src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Dökümanlar src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Blok İşlem Ücreti Oranları src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: . blokta src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Yaklaşık . blokta src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Blok İşlem Ücretleri src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Bloklar İndeksleniyor src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Gösterilecek data yok. Sonra tekrar deneyiniz. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ Müsait değil src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Ücret değeri @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Efektiv işlem ücreti oranı src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Sanal Boyut + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Denetlenme durumu + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Eşleşti + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Kaldırıldı + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Marjinal Ücret Değeri + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Yakın zamanda yayınlanan + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Eklenen + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Blok Ödülleri + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Blok Büyükleri ve Ağırlıkları + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Boyut + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Ağırlık + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Ağırlık başına düşen boyut + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Blok: / + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Blok + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Medyan ücret + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Toplam ücret + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Madenci + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Sonraki Blok + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Önceki Blok + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Sağlık + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Bilinmiyor + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Ücret aralığı + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + 140 vbytelık ortalama native segwit ücreti baz alınmıştır + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Sanal Boyut - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Denetlenme durumu - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Eşleşti - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Kaldırıldı - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Marjinal Ücret Değeri - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Yakın zamanda yayınlanan - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Eklenen - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Blok tahmin isabeti - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Gösterilecek data yok. Sonra tekrar deneyiniz. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Eşleme yüzdesi - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Blok Ödülleri - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Blok Büyükleri ve Ağırlıkları - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Boyut - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Ağırlık - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Ağırlık başına düşen boyut - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Blok - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Medyan ücret - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Toplam ücret - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Madenci - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Blok: / - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Sonraki Blok - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Önceki Blok - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Sağlık - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Bilinmiyor - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Ücret aralığı - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - 140 vbytelık ortalama native segwit ücreti baz alınmıştır - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Ödül + ücretler src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Beklenen src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Aktüel src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Beklenen blok src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Gerçekleşen blok src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bit src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle kökü src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Zorluk src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Block Başlığı Hex'i src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Denetleme src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Detaylar src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Veriyi yüklerken hata oluştu src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Blok neden boş? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Çıkarıldı - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Ödüller src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ İşlem Ücretleri src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ İşlemler src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Kopyalandı! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Yüksek Öncelik + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Onaylanmayan + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Ayarlandı src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Değişiklik src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Zorluk Seviyesi src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Kalan src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - bloklar + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Tahmini src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Önceki src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Şimdiki periyod src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Bir Sonraki Yarılanma Dönemi src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ beklenen blok: src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ beklenen blok: src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ kazılan bloklar: src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ kazılan bloklar: src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ kalan bloklar: src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ kalan bloklar: src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ blok önde src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ blok önde src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ blok geride src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ blok geride src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Ortalama blok zamanı src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Minimum önceliğin 2x katı ya da minimum işlem önceliği (hangisi daha düşük ise) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Öncelik Yok src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ İşlemlerinizi genellikle ikinci ve üçüncü mempool bloğu arasına yerleştirir src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Düşük Öncelik src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ İşlemlerinizi genellikle birinci ve ikinci mempool bloğu arasına yerleştirir src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Orta Öncelik src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ İşleminizi hemen bir sonraki blok için önceliklendirir src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Yüksek Öncelik - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Gelen işlemler src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Backend eşzamanlanıyor src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Onaylanmayan + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Mempool boyutu src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Hashrate src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Hashrate ve Zorluk src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Hashrate (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Grafikler src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Mining Paneli src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Lightning tarayıcı src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Dökümentasyon src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks mempool blok yığını src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Mempool bloğu src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Aralık src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Toplam src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Ödül İstatistikleri @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Son bloklar + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - İşlemi Ağa Sal + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Havuz şansı + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Geçtiğimiz hafta içindeki madencilik havuzu şansı. %100'ün üzerindeki bir değer bulunduğumuz zorluk seviyesinde ortalama 10 dakikanın altında blok bulunduğunu gösterir. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Havuz sayısı + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Geçtiğimiz hafta içerisinde blok bulmuş farklı havuz sayısı src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Geçtiğimiz hafta bulunan blok sayısı src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Sıralama src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Ortalama sağlık src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Boş Bloklar + + Avg Block Fees + Ortalama Blok Ücreti src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Tüm madenciler src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Havuzun Talihi (1h) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Toplam Havuzlar (1h) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Madenci Havuzları @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks bloklar src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Diğer () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ madencilik havuzu src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Etiketler src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Tümünü göster src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Gizle src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Hashrate (24s) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Öngörülen + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Raporlanmış - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Talih - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Bulunan bloklar - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24s - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1h src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Çıkarıldı + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Coinbase etiketi src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + İşlemi Ağa Sal + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Hex İşlem @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + İlk görüldüğü an + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Madenci Ödülleri @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Son 144 bloğun madenci ödülleri src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Ortalama Blok Ücreti - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Son 144 blok için ortalama ücret src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/blok src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Son 144 blokta işlem başına ödenen ortalama işlem ücreti src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/işlem src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - İşlem Başına Ödül - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Bütün Bitcoin ekosistemini incele src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Ara src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV görünümü src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Filtre src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Ters çevir src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ Saniye başı vBytes (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Az önce src/app/components/time/time.component.ts - 79 + 90 ago önce - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Yaklaşık src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Yaklaşık src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - sonrası src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + sonrası src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Bu işlem takip eden işlemle değiştirilmiştir: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Bu işlem değiştirildi: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Değiştirildi - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Onaylanmamış - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - İlk görüldüğü an - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Tahmini Varış Süresi src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ Bir kaç saat içinde (veya daha sonra) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Azalan src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Ata src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Akış src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Diyagramı kapat src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Daha fazla göster src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Daha az göster src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Diyagramı göster src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Kilit Süresi src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. İşlem bulunamadı. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Mempool'a dahil olmayı bekliyor. src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Efektiv işlem ücreti oranı + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Yeni Kazınmış Koinler) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH alım scripti src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH tanık scripti src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Önceki çıkış scripti src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Önceki çıkış tipi src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ 'ye çıkar src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Ücret datasının için daha çok girdi göster src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ Kalan src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Bu işlem Taproot kullanıyor ve en azından % işlem ücreti tasarrufu sağladı, tümü ile Taproot kullanması halinde % daha tasarruf sağlayabilirdi. @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Bu işlem ücret karşılığı değiştir (RBF)'yi desteklemediğinden ücret arttırmı yapılamaz. @@ -5308,25 +5883,48 @@ İşlem Ücretleri src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Son işlemler + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Minimum ücret src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Temizleme src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Hafıza kullanımı - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation Dolaşımdaki L-BTC miktarı src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space sadece Bitcoin ağı ile ilgili bilgi sağlar. Kayıp gönderilerinize ulaşmanız veya işlemleri hızlandırmanız gibi istekleriniz için size çözüm sağlayamaz. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API servisi src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Çıkış Noktası src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Tanım src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Varsayılan ileti: action: 'want', data: ['blocks', ...] iletmek istediğini belirt. Kullanılabilir alanlar: blocks, mempool-blocks, live-2h-chart ve stats. Takip eden adresle ilişkili işlemleri ileterek: 'track-address': '3PbJ...bF9B' bu adresi içeren bütün giriş ve çıkış işlemlerini al. İşlemleri sırala. Yeni mempool işlemleri içinaddress-transactions ve yeni onaylı blok işlemleri için block-transcations kullan. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Örnek kod src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Yükleme paketi src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Cevap src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - SSS src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Başlangıç balansı src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Kapanış balansı src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ lightning kanalı src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ İnaktif src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Aktif src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Kapalı src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Oluşturuldu src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Kapasite src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Lightning kanalı src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Son güncelleme src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Kapanış tarihi src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Kapayan src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Açılış işlemi src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Kapanış işlemi src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Açık src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Gösterilecek kanal bulunamadı src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Takma ad src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Durum - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID Kanal ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg ortalama src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ orta src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Ortalama Kapasite src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Ortalama ücret oranı src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Rotalayan Node'ların ortalama ücret oranı, değişken ücret oranları hariç > 0.5 veya 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Ortalama Baz Ücret src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Rotalayan Node'ların ortalama ücret oranı, baz ücretler hariç > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Orta Kapasite src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Orta Ücret Oranı src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Rotalayan Node'ların medyan ücret oranı, değişken ücret oranları hariç > 0.5% veya 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Orta Baz Ücret src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Rotalayan Node'ların medyan ücret oranı, baz ücretler hariç > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Lightning Node'u Grubu src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Node'lar src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Likidite src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Kanallar src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Ortalama büyüklük src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Lokasyon src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Ağ İstatistikleri @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Ücret dağılımı @@ -6429,11 +7078,11 @@ Giden ücretler src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Gelen ücretler src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Geçen haftaya göre yüzdelik değişim src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Lightning Node'u src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Aktif Kapasite src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Aktif Kanallar src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Ülke src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Ortalama kanal büyüklüğü src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Ortalama kanal uzaklığı src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Renk src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Sadece Tor üzerinde src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Likidite reklamı src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Kiralama ücreti src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Kiralama için baz ücret src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Fonlama ağırlığı src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Kanal ücreti src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Kanal baz ücreti src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Kompakt kiralama src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV uzatma kayıtları src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Açık kanallar src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Kapanan kanallar src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Node: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Tor Node'ları hariç) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Lightning Kanalları Dünya Haritası + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Geolokasyon datasına ulaşılamıyor src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Aktif kanal haritası src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress İndeksleniyor src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Şeffaf İnternet ve Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Sadece Şeffaf İnternet (IPV4, IPV6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Sadece Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Aldığı pay src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes düğüm src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC kapasite src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ ISP sayısı src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ En çok kullanılan ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Clearnet Kapasitesi src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ En az bir tane Clearnet IP adresi veren Node'lardaki kapasitesi src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Kapasite bilinmiyor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ ISP ile çalışmayan Node'ların likiditesi src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Tor Kapasitesi src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Sadece Tor adresi ile çalışan Node'ların likiditesi src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ En çok LN Node'u çalıştıran 100 ISP src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + İndeksleniyor + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ En iyi ülke src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ En iyi Node src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: ISP üzerindeki Lightning Node'ları: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Aktif düğümler src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ En eski 100 Lightning Node'u src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes En eski Node'lar @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - İndeksleniyor + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Onaylanmamış + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Hizmet Koşulları + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Gizlilik politikası + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.uk.xlf b/frontend/src/locale/messages.uk.xlf index e24676d08..86072838c 100644 --- a/frontend/src/locale/messages.uk.xlf +++ b/frontend/src/locale/messages.uk.xlf @@ -5,273 +5,271 @@ Close Закрити - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Слайд з - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Попередній - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Наступний - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Оберіть місяць - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Оберіть рік - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Попередній місяць - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Наступний місяць - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Перший - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Попередній - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Наступний - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Останній - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH ГГ - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Години - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - ХХ - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Хвилини - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Збільшити години - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Зменшити години - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Збільшити хвилини - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Зменшити хвилини - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - СС - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Секунди - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Збільшити секунди - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Зменшити секунди - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Закрити - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Оберіть місяць + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Попередній місяць + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Години + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Попередній + + node_modules/src/ngb-config.ts + 13 + + + + MM + ХХ + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Оберіть рік + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Наступний місяць + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Наступний + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Хвилини + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Збільшити години + + node_modules/src/ngb-config.ts + 13 + + + + First + Перший + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Попередній + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Зменшити години + + node_modules/src/ngb-config.ts + 13 + + + + Next + Наступний + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Збільшити хвилини + + node_modules/src/ngb-config.ts + 13 + + + + Last + Останній + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Зменшити хвилини + + node_modules/src/ngb-config.ts + 13 + + + + SS + СС + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Секунди + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Збільшити секунди + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Зменшити секунди + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Блок @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Блок : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ Блоки BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Висота src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Підтверджена src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Транзакції src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Торговий об'єм Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Ринки src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Ринки Bitcoin src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Ціна src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Останні торги src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Індекс ціни Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Ринкова ціна Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Дивитись більше » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Умови використання - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Політика конфіденційності - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Пропозиції покупи src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Пропозиції продажу src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Сума () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics Статистика BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Дата src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Сума src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Транзакція src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - підтвердження - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - підтверджень - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Додана в блок src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Властивості src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Комісія за vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Деталі src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Входи і Виходи src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Транзакції BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Підтверджена src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Фільтрувати src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Обрати всі src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Торги @@ -1443,7 +1452,7 @@ Mempool - проект з відкритим кодом src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Наш експлорер мемпулу та блоків для ком'юніті Bitcoin з фокусом на ринок транзакцій та багаторівневу екосистему, повністю самостійний без жодних інтеграцій з довіреними третіми сторонами. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Підприємства-спонсори 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Спонсори з спільноти ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Інтеграції спільноти src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Союзи спільноти src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Перекладачі проекту src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Учасники проекту src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Члени проекту src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Розробники проекту src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Про src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Мультипідпис з @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Адреса: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Група з активів src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker Тікер src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Домен емітента src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ID активу src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Не вдалося завантажити дані про активи. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Офлайн src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Повторне підключення... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Мережі 2 шару src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ Панель src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Статистика src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Документація src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Тарифи комісії блоку src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Блок: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Біля блоку: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Комісії блоку src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Індексуємо блоки src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Поки що немає даних для відображення. Спробуйте пізніше. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ недоступно src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Ставка комісії @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Поточна ставка комісії src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Віртуальний розмір + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Статус аудиту + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Обмін + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Вилучено + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Гранична ставка комісії + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Недавно надіслані + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Додано + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Нагороди блоку + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Розміри та ваги блоків + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Розмір + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Вага + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Розмір на вагу + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Блок : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Блок + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Середня комісія + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Всього комісій + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Майнер + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Наступний блок + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Попередній блок + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Здоров'я + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + Невідомо + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Діапазон комісії + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + На основі середнього розміру segwit транзакції в 140 vByte + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Віртуальний розмір - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Статус аудиту - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Обмін - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Вилучено - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Гранична ставка комісії - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Недавно надіслані - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Додано - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Точність прогнозування блоків - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Поки що немає даних для відображення. Спробуйте пізніше. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Курс обміну - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Нагороди блоку - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Розміри та ваги блоків - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Розмір - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Вага - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Розмір на вагу - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Блок - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Середня комісія - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Всього комісій - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Майнер - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Блок : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Наступний блок - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Попередній блок - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Здоров'я - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - Невідомо - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Діапазон комісії - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - На основі середнього розміру segwit транзакції в 140 vByte - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Нагорода + комісії src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Очікувалося src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ бета src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Фактично src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Очікуваний блок src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Фактичний блок src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Біти src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Корінь Меркле src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Складність src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Заголовок блоку в hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Аудит src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Деталі src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Не вдалося завантажити дані. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Чому цей блок пустий? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - Добутий - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Нагорода src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Комісії src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ Транзакцій src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Скопійовано! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Швидко + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Непідтверджені + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Відрегульовано src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Змінити src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Регулювання складності src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Лишається src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - блоків + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Приблизно src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Попередня src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Поточний період src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Наступний халвінг src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ блоків очікується src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ блок очікується src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ блоків знайдено src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ блок знайдено src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ блоків лишається src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ блок лишається src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ блоків попереду src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ блок попереду src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ блоків позаду src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ блок позаду src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ Середній час блоків src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ Або 2x мініуму, або повільна ставка (що менше) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ Без приорітету src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ Зазвичай розміщує вашу транзакцію між другим та третім блоками мемпулу src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ Повільно src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ Зазвичай розміщує вашу транзакцію між першим та другим блоками мемпулу src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ Помірно src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ Розмістить вашу транзакцію в першому блоці мемпулу src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Швидко - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Вхідні транзакції src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ Бекенд синхронізується src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Непідтверджені + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Розмір мемпулу src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ Хешрейт src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ Хешрейт та складність src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Хешрейт (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ Графіки src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ Панель управління src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ Lightning експлорер src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ Документація src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Список з мемпул блоків src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ Мемпул блок src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ Діапазон src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ Сума src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Статистика нагороди @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - Останні блоки + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - Надіслати транзакцію + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - Удача пулу + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ Загальна удача всіх майнінг-пулів за минулий тиждень. Успіх, більший за 100%, означає, що середній час блоків для поточної епохи менше 10 хвилин. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - Кількість пулів + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ Скільки унікальних пулів знайшли хоча б один блок за останній тиждень. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ Кількість блоків, знайдених за останній тиждень. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ Ранг src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ Середній рівень здоров'я src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Пусті блоки + + Avg Block Fees + Середня комісія блоку src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ Всі майнери src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Удача пулу (1тижд) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Кількість пулів (1тижд) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Майнінг пули @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks блоків src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ Інші () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ майнінг пул src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ Теги src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Показати всі src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ Сховати src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ Хешрейт (24год) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Приблизно + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Повідомлено - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Удача - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Знайдені блоки - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24год - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 1тижд src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + Добутий + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Тег коїнбейс src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Надіслати транзакцію + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Транзакція в hex @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Вперше помічена + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Нагорода майнерів @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ Виплати майнерам за останні 144 блоки src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Середня комісія блоку - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Середня комісія блоку за останні 144 блоки src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/блок src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ Середня комісія з кожної транзакції за останні 144 блоки src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ sats/tx src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Нагорода за транзакцію - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Перегляньте всю екосистему Bitcoin src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ Пошук src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV перегляд src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ Фільтрувати src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ Інвертувати src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ vBytes за секунду транзакції (vB/s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Щойно src/app/components/time/time.component.ts - 79 + 90 ago тому - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Через ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Через ~ src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - Після src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Після src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Транзакція була замінена на: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Транзакція була замінена: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Замінена - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Непідтверджена - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Вперше помічена - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Орієнтовний час src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ За кілька годин (або довше) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Нащадок src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ Предок src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow Потік src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ Сховати діаграму src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ Показати більше src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ Показати менше src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ Показати діаграму src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Час блокування src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Транзакція не знайдена. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ Чекаємо її появи в мемпулі... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Поточна ставка комісії + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Нові монети) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ Закріплення src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH redeem скрипт src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH witness скрипт src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ Скрипт попереднього виходу src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ Тип попереднього виходу src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ Розкріплення до src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ Показати більше входів, щоб порахувати комісію src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ лишається src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Ця транзакція використовує Taproot і вже зекономила як мініум % на комісії, але могла б зекономити додаткові % повністю перейшовши на Taproot @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Ця транзакція НЕ підтримуює Replace-By-Fee (RBF) і не може бути замінена більшою комісією використовуючи цей метод @@ -5308,25 +5883,48 @@ Комісії транзакції src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Останні транзакції + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Мінімальна комісія src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ Очищення src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Використання пам'яті - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC в обігу src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space лише надає дані про мережу Bitcoin. Він не зможе допомогти вам повернути кошти, підтвердити вашу транзакцію швидше, і т. д. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ Сервіс REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Ендпоїнт src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ Опис src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ Надсилання за замовчуванням за замовчуванням: action: 'want', data: ['blocks', ...] щоб вказати, що має бути надіслано. Доступно: blocks, mempool-blocks, live-2h-chart та stats.Надіслати транзакції пов'язані з адресою: 'track-address': '3PbJ...bF9B' щоб отримати всі нові транзакції які містять дану адресу у входах чи виходах. Повертає масив транзакцій. address-transactions для нових мемпул транзакцій та block-transactions для нових підтверджених транзакцій. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ Приклад коду src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ Встановити пакунок src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ Відповідь src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - ЧаПи src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ Початковий баланс src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ Кінцевий баланс src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ lightning канал src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ неактивний src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ Активний src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ Закритий src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ Створений src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ Місткість src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Lightning канал src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ Востаннє оновлено src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ Дата закриття src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ Закрито src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ Відкриваюча транзакція src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ Закриваюча транзакція src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ Відкритий src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ Немає каналів для відображення src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ Псевдонім src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Статус - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID каналу src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg в середньому src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ медіана src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ Середня місткість src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ Середній тариф src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ Середній тариф, що стягується нодами маршрутизації, без урахування ставок комісії > 0.5% або 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ Середня комісія src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ Середня комісія, що стягується нодами маршрутизації, без урахування комісії > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ Середня медіана src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ Медіана ставки комісії src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ Медіана ставки комісії яка стягується нодами маршрутизації, без урахування ставки комісії > 0.5% чи 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ Медіана базової комісії src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ Медіана базової комісії, що стягується нодами маршрутизації, без урахування базової комісії > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ Група Lightning нод src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ Ноди src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ Ліквідність src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ Канали src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ Середній розмір src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Локація src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Статистика мережі @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Розподіл комісії @@ -6429,11 +7078,11 @@ Вихідні комісії src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ Вхідні комісії src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ Відсоткова зміна за останній тиждень src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ Lightning нода src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ Активна місткість src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ Активні канали src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ Країна src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Середній розмір каналу src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ Середня відстань каналу src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ Колір src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ Ексклюзивно для Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Реклама ліквідності src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ Ставка комісії оренди src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ Базова комісія оренди src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ Вага фінансування src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ Ставка комісії каналу src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ Базова комісія каналу src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ Компактна оренда src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ Записи продовження TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ Відкриті канали src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ Закриті канали src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ Нода: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (Без Tor нод) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Мапа каналів Lightning нод + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ Немає доступної геолокації src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ Мапа активних каналів src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Йде індексування src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ Клірнет та Даркнет src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ Тільки Клірнет (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ Тільки Даркнет (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ Частка src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes нод src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC пропускної спроможності src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ Кількість ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ Рейтинг ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Місткість Клірнету src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ Скільки ліквідності доступно на нодах, що мають хоча б одну Клірнет IP-адресу src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ Місткість невідома src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ Скільки ліквідності доступно на нодах, чий ISP неможливо ідентифікувати src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Місткість Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ Скільки ліквідності доступно на нодах, що доступні тільки через Tor адресу src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Топ 100 ISP провайдерів, які надають послуги хостингу LN нод src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Йде індексування + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ Рейтинг країн src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Рейтинг нод src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Lightning ноди на ISP: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ Активні ноди src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ Топ 100 найстаріших lightning нод src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Найстаріші ноди @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - Йде індексування + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Непідтверджена + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Умови використання + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Політика конфіденційності + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.vi.xlf b/frontend/src/locale/messages.vi.xlf index 1de98c653..1769eb9d7 100644 --- a/frontend/src/locale/messages.vi.xlf +++ b/frontend/src/locale/messages.vi.xlf @@ -5,273 +5,271 @@ Close Đóng - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Slide of - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - Trước - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - Kế tiếp - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - Chọn tháng - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - Chọn năm - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - Tháng trước - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - Tháng sau - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - Đầu tiên - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - Trước - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - Kế tiếp - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - Cuối cùng - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - Giờ - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - Phút - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - Giờ tăng dần - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - Giờ giảm dần - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - Phút tăng dần - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - Phút giảm dần - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - Giây - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - Giây tăng dần - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - Giây giảm dần - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close Đóng - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + Chọn tháng + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + Tháng trước + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + Giờ + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Trước + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + Chọn năm + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + Tháng sau + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + Kế tiếp + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + Phút + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + Giờ tăng dần + + node_modules/src/ngb-config.ts + 13 + + + + First + Đầu tiên + + node_modules/src/ngb-config.ts + 13 + + + + Previous + Trước + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + Giờ giảm dần + + node_modules/src/ngb-config.ts + 13 + + + + Next + Kế tiếp + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + Phút tăng dần + + node_modules/src/ngb-config.ts + 13 + + + + Last + Cuối cùng + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + Phút giảm dần + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + Giây + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + Giây tăng dần + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + Giây giảm dần + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block Khối @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ Khối : src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ Khối BSQ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ Chiều cao src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ Đã xác nhận src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ Giao dịch src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Khối lượng giao dịch Bisq src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ Thị trường src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ Thị trường Bitcoin src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ Giá src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ Giao dịch mới nhất src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Chỉ số giá Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ Giá thị trường Bisq src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ Xem thêm » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - Điều khoản Dịch vụ - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - Chính sách Quyền riêng tư - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers Chào mua src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ Chào bán src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ Số lượng () src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics thống kê BSQ @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date Thời gian src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ Số lượng src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ Giao dịch src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - xác nhận - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - xác nhận - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block Bao gồm trong khối src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ Tính năng src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ Phí mỗi vByte src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details Chi tiết src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ Đầu vào & Đầu ra src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ Giao dịch BSQ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ Đã xác nhận src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ Bộ lọc src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ Chọn tất cả src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades Giao dịch @@ -1443,7 +1452,7 @@ Dự án Mã nguồn Mở Mempool src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ Mempool và blockchain explorer của chúng tôi dành cho cộng đồng Bitcoin, tập trung vào thị trường phí giao dịch và hệ sinh thái nhiều lớp, hoàn toàn tự lưu trữ mà không cần bất kỳ bên thứ ba nào. src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 Nhà tài trợ doanh nghiệp 🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - Nhà tài trợ cộng đồng ❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ Tích hợp cộng đồng src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ Liên minh cộng đồng src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ Dịch giả của Dự án src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ Người đóng góp dự án src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ Thành viên Dự án src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ Người bảo trì dự án src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ Về chúng tôi src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + sat + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + satoshi + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + sat/vB + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of Đa chữ kí trong @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ Địa chỉ: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ Nhóm tài sản src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ Tên miền nhà phát hành src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ ID tài sản src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ Lỗi khi tải dữ liệu tài sản. src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ Ngoại tuyến src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ Đang kết nối lại ... src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ Mạng lớp 2 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ bảng điều khiển src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ Số liệu src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ Tài liệu src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ Tỷ lệ phí khối src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: Tại khối: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ Xung quanh khối: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ Phí khối src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks Lập chỉ mục khối src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + Chưa có dữ liệu để hiển thị. Thử lại sau. + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ không có sẵn src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - sat - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate Tỷ lệ phí @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - sat/vB + + Effective fee rate + Tỷ lệ phí hiệu quả src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + Kích thước ảo + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + Trạng thái kiểm tra + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + Khớp + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + Đã xoá + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + Tỷ lệ phí cận biên + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + Truyền phát gần đây + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + Đã thêm + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + Phần thưởng khối + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + Kích thước và Trọng lượng khối + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + Kích thước + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + Khối lượng + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + Kích thước mỗi trọng lượng + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + Khối : + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + Khối + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + Phí trung bình + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + Tổng các khoản phí + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + Thợ đào + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + Khối tiếp theo + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + Khối trước + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + Sức khỏe + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + không xác định + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + Khoảng phí + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + Dựa trên giao dịch segwit gốc trung bình là 140 vBytes + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - Kích thước ảo - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - Trạng thái kiểm tra - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - Khớp - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - Đã xoá - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - Tỷ lệ phí cận biên - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - Truyền phát gần đây - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - Đã thêm - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - Độ chính xác của dự đoán khối - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - Chưa có dữ liệu để hiển thị. Thử lại sau. - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - Tỷ lệ khớp - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - Phần thưởng khối - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - Kích thước và Trọng lượng khối - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - Kích thước - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - Khối lượng - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - Kích thước mỗi trọng lượng - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - Khối - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - Phí trung bình - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - Tổng các khoản phí - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - Thợ đào - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - Khối : - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - Khối tiếp theo - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - Khối trước - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - Sức khỏe - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - không xác định - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - Khoảng phí - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - Dựa trên giao dịch segwit gốc trung bình là 140 vBytes - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ Trợ cấp + phí src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ Dự kiến src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ bản beta src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ Thực tế src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ Khối dự kiến src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ Khối thực tế src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits Bits src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ Merkle root src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ Độ khó src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ Nonce src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ Khối tiêu đề Hex src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ Kiểm tra src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ Chi tiết src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ Lỗi trong lúc tải dữ liệu. src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ Tại sao khối này trống? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - đã đào - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward Phần thưởng src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ Phí src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ Các giao dịch src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! Đã sao chép! @@ -3063,12 +3447,60 @@ 19 + + High Priority + Ưu tiên cao + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + Chưa xác nhận + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted Đã điều chỉnh src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ Thay đổi src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ Điều chỉnh Độ khó src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ Còn lại src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - khối + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ Ước tính src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ Trước src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ Giai đoạn hiện tại src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ Halving Tiếp theo src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3205,7 +3640,7 @@ blocks expected src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3213,7 +3648,7 @@ block expected src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3221,7 +3656,7 @@ blocks mined src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3229,7 +3664,7 @@ block mined src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3237,7 +3672,7 @@ blocks remaining src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3245,7 +3680,7 @@ block remaining src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3253,7 +3688,7 @@ blocks ahead src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3261,7 +3696,7 @@ block ahead src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3269,7 +3704,7 @@ blocks behind src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3277,7 +3712,7 @@ block behind src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3286,7 +3721,7 @@ Thời gian khối trung bình src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3295,7 +3730,7 @@ Hai lần số lượng tối thiểu hoặc Tỷ lệ ưu tiên thấp (tùy theo tỷ lệ nào thấp hơn) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3304,11 +3739,11 @@ Không ưu tiên src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3317,7 +3752,7 @@ Thường đặt giao dịch của bạn ở giữa khối mempool thứ hai và thứ ba src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3326,11 +3761,11 @@ Ưu tiên thấp src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3339,7 +3774,7 @@ Thường đặt giao dịch của bạn ở giữa khối mempool thứ nhất và thứ hai src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3348,11 +3783,11 @@ Ưu tiên Trung bình src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3361,33 +3796,16 @@ Đặt giao dịch của bạn trong khối mempool đầu tiên src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - Ưu tiên cao - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions Giao dịch đến src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3396,11 +3814,11 @@ Backend đang đồng bộ src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3409,35 +3827,34 @@ vB/s src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - Chưa xác nhận + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size Kích thước mempool src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3460,7 +3877,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3473,7 +3890,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3504,7 +3921,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3512,7 +3929,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3525,7 +3942,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3533,7 +3950,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3546,7 +3963,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3559,7 +3976,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3576,7 +3993,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3593,7 +4010,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3602,27 +4019,27 @@ Tỷ lệ băm src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3631,24 +4048,31 @@ Tỷ lệ băm & Độ khó src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) Tỷ lệ băm (MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3680,15 +4104,15 @@ Đồ thị src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3697,11 +4121,15 @@ Bảng điểu khiển Đào src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3710,12 +4138,16 @@ Trình duyệt Lightning src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3723,7 +4155,7 @@ Tài liệu src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3731,12 +4163,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks Bộ khối mempool src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3744,7 +4183,18 @@ Khối mempool src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3752,7 +4202,7 @@ Phạm vi src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3760,9 +4210,17 @@ Tổng src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats Các chỉ số phần thưởng @@ -3781,18 +4239,21 @@ mining.144-blocks - - Latest blocks - Khối mới nhất + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3803,31 +4264,12 @@ dashboard.adjustments - - Broadcast Transaction - Truyền tải Giao dịch + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3838,12 +4280,15 @@ mining.miners-luck-1w - - Pools luck - Pools luck + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3852,7 +4297,7 @@ Vận may chung của tất cả các nhóm khai thác trong tuần qua. Một may mắn lớn hơn 100% có nghĩa là thời gian khối trung bình cho kỷ nguyên hiện tại là ít hơn 10 phút. src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3865,12 +4310,15 @@ mining.miners-count-1w - - Pools count - Số lượng pool + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3879,7 +4327,7 @@ Có bao nhiêu pool không trùng lặp tìm thấy ít nhất một khối trong tuần qua. src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3892,11 +4340,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3905,7 +4353,7 @@ Số khối được tìm thấy trong tuần qua. src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3914,15 +4362,15 @@ Hạng src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3931,20 +4379,56 @@ Sức khỏe trung bình src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - Các khối trống + + Avg Block Fees + Phí khối trung bình src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3953,28 +4437,10 @@ Tất cả thợ đào src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - Pool Luck (1 tuần) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - Số lượng Pool (1 tuần) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools Pool đào @@ -3983,24 +4449,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks khối src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4008,15 +4481,15 @@ Khác () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4024,11 +4497,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4036,7 +4509,7 @@ nhóm đào src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4045,48 +4518,59 @@ Các thẻ src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all Hiện tất cả src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4095,7 +4579,7 @@ Ẩn src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4104,116 +4588,39 @@ Tỷ lệ băm (24 giờ) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - Dự kiến + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - Đã báo cáo - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - Luck - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - Các khối đã đào - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 24 giờ - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4222,27 +4629,82 @@ 1 tuần src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + đã đào + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag Thẻ Coinbase src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + Truyền tải Giao dịch + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex Hex giao dịch @@ -4252,10 +4714,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + Lần đầu thấy + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward Phần thưởng thợ đào @@ -4265,11 +4870,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4278,29 +4883,16 @@ Số lượng trả cho thợ đào trong 144 khối qua src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - Phí khối trung bình - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks Phí trung bình cho mỗi khối trong 144 khối vừa qua src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4309,7 +4901,7 @@ BTC/khối src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4323,7 +4915,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4332,7 +4928,7 @@ Phí trả trung bình cho mỗi giao dịch trong 144 khối trước đây src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4341,30 +4937,25 @@ satoshi/giao dịch src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - Phần thưởng mỗi giao dịch - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem Khám phá hệ sinh thái Bitcoin trọn vẹn src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4373,7 +4964,7 @@ Tìm kiếm src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4458,12 +5049,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view Giao diện TV src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4476,7 +5079,7 @@ Lọc src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4485,7 +5088,7 @@ Đảo ngược src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4494,69 +5097,43 @@ Giao dịch vBytes mỗi giây (vB / s) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now Vừa mới đây src/app/components/time/time.component.ts - 79 + 90 ago trước - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4565,17 +5142,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - Trong ~ src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4599,24 +5184,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + Trong ~ src/app/components/time/time.component.ts 141 @@ -4625,17 +5202,25 @@ src/app/components/time/time.component.ts 142 - - - After - Sau src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4659,24 +5244,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + Sau src/app/components/time/time.component.ts 164 @@ -4685,91 +5262,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: Giao dịch này đã được thay thế bằng: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - Giao dịch này đã thay thế: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - Đã thay thế - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - Chưa xác nhận - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - Lần đầu thấy - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA Thời gian dự kiến src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4779,21 +5364,34 @@ Trong vài giờ (hoặc hơn) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant Descendant src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4803,21 +5401,30 @@ Ancestor src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow lưu lượng src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4827,7 +5434,7 @@ Ẩn sơ đồ src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4836,15 +5443,15 @@ Hiển thị nhiều hơn src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4853,11 +5460,11 @@ Hiển thị ít hơn src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4866,25 +5473,43 @@ Hiển thị sơ đồ src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime Thời gian khóa src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. Không tìm thấy giao dịch. src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4893,35 +5518,25 @@ Đang đợi nó xuất hiện trong mempool ... src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - Tỷ lệ phí hiệu quả + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (Coin mới được tạo) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4930,7 +5545,7 @@ Cố định src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4939,7 +5554,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4949,7 +5564,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4959,7 +5574,7 @@ Chứng kiến src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4968,7 +5583,7 @@ Mã thu hồi P2SH src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4977,7 +5592,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4986,7 +5601,7 @@ Mã chứng kiến P2WSH src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -4995,7 +5610,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5004,7 +5619,7 @@ Mã đầu ra trước đó src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5013,7 +5628,7 @@ Loại đầu ra trước đó src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5022,7 +5637,7 @@ Peg-out tới src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5031,7 +5646,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5041,7 +5656,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5051,7 +5666,7 @@ Hiển thị thêm đầu vào để tiết lộ dữ liệu phí src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5060,7 +5675,7 @@ còn lại src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5162,32 +5777,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot Giao dịch này sử dụng Taproot và đã tiết kiệm ít nhất % phí, nhưng có thể tiết kiệm thêm % bằng cách sử dụng hoàn toàn Taproot @@ -5233,20 +5822,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method Giao dịch này KHÔNG hỗ trợ Phí thay thế (RBF) và không thể bị tính phí khi sử dụng phương pháp này @@ -5298,25 +5873,48 @@ Phí giao dịch src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - Giao dịch mới nhất + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee Phí tối thiểu src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5326,40 +5924,33 @@ Thanh lọc src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - Sử dụng bộ nhớ - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation L-BTC đang lưu hành src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space chỉ cung cấp dữ liệu về mạng Bitcoin. Trang không thể giúp bạn lấy tiền, xác nhận giao dịch của bạn nhanh hơn, v.v. + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5368,7 +5959,7 @@ Dịch vụ REST API src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5377,11 +5968,11 @@ Điểm cuối src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5390,11 +5981,15 @@ Sự miêu tả src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5402,7 +5997,7 @@ Push mặc định: hành động: 'want', dữ liệu: ['blocks', ...] để thể hiện những gì bạn muốn đẩy. Có sẵn: khối , mempool-khối , live-2h-chart c195a641ez0c195ez0. Đẩy các giao dịch liên quan đến địa chỉ: 'track-address': '3PbJ ... bF9B' a0c95ez0 đầu vào để nhận các giao dịch đầu vào a0c95ez0 a0c95ez0 đó để nhận địa chỉ đầu vào là all95ez0. Trả về một mảng các giao dịch. địa chỉ-giao dịch cho các giao dịch mempool mới và giao dịch khối cho các giao dịch được xác nhận khối mới. src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5411,19 +6006,19 @@ Ví dụ về mã src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5432,7 +6027,7 @@ Cài đặt gói src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5441,32 +6036,85 @@ Phản ứng src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - API + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5478,7 +6126,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5491,15 +6139,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5575,11 +6223,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5588,7 +6236,7 @@ Số dư bắt đầu src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5598,7 +6246,7 @@ Số dư kết thúc src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5608,7 +6256,7 @@ kênh lightning src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5617,15 +6265,15 @@ Không hoạt động src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5634,15 +6282,15 @@ Hoạt động src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5651,19 +6299,23 @@ Đã đóng src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5672,11 +6324,11 @@ Đã tạo src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5685,15 +6337,19 @@ Sức chứa src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5705,43 +6361,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5750,32 +6406,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel Kênh lightning src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5784,31 +6451,31 @@ Cập nhật gần nhất src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5817,11 +6484,11 @@ Ngày đóng cửa src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5830,7 +6497,7 @@ Đóng bởi src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5839,7 +6506,11 @@ Đang mở giao dịch src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5848,7 +6519,11 @@ Đang đóng giao dịch src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5889,7 +6564,7 @@ Mở src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5898,7 +6573,7 @@ Không có kênh nào để hiển thị src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5907,115 +6582,57 @@ Tên riêng src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - Trạng thái - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID ID kênh src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - satoshi - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg trung bình src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6024,7 +6641,7 @@ trung vị src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6033,11 +6650,11 @@ Công suất trung bình src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6046,11 +6663,11 @@ Tỷ lệ phí trung bình src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6059,7 +6676,7 @@ Tỷ lệ phí trung bình được tính bởi các nút định tuyến, bỏ qua tỷ lệ phí> 0,5% hoặc 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6068,11 +6685,11 @@ Phí cơ sở trung bình src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6081,7 +6698,7 @@ Phí cơ bản trung bình được tính bởi các nút định tuyến, bỏ qua phí cơ sở> 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6090,7 +6707,7 @@ Công suất Med src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6099,7 +6716,7 @@ Mức phí Med src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6108,7 +6725,7 @@ Tỷ lệ phí trung bình được tính bởi các nút định tuyến, bỏ qua tỷ lệ phí> 0,5% hoặc 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6117,7 +6734,7 @@ Phí cơ bản Med src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6126,7 +6743,7 @@ Phí cơ bản trung bình được tính bởi các nút định tuyến, bỏ qua phí cơ sở> 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6135,11 +6752,11 @@ Nhóm nút lightning src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6148,35 +6765,39 @@ Nút src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6185,31 +6806,31 @@ Thanh khoản src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6218,11 +6839,11 @@ Kênh src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6234,55 +6855,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6291,55 +6912,72 @@ Kích thước trung bình src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location Vị trí src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics Thống kê mạng @@ -6376,16 +7014,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6399,12 +7033,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution Phân bổ phí @@ -6419,11 +7068,11 @@ Phí đầu ra src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6431,11 +7080,11 @@ Phí đầu vào src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6443,15 +7092,15 @@ Phần trăm thay đổi trong tuần trước src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6460,15 +7109,15 @@ Nút lightning src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6477,11 +7126,11 @@ Công suất hoạt động src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6490,11 +7139,11 @@ Các kênh đang hoạt động src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6503,16 +7152,27 @@ Quốc gia src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size Kích thước kênh trung bình src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6521,7 +7181,7 @@ Khoảng cách kênh trung bình src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6530,7 +7190,7 @@ Màu sắc src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6539,11 +7199,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6552,16 +7212,25 @@ Độc quyền trên Tor src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad Quảng cáo thanh khoản src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6570,7 +7239,7 @@ Giá thuê src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6580,7 +7249,7 @@ Phí thuê cơ sở src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6589,7 +7258,7 @@ Trọng lượng nguồn quỹ src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6598,7 +7267,7 @@ Phí kênh src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6608,7 +7277,7 @@ Phí kênh cơ sở src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6617,7 +7286,7 @@ Thuê gói nhỏ src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6626,7 +7295,7 @@ Hồ sơ gia hạn TLV src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6635,7 +7304,7 @@ Mở các kênh src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6644,7 +7313,7 @@ Các kênh đã đóng src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6653,7 +7322,7 @@ Nút: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6661,25 +7330,32 @@ (Đã loại trừ các nút Tor) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map Bản đồ thế giới các kênh nút Lightning + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6690,7 +7366,7 @@ Không có sẵn dữ liệu vị trí địa lý src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6698,20 +7374,34 @@ Bản đồ kênh đang hoạt động src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress Đang lập chỉ mục src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6719,11 +7409,11 @@ Clearnet và Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6731,11 +7421,11 @@ Chỉ Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6743,11 +7433,11 @@ Chỉ Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6755,32 +7445,39 @@ Chia sẻ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes nút src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6788,7 +7485,7 @@ công suất BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6805,7 +7502,7 @@ Số lượng ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6814,7 +7511,7 @@ ISP hàng đầu src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6826,16 +7523,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity Công suất Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6844,7 +7548,7 @@ Bao nhiêu thanh khoản đang chạy trên các nút quảng cáo ít nhất một địa chỉ IP clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6853,11 +7557,11 @@ Công suất không xác định src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6866,7 +7570,7 @@ Bao nhiêu thanh khoản đang chạy trên các nút mà ISP không xác định được src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6875,11 +7579,11 @@ Công suất Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6888,7 +7592,7 @@ Bao nhiêu thanh khoản đang chạy trên các nút chỉ quảng cáo địa chỉ Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6897,20 +7601,33 @@ 100 ISP hàng đầu host các nút LN src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + Đang lập chỉ mục + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6918,7 +7635,7 @@ ISP Lightning src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6927,11 +7644,11 @@ Quốc gia hàng đầu src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6940,7 +7657,7 @@ Nút hàng đầu src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6956,6 +7673,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: Nút lightning trên ISP: @@ -6970,7 +7698,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6979,7 +7707,7 @@ Các nút hoạt động src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6988,7 +7716,7 @@ 100 nút lightning lâu đời nhất src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7000,6 +7728,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes Các nút lâu đời nhất @@ -7017,14 +7766,287 @@ 22 - - Indexing in progress - Đang lập chỉ mục + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + Chưa xác nhận + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + Điều khoản Dịch vụ + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + Chính sách Quyền riêng tư + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year diff --git a/frontend/src/locale/messages.zh.xlf b/frontend/src/locale/messages.zh.xlf index ceb38745f..fc3304974 100644 --- a/frontend/src/locale/messages.zh.xlf +++ b/frontend/src/locale/messages.zh.xlf @@ -5,273 +5,271 @@ Close 关闭 - node_modules/src/alert/alert.ts - 47,48 - - - - Slide of - Slide of - - node_modules/src/carousel/carousel.ts - 175,181 - - Currently selected slide number read by screen reader - - - Previous - 前一个 - - node_modules/src/carousel/carousel.ts - 206,207 - - - - Next - 后一个 - - node_modules/src/carousel/carousel.ts - 227 - - - - Select month - 选择月份 - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Select year - 选择年份 - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 50,51 - - - - Previous month - 前一个月 - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - Next month - 后一个月 - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - node_modules/src/datepicker/datepicker-navigation.ts - 60,63 - - - - «« - «« - - node_modules/src/pagination/pagination.ts - 269,270 - - - - « - « - - node_modules/src/pagination/pagination.ts - 269,270 - - - - » - » - - node_modules/src/pagination/pagination.ts - 269,270 - - - - »» - »» - - node_modules/src/pagination/pagination.ts - 269,270 - - - - First - 第一 - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Previous - - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Next - 下一个 - - node_modules/src/pagination/pagination.ts - 269,271 - - - - Last - 最后 - - node_modules/src/pagination/pagination.ts - 269,271 - - - - - - - node_modules/src/progressbar/progressbar.ts - 30,33 + node_modules/src/ngb-config.ts + 13 HH HH - node_modules/src/timepicker/timepicker.ts - 226 - - - - Hours - 小时 - - node_modules/src/timepicker/timepicker.ts - 247,250 - - - - MM - MM - - node_modules/src/timepicker/timepicker.ts - 272,274 - - - - Minutes - 分钟 - - node_modules/src/timepicker/timepicker.ts - 288,289 - - - - Increment hours - 增加小时 - - node_modules/src/timepicker/timepicker.ts - 305,309 - - - - Decrement hours - 递减小时 - - node_modules/src/timepicker/timepicker.ts - 334,337 - - - - Increment minutes - 增加分钟 - - node_modules/src/timepicker/timepicker.ts - 356,358 - - - - Decrement minutes - 递减分钟 - - node_modules/src/timepicker/timepicker.ts - 383,384 - - - - SS - SS - - node_modules/src/timepicker/timepicker.ts - 410 - - - - Seconds - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Increment seconds - 增加秒 - - node_modules/src/timepicker/timepicker.ts - 429 - - - - Decrement seconds - 递减秒 - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 - - - - - - - node_modules/src/timepicker/timepicker.ts - 429 + node_modules/src/ngb-config.ts + 13 Close 关闭 - node_modules/src/toast/toast.ts - 74,75 + node_modules/src/ngb-config.ts + 13 + + + + «« + «« + + node_modules/src/ngb-config.ts + 13 + + + + Select month + 选择月份 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Previous month + 前一个月 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + + + node_modules/src/ngb-config.ts + 13 + + + + Slide of + + node_modules/src/ngb-config.ts + 13 + + Currently selected slide number read by screen reader + + + Hours + 小时 + + node_modules/src/ngb-config.ts + 13 + + + + « + « + + node_modules/src/ngb-config.ts + 13 + + + + Previous + 前一个 + + node_modules/src/ngb-config.ts + 13 + + + + MM + MM + + node_modules/src/ngb-config.ts + 13 + + + + » + » + + node_modules/src/ngb-config.ts + 13 + + + + Select year + 选择年份 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next month + 后一个月 + + node_modules/src/ngb-config.ts + 13 + + + node_modules/src/ngb-config.ts + 13 + + + + Next + 后一个 + + node_modules/src/ngb-config.ts + 13 + + + + Minutes + 分钟 + + node_modules/src/ngb-config.ts + 13 + + + + »» + »» + + node_modules/src/ngb-config.ts + 13 + + + + Increment hours + 增加小时 + + node_modules/src/ngb-config.ts + 13 + + + + First + 第一 + + node_modules/src/ngb-config.ts + 13 + + + + Previous + + + node_modules/src/ngb-config.ts + 13 + + + + Decrement hours + 递减小时 + + node_modules/src/ngb-config.ts + 13 + + + + Next + 下一个 + + node_modules/src/ngb-config.ts + 13 + + + + Increment minutes + 增加分钟 + + node_modules/src/ngb-config.ts + 13 + + + + Last + 最后 + + node_modules/src/ngb-config.ts + 13 + + + + Decrement minutes + 递减分钟 + + node_modules/src/ngb-config.ts + 13 + + + + SS + SS + + node_modules/src/ngb-config.ts + 13 + + + + Seconds + + + node_modules/src/ngb-config.ts + 13 + + + + Increment seconds + 增加秒 + + node_modules/src/ngb-config.ts + 13 + + + + Decrement seconds + 递减秒 + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 + + + + + + + node_modules/src/ngb-config.ts + 13 @@ -317,7 +315,7 @@ src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14,15 + 14 src/app/components/address/address-preview.component.html @@ -359,15 +357,15 @@ src/app/components/block/block.component.html - 310,311 + 322 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 46,47 + 52 src/app/components/mempool-blocks/mempool-blocks.component.html - 21,22 + 29 shared.transaction-count.singular @@ -384,15 +382,15 @@ src/app/components/block/block.component.html - 311,312 + 323 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 47,48 + 53 src/app/components/mempool-blocks/mempool-blocks.component.html - 22,23 + 30 shared.transaction-count.plural @@ -404,6 +402,13 @@ 43 + + See current balance, pending transactions, and history of confirmed transactions for BSQ address . + + src/app/bisq/bisq-address/bisq-address.component.ts + 44 + + Block 区块 @@ -426,7 +431,7 @@ src/app/components/block/block.component.html - 38,39 + 44 block.hash @@ -443,31 +448,31 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,36 + 32 src/app/components/block/block-preview.component.html - 26,28 + 26 src/app/components/block/block.component.html - 42,44 + 48 src/app/components/blocks-list/blocks-list.component.html - 15,16 + 15 src/app/components/pool/pool.component.html - 213,215 + 212 src/app/components/pool/pool.component.html - 260,262 + 274 src/app/components/transaction/transaction.component.html - 56,58 + 53 block.timestamp @@ -490,7 +495,14 @@ 区块 src/app/bisq/bisq-block/bisq-block.component.ts - 89 + 91 + + + + See all BSQ transactions in Bitcoin block (block hash ). + + src/app/bisq/bisq-block/bisq-block.component.ts + 92 @@ -498,7 +510,7 @@ BSQ 区块 src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2,7 + 2 Bisq blocks header @@ -507,31 +519,31 @@ 区块高度 src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22,24 + 22 src/app/components/blocks-list/blocks-list.component.html - 12,13 + 12 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 5,7 + 5 src/app/components/pool/pool.component.html - 212,214 + 211 src/app/components/pool/pool.component.html - 259,261 + 273 src/app/dashboard/dashboard.component.html - 87,88 + 119 Bisq block height header @@ -540,7 +552,7 @@ 已确认于 src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13,15 + 13 Bisq block confirmed time header @@ -549,7 +561,7 @@ 交易 src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15,18 + 15 src/app/bisq/bisq-transactions/bisq-transactions.component.ts @@ -561,15 +573,27 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 63,65 + 63 + + + src/app/components/block/block.component.html + 414 + + + src/app/components/block/block.component.html + 443 src/app/components/blocks-list/blocks-list.component.html - 24,25 + 24 + + + src/app/components/clock/clock.component.html + 59 src/app/components/mempool-block/mempool-block.component.html - 28,32 + 32 Bisq block transactions title @@ -582,23 +606,30 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 66,68 + 66 src/app/components/blocks-list/blocks-list.component.html - 4,7 + 4 src/app/components/liquid-master-page/liquid-master-page.component.html - 68,70 + 68 src/app/components/master-page/master-page.component.html - 48,50 + 62 src/app/components/pool-ranking/pool-ranking.component.html - 94,95 + 94 + + + + See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 39 @@ -606,11 +637,11 @@ Bisq 交易量 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 3,7 + 3 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 48,50 + 48 Bisq markets title @@ -619,11 +650,11 @@ 市场 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 20,21 + 20 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 66,67 + 66 Bisq All Markets @@ -632,11 +663,11 @@ 比特币市场 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 21,24 + 21 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 67,71 + 67 Bisq Bitcoin Markets @@ -657,15 +688,15 @@ 价格 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 28,29 + 28 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 74,75 + 74 src/app/bisq/bisq-market/bisq-market.component.html - 79,80 + 79 src/app/bisq/bisq-stats/bisq-stats.component.html @@ -677,7 +708,11 @@ src/app/bisq/bisq-trades/bisq-trades.component.html - 5,6 + 5 + + + src/app/components/clock/clock.component.html + 41 @@ -707,24 +742,38 @@ 最新交易 src/app/bisq/bisq-dashboard/bisq-dashboard.component.html - 52,56 + 52 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 99,101 + 99 src/app/bisq/bisq-market/bisq-market.component.html - 59,61 + 59 Latest Trades header + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 32 + + + + Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts + 33 + + Bisq Price Index Bisq 价格指数 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 9,11 + 9 bisq-dashboard.price-index-title @@ -733,7 +782,7 @@ BIsq 市场价格 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 21,23 + 21 bisq-dashboard.market-price-title @@ -742,11 +791,11 @@ 更多 » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 92,97 + 92 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 101,108 + 101 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -766,68 +815,12 @@ dashboard.view-more - - Terms of Service - 服务条款 - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,113 - - - src/app/components/about/about.component.html - 391,394 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 87 - - - src/app/dashboard/dashboard.component.html - 157,159 - - - src/app/docs/docs/docs.component.html - 51 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 97 - - Terms of Service - shared.terms-of-service - - - Privacy Policy - 隐私协议 - - src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 113,120 - - - src/app/components/mining-dashboard/mining-dashboard.component.html - 89 - - - src/app/dashboard/dashboard.component.html - 159,161 - - - src/app/docs/docs/docs.component.html - 53 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 99 - - Privacy Policy - shared.privacy-policy - Buy Offers 购买报价 src/app/bisq/bisq-market/bisq-market.component.html - 73,74 + 73 Bisq Buy Offers @@ -836,7 +829,7 @@ 出售报价 src/app/bisq/bisq-market/bisq-market.component.html - 74,77 + 74 Bisq Sell Offers @@ -845,14 +838,28 @@ 数量( src/app/bisq/bisq-market/bisq-market.component.html - 112,113 + 112 src/app/bisq/bisq-trades/bisq-trades.component.html - 46,47 + 46 Trade amount (Symbol) + + Bisq market: + + src/app/bisq/bisq-market/bisq-market.component.ts + 51 + + + + See price history, current buy/sell offers, and latest trades for the market on Bisq. + + src/app/bisq/bisq-market/bisq-market.component.ts + 52 + + BSQ statistics BSQ 统计 @@ -905,7 +912,7 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 64,66 + 62 src/app/bisq/bisq-transfers/bisq-transfers.component.html @@ -926,19 +933,19 @@ src/app/components/pool/pool.component.html - 39,40 + 39 src/app/components/pool/pool.component.html - 63,65 + 63 src/app/components/pool/pool.component.html - 337,339 + 351 src/app/components/pool/pool.component.html - 348,351 + 362 BSQ addresses @@ -981,12 +988,19 @@ BSQ token market cap + + See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 29 + + Date 日期 src/app/bisq/bisq-trades/bisq-trades.component.html - 4,6 + 4 @@ -994,11 +1008,11 @@ 数额 src/app/bisq/bisq-trades/bisq-trades.component.html - 9,12 + 9 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,21 + 20 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -1006,7 +1020,7 @@ src/app/dashboard/dashboard.component.html - 124,126 + 157 @@ -1050,15 +1064,15 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19,21 + 19 src/app/components/transaction/transaction.component.html - 152,154 + 164 src/app/components/transactions-list/transactions-list.component.html - 260,262 + 276 @@ -1070,11 +1084,11 @@ src/app/components/block/block.component.html - 252,253 + 264 src/app/components/transaction/transaction.component.html - 283,285 + 312 transaction.version @@ -1083,23 +1097,27 @@ 交易 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 6,11 + 6 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 111,117 + 110 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 12 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 11 + src/app/components/transaction/transaction-preview.component.html 3 src/app/components/transaction/transaction.component.html - 17,21 + 20 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1107,56 +1125,12 @@ shared.transaction - - confirmation - 确认 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 20,21 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 75,76 - - - src/app/components/transaction/transaction.component.html - 31,32 - - - src/app/components/transactions-list/transactions-list.component.html - 296,297 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - 确认 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 21,22 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 76,77 - - - src/app/components/transaction/transaction.component.html - 32,33 - - - src/app/components/transactions-list/transactions-list.component.html - 297,298 - - Transaction plural confirmation count - shared.confirmation-count.plural - Included in block 被包含在区块中 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 43,45 + 41 Transaction included in block transaction.included-in-block @@ -1166,15 +1140,19 @@ 交易特征 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 49,51 + 47 src/app/components/transaction/transaction.component.html - 71,74 + 68 src/app/components/transaction/transaction.component.html - 129,132 + 141 + + + src/app/lightning/node/node.component.html + 122 Transaction features transaction.features @@ -1184,29 +1162,38 @@ 单字节手续费 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 69,71 + 67 Transaction fee transaction.fee-per-vbyte + + Fee per weight unit + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 68 + + Transaction fee + transaction.fee-per-wu + Details 交易明细 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 89,92 + 88 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 155,159 + 154 src/app/components/transaction/transaction.component.html - 257,262 + 282 src/app/components/transaction/transaction.component.html - 401,407 + 434 transaction.details @@ -1215,19 +1202,19 @@ 输入与输出 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 97,105 + 96 src/app/bisq/bisq-transaction/bisq-transaction.component.html - 179,185 + 178 src/app/components/transaction/transaction.component.html - 244,248 + 269 src/app/components/transaction/transaction.component.html - 372,378 + 405 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1241,11 +1228,18 @@ src/app/components/transaction/transaction-preview.component.ts - 88 + 89 src/app/components/transaction/transaction.component.ts - 246,245 + 291 + + + + See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + + src/app/bisq/bisq-transaction/bisq-transaction.component.ts + 51 @@ -1253,7 +1247,7 @@ BSQ 交易 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2,5 + 2 @@ -1261,15 +1255,19 @@ TXID src/app/bisq/bisq-transactions/bisq-transactions.component.html - 18,19 + 18 src/app/components/transaction/transaction.component.html - 153,154 + 165 src/app/dashboard/dashboard.component.html - 123,125 + 85 + + + src/app/dashboard/dashboard.component.html + 156 @@ -1277,11 +1275,15 @@ 已确认 src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 + 21 src/app/components/transaction/transaction.component.html - 66,67 + 63 + + + src/app/shared/components/confirmations/confirmations.component.html + 9 Transaction Confirmed state transaction.confirmed @@ -1319,11 +1321,11 @@ src/app/components/block/block-preview.component.html - 10,11 + 10 src/app/components/block/block.component.html - 6,8 + 10 @@ -1403,7 +1405,7 @@ 筛选 src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57,56 + 57 @@ -1411,7 +1413,7 @@ 全选 src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 58,56 + 58 @@ -1422,6 +1424,13 @@ 59 + + See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 82 + + Trades 交易 @@ -1443,7 +1452,7 @@ Mempool 内存池开源项目 src/app/components/about/about.component.html - 12,13 + 13 about.about-the-project @@ -1452,24 +1461,55 @@ 我们是针对比特币社区的内存池与区块链浏览器,专注于交易费用市场和多层交易的生态系统,完全独立运营没有受信的第三方。 src/app/components/about/about.component.html - 13,16 + 14 + + Become a Community Sponsor + + src/app/components/about/about.component.html + 39 + + about.community-sponsor-button + + + Become an Enterprise Sponsor + + src/app/components/about/about.component.html + 46 + + about.enterprise-sponsor-button + Enterprise Sponsors 🚀 企业赞助商🚀 src/app/components/about/about.component.html - 19,22 + 55 about.sponsors.enterprise.withRocket - - Community Sponsors ❤️ - 社区赞助商❤️ + + Whale Sponsors src/app/components/about/about.component.html - 167,170 + 202 + + about.sponsors.withHeart + + + Chad Sponsors + + src/app/components/about/about.component.html + 215 + + about.sponsors.withHeart + + + OG Sponsors ❤️ + + src/app/components/about/about.component.html + 228 about.sponsors.withHeart @@ -1478,7 +1518,7 @@ 社区整合 src/app/components/about/about.component.html - 181,183 + 239 about.community-integrations @@ -1487,7 +1527,7 @@ 社区联盟 src/app/components/about/about.component.html - 291,293 + 353 about.alliances @@ -1496,7 +1536,7 @@ 项目翻译者 src/app/components/about/about.component.html - 307,309 + 369 about.translators @@ -1505,7 +1545,7 @@ 项目贡献者 src/app/components/about/about.component.html - 321,323 + 383 about.contributors @@ -1514,7 +1554,7 @@ 项目成员 src/app/components/about/about.component.html - 333,335 + 395 about.project_members @@ -1523,7 +1563,7 @@ 项目维护者 src/app/components/about/about.component.html - 346,348 + 408 about.maintainers @@ -1532,21 +1572,177 @@ 关于 src/app/components/about/about.component.ts - 42 + 45 src/app/components/bisq-master-page/bisq-master-page.component.html - 75,78 + 75 src/app/components/liquid-master-page/liquid-master-page.component.html - 85,88 + 85 src/app/components/master-page/master-page.component.html - 57,60 + 71 + + Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + + src/app/components/about/about.component.ts + 46 + + + + sat + + + src/app/components/accelerate-preview/accelerate-fee-graph.component.html + 15 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 22 + + + src/app/components/transaction/transaction-preview.component.html + 24 + + + src/app/components/transaction/transaction.component.html + 503 + + + src/app/components/transactions-list/transactions-list.component.html + 304 + + sat + shared.sat + + + sats + sats + + src/app/components/accelerate-preview/accelerate-preview.component.html + 54 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 79 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 113 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 133 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 145 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 162 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 185 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 208 + + + src/app/components/calculator/calculator.component.html + 29 + + + src/app/components/calculator/calculator.component.html + 44 + + + src/app/lightning/channels-list/channels-list.component.html + 63 + + + src/app/lightning/channels-list/channels-list.component.html + 87 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 17 + + + src/app/lightning/channels-statistics/channels-statistics.component.html + 63 + + + src/app/lightning/group/group-preview.component.html + 34 + + + src/app/lightning/group/group.component.html + 32 + + + src/app/lightning/group/group.component.html + 83 + + + src/app/lightning/justice-list/justice-list.component.html + 28 + + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html + 50 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 22 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 82 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 23 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 79 + + shared.sats + + + sat/vB + 聪/字节 + + src/app/components/accelerate-preview/accelerate-preview.component.html + 103 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 168 + + + src/app/components/accelerate-preview/accelerate-preview.component.html + 193 + + + src/app/shared/components/fee-rate/fee-rate.component.html + 2 + + sat/vB + shared.sat-vbyte + Multisig of 个中的个多重签名 @@ -1581,11 +1777,11 @@ src/app/components/amount/amount.component.html - 18,21 + 18 src/app/components/asset-circulation/asset-circulation.component.html - 2,4 + 2 src/app/components/asset/asset.component.html @@ -1593,11 +1789,11 @@ src/app/components/transaction/transaction-preview.component.html - 21 + 18 src/app/components/transactions-list/transactions-list.component.html - 304,306 + 313 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1605,7 +1801,7 @@ src/app/dashboard/dashboard.component.html - 135,136 + 168 shared.confidential @@ -1614,11 +1810,22 @@ 地址: src/app/components/address/address-preview.component.ts - 70 + 71 src/app/components/address/address.component.ts - 78 + 79 + + + + See mempool transactions, confirmed transactions, balance, and more for address . + + src/app/components/address/address-preview.component.ts + 72 + + + src/app/components/address/address.component.ts + 80 @@ -1676,15 +1883,19 @@ src/app/components/assets/assets.component.html - 4,6 + 4 src/app/components/assets/assets.component.html - 31,33 + 31 + + + src/app/lightning/node/node.component.html + 140 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 28,30 + 28 Asset name header @@ -1811,11 +2022,11 @@ 个资产 src/app/components/assets/asset-group/asset-group.component.html - 8,9 + 8 src/app/components/assets/assets-featured/assets-featured.component.html - 9,10 + 9 @@ -1835,7 +2046,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 79,81 + 79 Assets page header @@ -1856,23 +2067,27 @@ src/app/components/pool-ranking/pool-ranking.component.html - 72,78 + 72 src/app/components/pool/pool.component.html - 149,151 + 148 src/app/components/pool/pool.component.html - 172,174 + 170 src/app/components/pool/pool.component.html - 428,430 + 438 src/app/components/pool/pool.component.html - 454,456 + 463 + + + src/app/components/statistics/statistics.component.html + 60 @@ -1893,16 +2108,23 @@ Search Clear Button + + Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + + src/app/components/assets/assets-nav/assets-nav.component.ts + 43 + + Ticker 代币 src/app/components/assets/assets.component.html - 5,6 + 5 src/app/components/assets/assets.component.html - 32,33 + 32 Asset ticker header @@ -1911,11 +2133,11 @@ 发行方 src/app/components/assets/assets.component.html - 6,9 + 6 src/app/components/assets/assets.component.html - 33,36 + 33 Asset Issuer Domain header @@ -1924,11 +2146,11 @@ 资产 ID src/app/components/assets/assets.component.html - 7,10 + 7 src/app/components/assets/assets.component.html - 34,38 + 34 Asset ID header @@ -1937,7 +2159,7 @@ 加载资产数据时出错。 src/app/components/assets/assets.component.html - 50,55 + 50 Asset data load error @@ -1946,15 +2168,15 @@ 离线 src/app/components/bisq-master-page/bisq-master-page.component.html - 36,37 + 36 src/app/components/liquid-master-page/liquid-master-page.component.html - 41,42 + 41 src/app/components/master-page/master-page.component.html - 14,15 + 28 master-page.offline @@ -1963,15 +2185,15 @@ 重新连接中 src/app/components/bisq-master-page/bisq-master-page.component.html - 37,42 + 37 src/app/components/liquid-master-page/liquid-master-page.component.html - 42,47 + 42 src/app/components/master-page/master-page.component.html - 15,20 + 29 master-page.reconnecting @@ -1980,15 +2202,15 @@ 第2层网络 src/app/components/bisq-master-page/bisq-master-page.component.html - 50,51 + 50 src/app/components/liquid-master-page/liquid-master-page.component.html - 55,56 + 55 src/app/components/master-page/master-page.component.html - 28,29 + 42 master-page.layer2-networks-header @@ -1997,15 +2219,15 @@ 仪表板 src/app/components/bisq-master-page/bisq-master-page.component.html - 60,62 + 60 src/app/components/liquid-master-page/liquid-master-page.component.html - 65,67 + 65 src/app/components/master-page/master-page.component.html - 38,40 + 52 master-page.dashboard @@ -2014,7 +2236,7 @@ 统计 src/app/components/bisq-master-page/bisq-master-page.component.html - 69,71 + 69 master-page.stats @@ -2023,11 +2245,11 @@ 文档 src/app/components/bisq-master-page/bisq-master-page.component.html - 72,74 + 72 src/app/components/liquid-master-page/liquid-master-page.component.html - 82,84 + 82 master-page.docs @@ -2036,7 +2258,7 @@ 区块费率 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html - 6,8 + 6 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -2048,20 +2270,27 @@ mining.block-fee-rates + + See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 67 + + At block: 位于区块: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 188 + 194 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 142 + src/app/components/block-health-graph/block-health-graph.component.ts + 143 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 165 + 166 @@ -2069,15 +2298,15 @@ 预计区块: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts - 190 + 196 - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 144 + src/app/components/block-health-graph/block-health-graph.component.ts + 145 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 167 + 168 @@ -2085,7 +2314,7 @@ 区块费用 src/app/components/block-fees-graph/block-fees-graph.component.html - 6,7 + 6 src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -2097,28 +2326,35 @@ mining.block-fees + + See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 68 + + Indexing blocks 引索区块 src/app/components/block-fees-graph/block-fees-graph.component.ts - 116,111 + 117 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 113,108 + 114 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 116,111 + 117 src/app/components/hashrate-chart/hashrate-chart.component.ts - 178,173 + 197 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts - 167,162 + 167 src/app/components/indexing-progress/indexing-progress.component.html @@ -2126,11 +2362,68 @@ src/app/components/pool/pool-preview.component.ts - 122,117 + 120 src/app/components/pool/pool.component.ts - 114,109 + 124 + + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.html + 6 + + + src/app/components/graphs/graphs.component.html + 25 + + mining.blocks-health + + + Block Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 63 + + + + See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + + src/app/components/block-health-graph/block-health-graph.component.ts + 64 + + + + No data to display yet. Try again later. + 没有可展示的数据。请稍后再试。 + + src/app/components/block-health-graph/block-health-graph.component.ts + 109 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 118 + + + src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts + 84 + + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 215 + + + src/app/lightning/nodes-map/nodes-map.component.ts + 145 + + + + Health + + src/app/components/block-health-graph/block-health-graph.component.ts + 190 @@ -2138,7 +2431,7 @@ 不可用 src/app/components/block-overview-graph/block-overview-graph.component.html - 5 + 7 block.not-available @@ -2149,13 +2442,17 @@ src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 21 + src/app/components/transaction/transaction-preview.component.html - 27 + 24 src/app/components/transaction/transaction.component.html - 473 + 502 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2163,33 +2460,11 @@ src/app/dashboard/dashboard.component.html - 127,129 + 159 Transaction fee transaction.fee - - sat - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 23 - - - src/app/components/transaction/transaction-preview.component.html - 27 - - - src/app/components/transaction/transaction.component.html - 473 - - - src/app/components/transactions-list/transactions-list.component.html - 288 - - sat - shared.sat - Fee rate 费率 @@ -2199,11 +2474,11 @@ src/app/components/transaction/transaction.component.html - 155,159 + 168 src/app/components/transaction/transaction.component.html - 476,478 + 506 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2211,41 +2486,563 @@ src/app/lightning/channel/channel-preview.component.html - 31,34 + 31 src/app/lightning/channels-list/channels-list.component.html - 41,43 + 41 Transaction fee rate transaction.fee-rate - - sat/vB - 聪/字节 + + Effective fee rate + 有效收费率 src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 28 + 32 + + + src/app/components/transaction/transaction.component.html + 517 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Accelerated fee rate + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 33 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Virtual size + 虚拟大小 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 39 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 25 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 294 + + Transaction Virtual Size + transaction.vsize + + + Weight + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 43 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 29 + + + src/app/components/transaction/transaction.component.html + 167 + + Transaction Weight + transaction.weight + + + Audit status + 审计情况 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 47 + + transaction.audit-status + + + Match + 匹配 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 49 + + transaction.audit.match + + + Removed + 已移除 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 50 + + transaction.audit.removed + + + Marginal fee rate + 边际费率 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 51 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 56 + + transaction.audit.marginal + + + High sigop count + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 52 + + transaction.audit.sigop + + + Recently broadcasted + 最近播出 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 53 + + transaction.audit.recently-broadcasted + + + Recently CPFP'd + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 54 + + transaction.audit.recently-cpfped + + + Added + 已添加 + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 55 + + transaction.audit.added + + + Conflicting + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 57 + + transaction.audit.conflicting + + + Accelerated + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 58 + + transaction.audit.accelerated + + + Block Rewards + 区块奖励 + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 7 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 21 + + mining.block-rewards + + + See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 66 + + + + Block Sizes and Weights + 区块大小与权重 + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 5 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 62 + + + src/app/components/graphs/graphs.component.html + 23 + + mining.block-sizes-weights + + + See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 63 + + + + Size + 大小 + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 185 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 240 + + + src/app/components/block/block.component.html + 54 + + + src/app/components/blocks-list/blocks-list.component.html + 25 + + + src/app/components/clock/clock.component.html + 54 + + + src/app/components/mempool-block/mempool-block.component.html + 36 + + + src/app/components/mempool-graph/mempool-graph.component.ts + 327 + + + src/app/components/pool/pool.component.html + 219 + + + src/app/components/pool/pool.component.html + 280 + + + src/app/components/transaction/transaction.component.html + 290 + + + src/app/dashboard/dashboard.component.html + 123 + + + + Weight + 权重 + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 193 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 271 src/app/components/block/block-preview.component.html - 37,40 + 32 src/app/components/block/block.component.html - 124,127 + 58 src/app/components/block/block.component.html - 128,130 + 410 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,22 + src/app/components/block/block.component.html + 434 - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 30,33 + src/app/components/transaction/transaction.component.html + 302 + + + + Size per weight + 尺寸/权重 + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 201 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 283 + + + + Block : + 区块 + + src/app/components/block-view/block-view.component.ts + 110 + + + src/app/components/block/block-preview.component.ts + 100 + + + src/app/components/block/block.component.ts + 265 + + + + See size, weight, fee range, included transactions, and more for Liquid block (). + + src/app/components/block-view/block-view.component.ts + 112 + + + src/app/components/block/block-preview.component.ts + 102 + + + src/app/components/block/block.component.ts + 267 + + + + See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + + src/app/components/block-view/block-view.component.ts + 114 + + + src/app/components/block/block-preview.component.ts + 104 + + + src/app/components/block/block.component.ts + 269 + + + + Block + 区块 + + src/app/components/block/block-preview.component.html + 3 + + + src/app/components/block/block.component.html + 9 + + shared.block-title + + + Median fee + 中位矿工手续费 + + src/app/components/block/block-preview.component.html + 36 + + + src/app/components/block/block.component.html + 133 + + + src/app/components/mempool-block/mempool-block.component.html + 16 + + block.median-fee + + + Total fees + 总手续费 + + src/app/components/block/block-preview.component.html + 41 + + + src/app/components/block/block.component.html + 144 + + + src/app/components/block/block.component.html + 170 + + + src/app/components/block/block.component.html + 404 + + + src/app/components/block/block.component.html + 425 + + + src/app/components/mempool-block/mempool-block.component.html + 28 + + Total fees in a block + block.total-fees + + + Miner + 矿工 + + src/app/components/block/block-preview.component.html + 53 + + + src/app/components/block/block.component.html + 179 + + block.miner + + + This block does not belong to the main chain, it has been replaced by: + + src/app/components/block/block.component.html + 5 + + Block reorg + block.reorged + + + Next Block + 下一个区块 + + src/app/components/block/block.component.html + 12 + + + src/app/components/difficulty/difficulty-tooltip.component.html + 28 + + + src/app/components/mempool-block/mempool-block.component.ts + 81 + + Next Block + + + Previous Block + 上一个区块 + + src/app/components/block/block.component.html + 19 + + Previous Block + + + Stale + + src/app/components/block/block.component.html + 30 + + Stale block state + block.stale + + + Health + 健康度 + + src/app/components/block/block.component.html + 62 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/blocks-list/blocks-list.component.html + 17 + + + src/app/components/pool/pool.component.html + 215 + + latest-blocks.health + + + Unknown + 未知 + + src/app/components/block/block.component.html + 73 + + + src/app/components/blocks-list/blocks-list.component.html + 62 + + + src/app/components/pool-ranking/pool-ranking.component.html + 122 + + + src/app/components/pool/pool.component.html + 107 + + + src/app/components/pool/pool.component.html + 132 + + + src/app/components/pool/pool.component.html + 248 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 + + + src/app/lightning/node/node-preview.component.html + 52 + + + src/app/lightning/node/node.component.html + 58 + + + src/app/lightning/node/node.component.html + 105 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 143 + + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 312 + + unknown + + + Fee span + 费用范围 + + src/app/components/block/block.component.html + 129 + + + src/app/components/mempool-block/mempool-block.component.html + 20 + + mempool-block.fee-span + + + Based on average native segwit transaction of 140 vBytes + 基于平均140字节的本地segwit交易 + + src/app/components/block/block.component.html + 137 src/app/components/fees-box/fees-box.component.html @@ -2267,485 +3064,6 @@ src/app/components/mempool-block/mempool-block.component.html 17 - - src/app/components/mempool-block/mempool-block.component.html - 21,24 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 10,12 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 13,16 - - - src/app/components/transaction/transaction-preview.component.html - 39 - - - src/app/components/transaction/transaction.component.html - 167,168 - - - src/app/components/transaction/transaction.component.html - 178,179 - - - src/app/components/transaction/transaction.component.html - 189,190 - - - src/app/components/transaction/transaction.component.html - 478,481 - - - src/app/components/transaction/transaction.component.html - 489,491 - - - src/app/components/transactions-list/transactions-list.component.html - 286,287 - - - src/app/dashboard/dashboard.component.html - 137,141 - - - src/app/dashboard/dashboard.component.html - 213,217 - - sat/vB - shared.sat-vbyte - - - Virtual size - 虚拟大小 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 32 - - - src/app/components/transaction/transaction.component.html - 154,156 - - - src/app/components/transaction/transaction.component.html - 269,272 - - Transaction Virtual Size - transaction.vsize - - - Audit status - 审计情况 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 36 - - transaction.audit-status - - - Match - 匹配 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 38 - - transaction.audit.match - - - Removed - 已移除 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 39 - - transaction.audit.removed - - - Marginal fee rate - 边际费率 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 40 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 43 - - transaction.audit.marginal - - - Recently broadcasted - 最近播出 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 41 - - transaction.audit.recently-broadcasted - - - Added - 已添加 - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 42 - - transaction.audit.added - - - Block Prediction Accuracy - 区块预测准确度 - - src/app/components/block-prediction-graph/block-prediction-graph.component.html - 6,8 - - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 63 - - - src/app/components/graphs/graphs.component.html - 25 - - mining.block-prediction-accuracy - - - No data to display yet. Try again later. - 没有可展示的数据。请稍后再试。 - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 108,103 - - - src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 111 - - - src/app/lightning/nodes-map/nodes-map.component.ts - 144,139 - - - - Match rate - 匹配度 - - src/app/components/block-prediction-graph/block-prediction-graph.component.ts - 189,187 - - - - Block Rewards - 区块奖励 - - src/app/components/block-rewards-graph/block-rewards-graph.component.html - 7,8 - - - src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 65 - - - src/app/components/graphs/graphs.component.html - 21 - - mining.block-rewards - - - Block Sizes and Weights - 区块大小与权重 - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html - 5,7 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 62 - - - src/app/components/graphs/graphs.component.html - 23 - - mining.block-sizes-weights - - - Size - 大小 - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 184,183 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 239,237 - - - src/app/components/block/block.component.html - 48,50 - - - src/app/components/blocks-list/blocks-list.component.html - 25,27 - - - src/app/components/mempool-block/mempool-block.component.html - 32,35 - - - src/app/components/mempool-graph/mempool-graph.component.ts - 260 - - - src/app/components/pool/pool.component.html - 219,222 - - - src/app/components/pool/pool.component.html - 266,270 - - - src/app/components/transaction/transaction.component.html - 265,267 - - - src/app/dashboard/dashboard.component.html - 91,94 - - - - Weight - 权重 - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 192,191 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 270,267 - - - src/app/components/block/block-preview.component.html - 32,34 - - - src/app/components/block/block.component.html - 52,54 - - - src/app/components/transaction/transaction.component.html - 273,275 - - - - Size per weight - 尺寸/权重 - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 200,199 - - - src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 282,279 - - - - Block - 区块 - - src/app/components/block/block-preview.component.html - 3,7 - - - src/app/components/block/block.component.html - 5,6 - - shared.block-title - - - Median fee - 中位矿工手续费 - - src/app/components/block/block-preview.component.html - 36,37 - - - src/app/components/block/block.component.html - 127,128 - - - src/app/components/mempool-block/mempool-block.component.html - 16,17 - - block.median-fee - - - Total fees - 总手续费 - - src/app/components/block/block-preview.component.html - 41,43 - - - src/app/components/block/block.component.html - 138,140 - - - src/app/components/block/block.component.html - 164,167 - - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - Total fees in a block - block.total-fees - - - Miner - 矿工 - - src/app/components/block/block-preview.component.html - 53,55 - - - src/app/components/block/block.component.html - 173,175 - - block.miner - - - Block : - 区块 - - src/app/components/block/block-preview.component.ts - 98 - - - src/app/components/block/block.component.ts - 242 - - - - Next Block - 下一个区块 - - src/app/components/block/block.component.html - 8,9 - - - src/app/components/difficulty/difficulty-tooltip.component.html - 38 - - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - Next Block - - - Previous Block - 上一个区块 - - src/app/components/block/block.component.html - 15,16 - - Previous Block - - - Health - 健康度 - - src/app/components/block/block.component.html - 56 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - - - Unknown - 未知 - - src/app/components/block/block.component.html - 67,70 - - - src/app/components/blocks-list/blocks-list.component.html - 60,63 - - - src/app/components/pool-ranking/pool-ranking.component.html - 121,124 - - - src/app/lightning/channel/closing-type/closing-type.component.ts - 32 - - - src/app/lightning/node/node.component.html - 55,58 - - - src/app/lightning/node/node.component.html - 99,103 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 142,139 - - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 311,310 - - unknown - - - Fee span - 费用范围 - - src/app/components/block/block.component.html - 123,124 - - - src/app/components/mempool-block/mempool-block.component.html - 20,21 - - mempool-block.fee-span - - - Based on average native segwit transaction of 140 vBytes - 基于平均140字节的本地segwit交易 - - src/app/components/block/block.component.html - 131,136 - - - src/app/components/fees-box/fees-box.component.html - 16,18 - - - src/app/components/fees-box/fees-box.component.html - 22,24 - - - src/app/components/fees-box/fees-box.component.html - 27,28 - - - src/app/components/fees-box/fees-box.component.html - 32,34 - - - src/app/components/mempool-block/mempool-block.component.html - 17,20 - Transaction fee tooltip @@ -2753,11 +3071,11 @@ 补贴+费用 src/app/components/block/block.component.html - 153,156 + 159 src/app/components/block/block.component.html - 168,172 + 174 Total subsidy and fees in a block block.subsidy-and-fees @@ -2767,7 +3085,7 @@ 预计区块 src/app/components/block/block.component.html - 216 + 222 block.expected @@ -2776,11 +3094,11 @@ 测试 src/app/components/block/block.component.html - 216,217 + 222 src/app/components/block/block.component.html - 222,224 + 228 beta @@ -2789,7 +3107,7 @@ 实际区块 src/app/components/block/block.component.html - 218,222 + 224 block.actual @@ -2798,7 +3116,7 @@ 预计区块 src/app/components/block/block.component.html - 222 + 228 block.expected-block @@ -2807,16 +3125,46 @@ 实际区块 src/app/components/block/block.component.html - 231 + 240 block.actual-block + + Taproot + Taproot + + src/app/components/block/block.component.html + 265 + + + src/app/components/tx-features/tx-features.component.html + 12 + + + src/app/components/tx-features/tx-features.component.html + 14 + + + src/app/components/tx-features/tx-features.component.html + 16 + + + src/app/components/tx-features/tx-features.component.html + 18 + + + src/app/components/tx-features/tx-features.component.html + 21 + + Taproot + tx-features.tag.taproot + Bits 字节 src/app/components/block/block.component.html - 256,258 + 268 block.bits @@ -2825,7 +3173,7 @@ 哈希树 src/app/components/block/block.component.html - 260,262 + 272 block.merkle-root @@ -2834,27 +3182,27 @@ 难度 src/app/components/block/block.component.html - 271,274 + 283 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 7,10 + 7 src/app/components/hashrate-chart/hashrate-chart.component.html - 14,16 + 14 src/app/components/hashrate-chart/hashrate-chart.component.html - 75,77 + 75 src/app/components/hashrate-chart/hashrate-chart.component.ts - 291,290 + 310 src/app/components/hashrate-chart/hashrate-chart.component.ts - 378,375 + 397 block.difficulty @@ -2863,7 +3211,7 @@ 随机数 src/app/components/block/block.component.html - 275,277 + 287 block.nonce @@ -2872,7 +3220,7 @@ 区块头字节 src/app/components/block/block.component.html - 279,280 + 291 block.header @@ -2881,7 +3229,7 @@ 审计 src/app/components/block/block.component.html - 297,301 + 309 Toggle Audit block.toggle-audit @@ -2891,23 +3239,31 @@ 明细 src/app/components/block/block.component.html - 304,308 + 316 src/app/components/transaction/transaction.component.html - 249,254 + 274 src/app/lightning/channel/channel.component.html - 93,95 + 93 src/app/lightning/channel/channel.component.html - 103,105 + 103 + + + src/app/lightning/justice-list/justice-list.component.html + 42 src/app/lightning/node/node.component.html - 221,225 + 125 + + + src/app/lightning/node/node.component.html + 266 Transaction Details transaction.details @@ -2917,23 +3273,23 @@ 加载数据时出错。 src/app/components/block/block.component.html - 323,325 + 335 src/app/components/block/block.component.html - 362,366 + 374 src/app/lightning/channel/channel-preview.component.html - 70,75 + 70 src/app/lightning/node/node-preview.component.html - 66,69 + 66 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 61,64 + 61 error.general-loading-data @@ -2942,7 +3298,7 @@ 为什么这个区块是空的? src/app/components/block/block.component.html - 384,390 + 396 block.empty-block-explanation @@ -2955,57 +3311,52 @@ src/app/components/blocks-list/blocks-list.component.html - 14,15 + 14 src/app/components/pool-ranking/pool-ranking.component.html - 92,93 + 92 src/app/dashboard/dashboard.component.html - 89,90 + 121 mining.pool-name - - Mined - 已出块 - - src/app/components/blocks-list/blocks-list.component.html - 16,17 - - - src/app/components/pool/pool.component.html - 214,215 - - - src/app/components/pool/pool.component.html - 261,262 - - - src/app/dashboard/dashboard.component.html - 88,89 - - latest-blocks.mined - Reward 奖励 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/blocks-list/blocks-list.component.html - 20,21 + 19 src/app/components/pool/pool.component.html - 216,218 + 95 src/app/components/pool/pool.component.html - 263,265 + 120 + + + src/app/components/pool/pool.component.html + 216 + + + src/app/components/pool/pool.component.html + 277 + + + src/app/components/pool/pool.component.html + 385 + + + src/app/components/pool/pool.component.html + 410 latest-blocks.reward @@ -3014,15 +3365,15 @@ 费用 src/app/components/blocks-list/blocks-list.component.html - 21,22 + 20 src/app/components/pool/pool.component.html - 217,219 + 217 src/app/components/pool/pool.component.html - 264,266 + 278 latest-blocks.fees @@ -3031,30 +3382,63 @@ 交易 src/app/components/blocks-list/blocks-list.component.html - 23,24 + 23 src/app/components/blocks-list/blocks-list.component.html - 24 + 23 src/app/components/pool/pool.component.html - 219,221 + 218 src/app/components/pool/pool.component.html - 266,268 + 279 src/app/dashboard/dashboard.component.html - 91,93 + 122 src/app/dashboard/dashboard.component.html - 219,223 + 232 dashboard.txs + + Blocks + + src/app/components/blocks-list/blocks-list.component.ts + 59 + + + + See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 62 + + + + See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + + src/app/components/blocks-list/blocks-list.component.ts + 64 + + + + Calculator + + src/app/components/calculator/calculator.component.html + 3 + + + src/app/shared/components/global-footer/global-footer.component.html + 72 + + shared.calculator + Copied! 已复制! @@ -3063,12 +3447,60 @@ 19 + + High Priority + 高优先级 + + src/app/components/clock/clock.component.html + 47 + + + src/app/components/fees-box/fees-box.component.html + 10 + + + src/app/components/fees-box/fees-box.component.html + 47 + + fees-box.high-priority + + + Memory Usage + + src/app/components/clock/clock.component.html + 65 + + + src/app/dashboard/dashboard.component.html + 236 + + Memory usage + dashboard.memory-usage + + + Unconfirmed + 未确认 + + src/app/components/clock/clock.component.html + 69 + + + src/app/components/footer/footer.component.html + 20 + + + src/app/dashboard/dashboard.component.html + 230 + + Unconfirmed count + dashboard.unconfirmed + Adjusted 矫正量 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 6,8 + 6 mining.adjusted @@ -3077,7 +3509,7 @@ 变化量 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html - 8,11 + 8 mining.change @@ -3086,11 +3518,11 @@ 难度调整 src/app/components/difficulty-mining/difficulty-mining.component.html - 1,5 + 1 src/app/components/difficulty/difficulty.component.html - 1,5 + 1 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -3103,32 +3535,31 @@ 距离下次调整 src/app/components/difficulty-mining/difficulty-mining.component.html - 7,9 + 7 src/app/components/difficulty-mining/difficulty-mining.component.html - 66,69 + 67 difficulty-box.remaining - blocks - 区块 + blocks src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 src/app/components/difficulty-mining/difficulty-mining.component.html - 53,54 + 54,55 src/app/components/footer/footer.component.html - 25,26 + 26,27 src/app/components/mempool-blocks/mempool-blocks.component.html - 35,36 + 43,44 src/app/lightning/channel/channel-box/channel-box.component.html @@ -3145,11 +3576,11 @@ src/app/components/difficulty-mining/difficulty-mining.component.html - 54,55 + 55,56 src/app/components/footer/footer.component.html - 26,27 + 27,28 shared.block @@ -3158,11 +3589,11 @@ 预估调整量 src/app/components/difficulty-mining/difficulty-mining.component.html - 16,17 + 16 src/app/components/difficulty-mining/difficulty-mining.component.html - 73,76 + 74 difficulty-box.estimate @@ -3171,11 +3602,11 @@ 之前 src/app/components/difficulty-mining/difficulty-mining.component.html - 31,33 + 31 src/app/components/difficulty/difficulty.component.html - 59,61 + 59 difficulty-box.previous @@ -3184,11 +3615,7 @@ 当前阶段 src/app/components/difficulty-mining/difficulty-mining.component.html - 43,44 - - - src/app/components/difficulty-mining/difficulty-mining.component.html - 80,83 + 43 difficulty-box.current-period @@ -3197,7 +3624,15 @@ 距离下次奖励减半 src/app/components/difficulty-mining/difficulty-mining.component.html - 50,52 + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 51 + + + src/app/components/difficulty-mining/difficulty-mining.component.html + 81 difficulty-box.next-halving @@ -3206,7 +3641,7 @@ 预计个区块 src/app/components/difficulty/difficulty-tooltip.component.html - 13 + 50 difficulty-box.expected-blocks @@ -3215,7 +3650,7 @@ 预计个区块 src/app/components/difficulty/difficulty-tooltip.component.html - 14 + 51 difficulty-box.expected-block @@ -3224,7 +3659,7 @@ 已挖个区块 src/app/components/difficulty/difficulty-tooltip.component.html - 18 + 52 difficulty-box.mined-blocks @@ -3233,7 +3668,7 @@ 已挖个区块 src/app/components/difficulty/difficulty-tooltip.component.html - 19 + 53 difficulty-box.mined-block @@ -3242,7 +3677,7 @@ 剩余个区块 src/app/components/difficulty/difficulty-tooltip.component.html - 24 + 54 difficulty-box.remaining-blocks @@ -3251,7 +3686,7 @@ 剩余个区块 src/app/components/difficulty/difficulty-tooltip.component.html - 25 + 55 difficulty-box.remaining-block @@ -3260,7 +3695,7 @@ 领先个区块 src/app/components/difficulty/difficulty-tooltip.component.html - 29 + 56 difficulty-box.blocks-ahead @@ -3269,7 +3704,7 @@ 领先个区块 src/app/components/difficulty/difficulty-tooltip.component.html - 30 + 57 difficulty-box.block-ahead @@ -3278,7 +3713,7 @@ 落后个区块 src/app/components/difficulty/difficulty-tooltip.component.html - 34 + 58 difficulty-box.blocks-behind @@ -3287,7 +3722,7 @@ 落后个区块 src/app/components/difficulty/difficulty-tooltip.component.html - 35 + 59 difficulty-box.block-behind @@ -3296,7 +3731,7 @@ 平均出块时间 src/app/components/difficulty/difficulty.component.html - 42,45 + 42 difficulty-box.average-block-time @@ -3305,7 +3740,7 @@ 最低 2 倍最小值或低优先率(以较低者为准) src/app/components/fees-box/fees-box.component.html - 4,7 + 4 Transaction feerate tooltip (economy) @@ -3314,11 +3749,11 @@ 无优先级 src/app/components/fees-box/fees-box.component.html - 4,7 + 4 src/app/components/fees-box/fees-box.component.html - 41,44 + 41 fees-box.no-priority @@ -3327,7 +3762,7 @@ 通常你能将您的交易置于第二或第三个 mempool 所预测的区块中。 src/app/components/fees-box/fees-box.component.html - 8,9 + 8 Transaction feerate tooltip (low priority) @@ -3336,11 +3771,11 @@ 低优先级 src/app/components/fees-box/fees-box.component.html - 8,9 + 8 src/app/components/fees-box/fees-box.component.html - 45,46 + 45 fees-box.low-priority @@ -3349,7 +3784,7 @@ 通常你能将您的交易置第一或第二个 mempool 所预测的区块中。 src/app/components/fees-box/fees-box.component.html - 9,10 + 9 Transaction feerate tooltip (medium priority) @@ -3358,11 +3793,11 @@ 中优先级 src/app/components/fees-box/fees-box.component.html - 9,10 + 9 src/app/components/fees-box/fees-box.component.html - 46,48 + 46 fees-box.medium-priority @@ -3371,33 +3806,16 @@ 将您的交易置入第一个预测区块中 src/app/components/fees-box/fees-box.component.html - 10,14 + 10 Transaction feerate tooltip (high priority) - - High Priority - 高优先级 - - src/app/components/fees-box/fees-box.component.html - 10,15 - - - src/app/components/fees-box/fees-box.component.html - 47,51 - - fees-box.high-priority - Incoming transactions 即将完成交易 src/app/components/footer/footer.component.html - 5,6 - - - src/app/dashboard/dashboard.component.html - 246,247 + 5 dashboard.incoming-transactions @@ -3406,11 +3824,11 @@ 后端正在同步中... src/app/components/footer/footer.component.html - 8,10 + 8 src/app/dashboard/dashboard.component.html - 249,252 + 262 dashboard.backend-is-synchronizing @@ -3419,35 +3837,34 @@ 字节/秒 src/app/components/footer/footer.component.html - 13,17 + 13 src/app/dashboard/dashboard.component.html - 254,259 + 267 vB/s shared.vbytes-per-second - - Unconfirmed - 未确认 + + WU/s src/app/components/footer/footer.component.html - 19,21 + 14 src/app/dashboard/dashboard.component.html - 217,218 + 268 - Unconfirmed count - dashboard.unconfirmed + WU/s + shared.weight-per-second Mempool size 内存池大小 src/app/components/footer/footer.component.html - 23,24 + 24 Mempool size dashboard.mempool-size @@ -3470,7 +3887,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 36,37 + 36 mining.pools @@ -3483,7 +3900,7 @@ src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html - 7,8 + 7 mining.pools-dominance @@ -3514,7 +3931,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html - 5,7 + 5 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -3522,7 +3939,7 @@ src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 131,126 + 132 lightning.nodes-networks @@ -3535,7 +3952,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 5,7 + 5 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -3543,7 +3960,7 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 122,117 + 123 lightning.network-capacity @@ -3556,7 +3973,7 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 51 + 52 lightning.nodes-per-isp @@ -3569,7 +3986,7 @@ src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 5,7 + 5 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -3586,7 +4003,7 @@ src/app/lightning/nodes-map/nodes-map.component.html - 5,7 + 5 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3603,7 +4020,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6,8 + 6 lightning.nodes-channels-world-map @@ -3612,27 +4029,27 @@ 哈希率 src/app/components/hashrate-chart/hashrate-chart.component.html - 8,10 + 8 src/app/components/hashrate-chart/hashrate-chart.component.html - 69,71 + 69 src/app/components/hashrate-chart/hashrate-chart.component.ts - 280,279 + 299 src/app/components/hashrate-chart/hashrate-chart.component.ts - 366,363 + 385 src/app/components/pool-ranking/pool-ranking.component.html - 93,95 + 93 src/app/components/pool/pool-preview.component.html - 22,23 + 22 mining.hashrate @@ -3641,24 +4058,31 @@ 哈希率和难度 src/app/components/hashrate-chart/hashrate-chart.component.html - 27,29 + 27 src/app/components/hashrate-chart/hashrate-chart.component.ts - 73 + 74 mining.hashrate-difficulty + + See hashrate and difficulty for the Bitcoin network visualized over time. + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 75 + + Hashrate (MA) 哈希率(MA) src/app/components/hashrate-chart/hashrate-chart.component.ts - 299,298 + 318 src/app/components/hashrate-chart/hashrate-chart.component.ts - 389,387 + 408 @@ -3690,15 +4114,15 @@ 图表 src/app/components/liquid-master-page/liquid-master-page.component.html - 71,74 + 71 src/app/components/master-page/master-page.component.html - 51,53 + 65 src/app/components/statistics/statistics.component.ts - 62 + 66 master-page.graphs @@ -3707,11 +4131,15 @@ 挖矿仪表板 src/app/components/master-page/master-page.component.html - 41,43 + 55 src/app/components/mining-dashboard/mining-dashboard.component.ts - 16 + 20 + + + src/app/shared/components/global-footer/global-footer.component.html + 42 mining.mining-dashboard @@ -3720,12 +4148,16 @@ 闪电网络浏览器 src/app/components/master-page/master-page.component.html - 44,47 + 58 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 27 + + src/app/shared/components/global-footer/global-footer.component.html + 43 + master-page.lightning @@ -3733,7 +4165,7 @@ 文档 src/app/components/master-page/master-page.component.html - 54,56 + 68 src/app/docs/docs/docs.component.html @@ -3741,12 +4173,19 @@ documentation.title + + See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + + src/app/components/mempool-block/mempool-block.component.ts + 58 + + Stack of mempool blocks 个内存池区块 src/app/components/mempool-block/mempool-block.component.ts - 77 + 83 @@ -3754,7 +4193,18 @@ 内存池区块 src/app/components/mempool-block/mempool-block.component.ts - 79 + 85 + + + + Count + + src/app/components/mempool-graph/mempool-graph.component.ts + 325 + + + src/app/components/statistics/statistics.component.ts + 50 @@ -3762,7 +4212,7 @@ 范围 src/app/components/mempool-graph/mempool-graph.component.ts - 259 + 326 @@ -3770,9 +4220,17 @@ 总和 src/app/components/mempool-graph/mempool-graph.component.ts - 261 + 328 + + Sign in + + src/app/components/menu/menu.component.html + 10 + + shared.sign-in + Reward stats 奖励统计 @@ -3791,18 +4249,21 @@ mining.144-blocks - - Latest blocks - 最新区块 + + Recent Blocks src/app/components/mining-dashboard/mining-dashboard.component.html 52 src/app/dashboard/dashboard.component.html - 81,83 + 113 - dashboard.latest-blocks + + src/app/shared/components/global-footer/global-footer.component.html + 44 + + dashboard.recent-blocks Adjustments @@ -3813,31 +4274,12 @@ dashboard.adjustments - - Broadcast Transaction - 广播交易 + + Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. - src/app/components/mining-dashboard/mining-dashboard.component.html - 91 + src/app/components/mining-dashboard/mining-dashboard.component.ts + 21 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 161,169 - - - src/app/lightning/lightning-dashboard/lightning-dashboard.component.html - 102 - - Broadcast Transaction - shared.broadcast-transaction Pools luck (1 week) @@ -3848,12 +4290,15 @@ mining.miners-luck-1w - - Pools luck - 矿池幸运度 + + Pools Luck src/app/components/pool-ranking/pool-ranking.component.html - 9,11 + 9 + + + src/app/components/pool-ranking/pool-ranking.component.html + 156 mining.miners-luck @@ -3862,7 +4307,7 @@ 过去一周所有矿池的整体幸运值超过前一周。幸运值大于 100% 意味着当前阶段的平均出块时间少于 10 分钟 src/app/components/pool-ranking/pool-ranking.component.html - 11,15 + 11 mining.pools-luck-desc @@ -3875,12 +4320,15 @@ mining.miners-count-1w - - Pools count - 矿池数 + + Pools Count src/app/components/pool-ranking/pool-ranking.component.html - 17,19 + 17 + + + src/app/components/pool-ranking/pool-ranking.component.html + 162 mining.miners-count @@ -3889,7 +4337,7 @@ 近 1 周挖出至少一个区块的独立矿池数量。 src/app/components/pool-ranking/pool-ranking.component.html - 19,23 + 19 mining.pools-count-desc @@ -3902,11 +4350,11 @@ src/app/components/pool-ranking/pool-ranking.component.html - 25,27 + 25 src/app/components/pool-ranking/pool-ranking.component.html - 152,154 + 168 master-page.blocks @@ -3915,7 +4363,7 @@ 近 1 周中发现的区块总数。 src/app/components/pool-ranking/pool-ranking.component.html - 27,31 + 27 mining.blocks-count-desc @@ -3924,15 +4372,15 @@ 矿池排名 src/app/components/pool-ranking/pool-ranking.component.html - 90,92 + 90 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 27,29 + 27 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 57,59 + 57 mining.rank @@ -3941,20 +4389,56 @@ 平均健康 src/app/components/pool-ranking/pool-ranking.component.html - 96,97 + 96 src/app/components/pool-ranking/pool-ranking.component.html - 96,98 + 96 + + + src/app/components/pool/pool.component.html + 97 + + + src/app/components/pool/pool.component.html + 122 + + + src/app/components/pool/pool.component.html + 387 + + + src/app/components/pool/pool.component.html + 412 latest-blocks.avg_health - - Empty blocks - 空区块 + + Avg Block Fees + 平均区块费用 src/app/components/pool-ranking/pool-ranking.component.html - 97,100 + 97 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 17 + + + src/app/components/reward-stats/reward-stats.component.html + 53 + + mining.fees-per-block + + + Empty Blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 98 mining.empty-blocks @@ -3963,28 +4447,10 @@ 所有矿工 src/app/components/pool-ranking/pool-ranking.component.html - 129,130 + 138 mining.all-miners - - Pools Luck (1w) - 矿池幸运度(近 1 周) - - src/app/components/pool-ranking/pool-ranking.component.html - 146,148 - - mining.miners-luck - - - Pools Count (1w) - 矿池数(近 1 周) - - src/app/components/pool-ranking/pool-ranking.component.html - 158,160 - - mining.miners-count - Mining Pools 矿池 @@ -3993,24 +4459,31 @@ 58 + + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + + src/app/components/pool-ranking/pool-ranking.component.ts + 59 + + blocks 个区块 src/app/components/pool-ranking/pool-ranking.component.ts - 165,163 + 166 src/app/components/pool-ranking/pool-ranking.component.ts - 168,167 + 169 src/app/components/pool-ranking/pool-ranking.component.ts - 203,201 + 204 src/app/components/pool-ranking/pool-ranking.component.ts - 206,205 + 207 @@ -4018,15 +4491,15 @@ 其他 () src/app/components/pool-ranking/pool-ranking.component.ts - 201 + 202 src/app/components/pool-ranking/pool-ranking.component.ts - 205 + 206 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 119,114 + 119 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts @@ -4034,11 +4507,11 @@ src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 173,168 + 176 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 190 + 193 @@ -4046,7 +4519,7 @@ 矿池 src/app/components/pool/pool-preview.component.html - 3,5 + 3 mining.pools @@ -4055,48 +4528,59 @@ 标签 src/app/components/pool/pool-preview.component.html - 18,19 + 18 src/app/components/pool/pool.component.html - 22,23 + 22 src/app/components/pool/pool.component.html - 30,31 + 30 src/app/components/pool/pool.component.html - 320,322 + 334 src/app/components/pool/pool.component.html - 328,330 + 342 mining.tags + + See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + + src/app/components/pool/pool-preview.component.ts + 86 + + + src/app/components/pool/pool.component.ts + 86 + + Show all 显示所有 src/app/components/pool/pool.component.html - 53,55 + 53 src/app/components/pool/pool.component.html - 68,70 + 68 src/app/components/transactions-list/transactions-list.component.html - 120,121 + 129 src/app/components/transactions-list/transactions-list.component.html - 160,162 + 169 src/app/components/transactions-list/transactions-list.component.html - 271,273 + 287 show-all @@ -4105,7 +4589,7 @@ 隐藏 src/app/components/pool/pool.component.html - 55,58 + 55 hide @@ -4114,116 +4598,39 @@ 哈希率(近 24 小时) src/app/components/pool/pool.component.html - 91,93 + 96 src/app/components/pool/pool.component.html - 114,116 + 121 src/app/components/pool/pool.component.html - 367,369 + 386 src/app/components/pool/pool.component.html - 394,396 + 411 - mining.hashrate-24h + mining.hashrate - - Estimated - 预估 + + Blocks (24h) src/app/components/pool/pool.component.html - 96,97 + 146 src/app/components/pool/pool.component.html - 118,119 + 168 src/app/components/pool/pool.component.html - 372,373 + 436 src/app/components/pool/pool.component.html - 398,399 - - mining.estimated - - - Reported - 实际 - - src/app/components/pool/pool.component.html - 97,98 - - - src/app/components/pool/pool.component.html - 119,120 - - - src/app/components/pool/pool.component.html - 373,374 - - - src/app/components/pool/pool.component.html - 399,400 - - mining.reported - - - Luck - 加成后 - - src/app/components/pool/pool.component.html - 98,101 - - - src/app/components/pool/pool.component.html - 120,123 - - - src/app/components/pool/pool.component.html - 374,377 - - - src/app/components/pool/pool.component.html - 400,403 - - mining.luck - - - Mined blocks - 已出块数 - - src/app/components/pool/pool.component.html - 141,143 - - - src/app/components/pool/pool.component.html - 165,167 - - - src/app/components/pool/pool.component.html - 420,422 - - - src/app/components/pool/pool.component.html - 447,449 - - mining.mined-blocks - - - 24h - 近 24 小时 - - src/app/components/pool/pool.component.html - 147 - - - src/app/components/pool/pool.component.html - 170 + 461 24h @@ -4232,27 +4639,82 @@ 近 1 周 src/app/components/pool/pool.component.html - 148 + 147 src/app/components/pool/pool.component.html - 171 + 169 + + + src/app/components/pool/pool.component.html + 437 + + + src/app/components/pool/pool.component.html + 462 1w + + Mined + 已出块 + + src/app/components/pool/pool.component.html + 213 + + + src/app/components/pool/pool.component.html + 275 + + + src/app/components/rbf-list/rbf-list.component.html + 23 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 38 + + + src/app/dashboard/dashboard.component.html + 100 + + + src/app/dashboard/dashboard.component.html + 120 + + latest-blocks.mined + Coinbase tag CoinBase 标签 src/app/components/pool/pool.component.html - 215,217 + 214 src/app/components/pool/pool.component.html - 262,264 + 276 latest-blocks.coinbasetag + + Broadcast Transaction + 广播交易 + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/shared/components/global-footer/global-footer.component.html + 45 + + Broadcast Transaction + shared.broadcast-transaction + Transaction hex 交易源数据 @@ -4262,10 +4724,153 @@ src/app/components/transaction/transaction.component.html - 291,292 + 324 transaction.hex + + Broadcast Transaction + + src/app/components/push-transaction/push-transaction.component.ts + 31 + + + + Broadcast a transaction to the network using the transaction's hash. + + src/app/components/push-transaction/push-transaction.component.ts + 32 + + + + RBF Replacements + + src/app/components/rbf-list/rbf-list.component.html + 2 + + + src/app/components/rbf-list/rbf-list.component.ts + 58 + + page.rbf-replacements + + + Full RBF + + src/app/components/rbf-list/rbf-list.component.html + 24 + + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 35 + + + src/app/dashboard/dashboard.component.html + 101 + + transaction.full-rbf + + + There are no replacements in the mempool yet! + + src/app/components/rbf-list/rbf-list.component.html + 34 + + rbf.no-replacements-yet + + + See the most recent RBF replacements on the Bitcoin network, updated in real-time. + + src/app/components/rbf-list/rbf-list.component.ts + 59 + + + + First seen + 初次发现时间 + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 17 + + + src/app/components/transaction/transaction.component.html + 108 + + + src/app/lightning/node/node.component.html + 76 + + + src/app/lightning/nodes-per-country/nodes-per-country.component.html + 61 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.html + 58 + + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html + 11 + + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 15 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 15 + + Transaction first seen + transaction.first-seen + + + Status + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 33 + + + src/app/dashboard/dashboard.component.html + 88 + + + src/app/lightning/channels-list/channels-list.component.html + 40 + + Transaction Status + transaction.status + + + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 36 + + RBF + rbfInfo-features.tag.rbf + + + RBF + RBF + + src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html + 37 + + + src/app/components/tx-features/tx-features.component.html + 28 + + + src/app/components/tx-features/tx-features.component.html + 29 + + + src/app/dashboard/dashboard.component.html + 102 + + RBF + tx-features.tag.rbf + Miners Reward 矿池奖励 @@ -4275,11 +4880,11 @@ src/app/components/reward-stats/reward-stats.component.html - 5,6 + 5 src/app/components/reward-stats/reward-stats.component.html - 46,49 + 46 mining.rewards @@ -4288,29 +4893,16 @@ 近 144 个区块已支付的手续费 src/app/components/reward-stats/reward-stats.component.html - 6,8 + 6 mining.rewards-desc - - Avg Block Fees - 平均区块费用 - - src/app/components/reward-stats/reward-stats.component.html - 17 - - - src/app/components/reward-stats/reward-stats.component.html - 17,18 - - mining.fees-per-block - Average fees per block in the past 144 blocks 过去144个区块中每个区块的平均费用 src/app/components/reward-stats/reward-stats.component.html - 18,20 + 18 mining.fees-per-block-desc @@ -4319,7 +4911,7 @@ BTC/块 src/app/components/reward-stats/reward-stats.component.html - 21,24 + 21 BTC/block shared.btc-block @@ -4333,7 +4925,11 @@ src/app/components/reward-stats/reward-stats.component.html - 30,31 + 30 + + + src/app/components/reward-stats/reward-stats.component.html + 60 mining.average-fee @@ -4342,7 +4938,7 @@ 近 144 个区块每笔交易平均手续费 src/app/components/reward-stats/reward-stats.component.html - 31,32 + 31 mining.average-fee @@ -4351,30 +4947,25 @@ 聪/笔 src/app/components/reward-stats/reward-stats.component.html - 33,36 + 33 sat/vB shared.sat-vbyte - - Reward Per Tx - 每笔交易奖励 - - src/app/components/reward-stats/reward-stats.component.html - 53,56 - - - src/app/components/reward-stats/reward-stats.component.html - 60,63 - - mining.rewards-per-tx - Explore the full Bitcoin ecosystem 体验完整的比特币生态 src/app/components/search-form/search-form.component.html - 4,5 + 4 + + + src/app/shared/components/global-footer/global-footer.component.html + 11 + + + src/app/shared/components/global-footer/global-footer.component.html + 34 search-form.searchbar-placeholder @@ -4383,7 +4974,7 @@ 搜索 src/app/components/search-form/search-form.component.html - 9,16 + 9 search-form.search-title @@ -4468,12 +5059,24 @@ statistics.memory-by-vBytes + + Clock (Mempool) + + src/app/components/statistics/statistics.component.html + 17 + + + src/app/shared/components/global-footer/global-footer.component.html + 70 + + footer.clock-mempool + TV view TV模式 src/app/components/statistics/statistics.component.html - 18 + 20 src/app/components/television/television.component.ts @@ -4486,7 +5089,7 @@ 过滤 src/app/components/statistics/statistics.component.html - 60 + 68 statistics.component-filter.title @@ -4495,7 +5098,7 @@ 倒置 src/app/components/statistics/statistics.component.html - 79 + 93 statistics.component-invert.title @@ -4504,69 +5107,43 @@ 交易字节/秒 (虚拟字节) src/app/components/statistics/statistics.component.html - 99 + 114 statistics.transaction-vbytes-per-second + + Cap outliers + + src/app/components/statistics/statistics.component.html + 122 + + statistics.cap-outliers + + + See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + + src/app/components/statistics/statistics.component.ts + 67 + + + + See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + + src/app/components/television/television.component.ts + 40 + + Just now 现在 src/app/components/time/time.component.ts - 79 + 90 ago 之前 - - src/app/components/time/time.component.ts - 103 - - - src/app/components/time/time.component.ts - 104 - - - src/app/components/time/time.component.ts - 105 - - - src/app/components/time/time.component.ts - 106 - - - src/app/components/time/time.component.ts - 107 - - - src/app/components/time/time.component.ts - 108 - - - src/app/components/time/time.component.ts - 109 - - - src/app/components/time/time.component.ts - 113 - - - src/app/components/time/time.component.ts - 114 - - - src/app/components/time/time.component.ts - 115 - - - src/app/components/time/time.component.ts - 116 - - - src/app/components/time/time.component.ts - 117 - src/app/components/time/time.component.ts 118 @@ -4575,17 +5152,25 @@ src/app/components/time/time.component.ts 119 - - - In ~ - 之内 src/app/components/time/time.component.ts - 126 + 120 src/app/components/time/time.component.ts - 127 + 121 + + + src/app/components/time/time.component.ts + 122 + + + src/app/components/time/time.component.ts + 123 + + + src/app/components/time/time.component.ts + 124 src/app/components/time/time.component.ts @@ -4609,24 +5194,16 @@ src/app/components/time/time.component.ts - 136 + 133 src/app/components/time/time.component.ts - 137 - - - src/app/components/time/time.component.ts - 138 - - - src/app/components/time/time.component.ts - 139 - - - src/app/components/time/time.component.ts - 140 + 134 + + + In ~ + 之内 src/app/components/time/time.component.ts 141 @@ -4635,17 +5212,25 @@ src/app/components/time/time.component.ts 142 - - - After - 之后 src/app/components/time/time.component.ts - 149 + 143 src/app/components/time/time.component.ts - 150 + 144 + + + src/app/components/time/time.component.ts + 145 + + + src/app/components/time/time.component.ts + 146 + + + src/app/components/time/time.component.ts + 147 src/app/components/time/time.component.ts @@ -4669,24 +5254,16 @@ src/app/components/time/time.component.ts - 159 + 156 src/app/components/time/time.component.ts - 160 - - - src/app/components/time/time.component.ts - 161 - - - src/app/components/time/time.component.ts - 162 - - - src/app/components/time/time.component.ts - 163 + 157 + + + After + 之后 src/app/components/time/time.component.ts 164 @@ -4695,91 +5272,99 @@ src/app/components/time/time.component.ts 165 + + src/app/components/time/time.component.ts + 166 + + + src/app/components/time/time.component.ts + 167 + + + src/app/components/time/time.component.ts + 168 + + + src/app/components/time/time.component.ts + 169 + + + src/app/components/time/time.component.ts + 170 + + + src/app/components/time/time.component.ts + 174 + + + src/app/components/time/time.component.ts + 175 + + + src/app/components/time/time.component.ts + 176 + + + src/app/components/time/time.component.ts + 177 + + + src/app/components/time/time.component.ts + 178 + + + src/app/components/time/time.component.ts + 179 + + + src/app/components/time/time.component.ts + 180 + + + + Coinbase + Coinbase + + src/app/components/transaction/transaction-preview.component.html + 43 + + + src/app/components/transactions-list/transactions-list.component.html + 54 + + + src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html + 19 + + transactions-list.coinbase + + + Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + + src/app/components/transaction/transaction-preview.component.ts + 91 + + + src/app/components/transaction/transaction.component.ts + 293 + This transaction has been replaced by: 交易已被代替为: src/app/components/transaction/transaction.component.html - 5,6 + 5 RBF replacement transaction.rbf.replacement - - This transaction replaced: - 此交易取代: - - src/app/components/transaction/transaction.component.html - 10,12 - - RBF replaced - transaction.rbf.replaced - - - Replaced - 已更换 - - src/app/components/transaction/transaction.component.html - 36,39 - - Transaction unconfirmed state - transaction.unconfirmed - - - Unconfirmed - 未确认 - - src/app/components/transaction/transaction.component.html - 39,46 - - - src/app/components/transactions-list/transactions-list.component.html - 300,303 - - Transaction unconfirmed state - transaction.unconfirmed - - - First seen - 初次发现时间 - - src/app/components/transaction/transaction.component.html - 102,103 - - - src/app/lightning/node/node.component.html - 70,73 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 61,63 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 58,60 - - - src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 11,13 - - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,16 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,16 - - Transaction first seen - transaction.first-seen - ETA 预估时间 src/app/components/transaction/transaction.component.html - 109,110 + 114 Transaction ETA transaction.eta @@ -4789,21 +5374,34 @@ 在几个小时内(或更多) src/app/components/transaction/transaction.component.html - 115,118 + 122 Transaction ETA in several hours or more transaction.eta.in-several-hours + + Accelerate + + src/app/components/transaction/transaction.component.html + 123 + + + src/app/components/transaction/transaction.component.html + 133 + + Accelerate button label + transaction.accelerate + Descendant 后裔 src/app/components/transaction/transaction.component.html - 162,164 + 175 src/app/components/transaction/transaction.component.html - 173,175 + 187 Descendant transaction.descendant @@ -4813,21 +5411,30 @@ 祖先 src/app/components/transaction/transaction.component.html - 184,186 + 199 Transaction Ancestor transaction.ancestor + + RBF History + + src/app/components/transaction/transaction.component.html + 218 + + RBF History + transaction.rbf-history + Flow 流向 src/app/components/transaction/transaction.component.html - 202,205 + 227 src/app/components/transaction/transaction.component.html - 341,345 + 374 Transaction flow transaction.flow @@ -4837,7 +5444,7 @@ 隐藏图表 src/app/components/transaction/transaction.component.html - 205,210 + 230 hide-diagram @@ -4846,15 +5453,15 @@ 展示更多 src/app/components/transaction/transaction.component.html - 226,228 + 251 src/app/components/transactions-list/transactions-list.component.html - 162,164 + 171 src/app/components/transactions-list/transactions-list.component.html - 273,275 + 289 show-more @@ -4863,11 +5470,11 @@ 展示更少 src/app/components/transaction/transaction.component.html - 228,234 + 253 src/app/components/transactions-list/transactions-list.component.html - 121,124 + 130 show-less @@ -4876,25 +5483,43 @@ 显示图表 src/app/components/transaction/transaction.component.html - 248,249 + 273 show-diagram + + Adjusted vsize + + src/app/components/transaction/transaction.component.html + 298 + + Transaction Adjusted VSize + transaction.adjusted-vsize + Locktime 锁定时间 src/app/components/transaction/transaction.component.html - 287,289 + 316 transaction.locktime + + Sigops + + src/app/components/transaction/transaction.component.html + 320 + + Transaction Sigops + transaction.sigops + Transaction not found. 交易未找到 src/app/components/transaction/transaction.component.html - 450,451 + 483 transaction.error.transaction-not-found @@ -4903,35 +5528,25 @@ 等待交易出现在内存池 src/app/components/transaction/transaction.component.html - 451,456 + 484 transaction.error.waiting-for-it-to-appear - - Effective fee rate - 有效收费率 + + Accelerated fee rate src/app/components/transaction/transaction.component.html - 486,489 + 516 - Effective transaction fee rate - transaction.effective-fee-rate - - - Coinbase - Coinbase - - src/app/components/transactions-list/transactions-list.component.html - 52 - - transactions-list.coinbase + Accelerated transaction fee rate + transaction.accelerated-fee-rate (Newly Generated Coins) (新产生的货币) src/app/components/transactions-list/transactions-list.component.html - 52 + 54 transactions-list.newly-generated-coins @@ -4940,7 +5555,7 @@ 锁定 src/app/components/transactions-list/transactions-list.component.html - 54,56 + 56 transactions-list.peg-in @@ -4949,7 +5564,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 101,103 + 105 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -4959,7 +5574,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 105,108 + 109 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -4969,7 +5584,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 110,112 + 114 transactions-list.witness @@ -4978,7 +5593,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 128,129 + 137 transactions-list.p2sh-redeem-script @@ -4987,7 +5602,7 @@ P2TR 脚本 src/app/components/transactions-list/transactions-list.component.html - 132,134 + 141 transactions-list.p2tr-tapscript @@ -4996,7 +5611,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 134,136 + 143 transactions-list.p2wsh-witness-script @@ -5005,7 +5620,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 139,141 + 148 transactions-list.nsequence @@ -5014,7 +5629,7 @@ 上一次输出脚本 src/app/components/transactions-list/transactions-list.component.html - 144,145 + 153 transactions-list.previous-output-script @@ -5023,7 +5638,7 @@ 之前输出类型 src/app/components/transactions-list/transactions-list.component.html - 148,149 + 157 transactions-list.previous-output-type @@ -5032,7 +5647,7 @@ 解锁至 src/app/components/transactions-list/transactions-list.component.html - 189,190 + 205,206 transactions-list.peg-out-to @@ -5041,7 +5656,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 248,250 + 264 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -5051,7 +5666,7 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 252,255 + 268 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex @@ -5061,7 +5676,7 @@ 显示更多输入以显示费用数据 src/app/components/transactions-list/transactions-list.component.html - 290,293 + 306 transactions-list.load-to-reveal-fee-info @@ -5070,7 +5685,7 @@ 剩余 src/app/components/transactions-list/transactions-list.component.html - 332,333 + 343 x-remaining @@ -5172,32 +5787,6 @@ Tooltip about fees saved with taproot - - Taproot - Taproot - - src/app/components/tx-features/tx-features.component.html - 12 - - - src/app/components/tx-features/tx-features.component.html - 14 - - - src/app/components/tx-features/tx-features.component.html - 16 - - - src/app/components/tx-features/tx-features.component.html - 18 - - - src/app/components/tx-features/tx-features.component.html - 21 - - Taproot - tx-features.tag.taproot - This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot 此交易使用 Taproot 并且已经节省了至少 % 的费用,但完全使用 Taproot 可以节省额外的 % @@ -5243,20 +5832,6 @@ RBF tooltip - - RBF - RBF - - src/app/components/tx-features/tx-features.component.html - 28 - - - src/app/components/tx-features/tx-features.component.html - 29 - - RBF - tx-features.tag.rbf - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method 此交易不支持手续费替换(RBF)且不能使用此方法追加费用 @@ -5308,25 +5883,48 @@ 交易费用 src/app/dashboard/dashboard.component.html - 6,9 + 6 fees-box.transaction-fees - - Latest transactions - 最新交易 + + Recent Replacements src/app/dashboard/dashboard.component.html - 120,123 + 79 - dashboard.latest-transactions + dashboard.recent-rbf-replacements + + + Previous fee + + src/app/dashboard/dashboard.component.html + 86 + + dashboard.previous-transaction-fee + + + New fee + + src/app/dashboard/dashboard.component.html + 87 + + dashboard.new-transaction-fee + + + Recent Transactions + + src/app/dashboard/dashboard.component.html + 153 + + dashboard.recent-transactions Minimum fee 最低费用 src/app/dashboard/dashboard.component.html - 210,211 + 223 Minimum mempool fee dashboard.minimum-fee @@ -5336,40 +5934,33 @@ 吹扫中 src/app/dashboard/dashboard.component.html - 211,212 + 224 Purgin below fee dashboard.purging - - Memory usage - 内存占用 - - src/app/dashboard/dashboard.component.html - 223,224 - - Memory usage - dashboard.memory-usage - L-BTC in circulation 流通中的L-BTC src/app/dashboard/dashboard.component.html - 237,239 + 250 dashboard.lbtc-pegs-in-circulation - - mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. - mempool.space 仅提供有关比特币网络的数据。 它无法帮助您取回资金、更快地确认您的交易等。 + + Incoming Transactions - src/app/docs/api-docs/api-docs.component.html - 13 + src/app/dashboard/dashboard.component.html + 259 + dashboard.incoming-transactions + + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). src/app/docs/api-docs/api-docs.component.html - 14 + 15,16 faq.big-disclaimer @@ -5378,7 +5969,7 @@ REST API 服务 src/app/docs/api-docs/api-docs.component.html - 42,43 + 42 api-docs.title @@ -5387,11 +5978,11 @@ Endpoint src/app/docs/api-docs/api-docs.component.html - 51,52 + 51 src/app/docs/api-docs/api-docs.component.html - 105,108 + 105 Api docs endpoint @@ -5400,11 +5991,15 @@ 描述 src/app/docs/api-docs/api-docs.component.html - 70,71 + 70 src/app/docs/api-docs/api-docs.component.html - 109,110 + 109 + + + src/app/lightning/group/group.component.html + 17 @@ -5412,7 +6007,7 @@ 默认推送:操作: 'want', 数据: ['blocks', ...] 来表达你想要推送的内容。可用字段:blocksmempool-blockslive-2h-chart,和stats推送与地址有关的事务。'track-address': '3PbJ...bF9B' 接收所有包含该地址的新事务作为输入或输出。返回一个交易数组。address-transactions用于新的mempool交易,block-transactions用于新的块确认交易。 src/app/docs/api-docs/api-docs.component.html - 110,111 + 110 api-docs.websocket.websocket @@ -5421,19 +6016,19 @@ 代码示例 src/app/docs/code-template/code-template.component.html - 6,7 + 6 src/app/docs/code-template/code-template.component.html - 13,14 + 13 src/app/docs/code-template/code-template.component.html - 29,30 + 29 src/app/docs/code-template/code-template.component.html - 36,37 + 36 API Docs code example @@ -5442,7 +6037,7 @@ 安装包 src/app/docs/code-template/code-template.component.html - 23,24 + 23 API Docs install lib @@ -5451,32 +6046,85 @@ 响应 src/app/docs/code-template/code-template.component.html - 43,44 + 43 API Docs API response - + FAQ - FAQ src/app/docs/docs/docs.component.ts - 34 + 45 - - API - 应用程序接口 + + Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. src/app/docs/docs/docs.component.ts - 37 + 46 + + + REST API src/app/docs/docs/docs.component.ts - 40 + 49 + + + Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. src/app/docs/docs/docs.component.ts - 43 + 51 + + + + Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + + src/app/docs/docs/docs.component.ts + 53 + + + + Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + + src/app/docs/docs/docs.component.ts + 55 + + + + WebSocket API + + src/app/docs/docs/docs.component.ts + 59 + + + + Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 61 + + + + Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + + src/app/docs/docs/docs.component.ts + 63 + + + + Electrum RPC + + src/app/docs/docs/docs.component.ts + 67 + + + + Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + + src/app/docs/docs/docs.component.ts + 68 @@ -5488,7 +6136,7 @@ src/app/lightning/channel/channel-preview.component.html - 41,44 + 41 lightning.base-fee @@ -5501,15 +6149,15 @@ src/app/lightning/channels-statistics/channels-statistics.component.html - 47,50 + 47 src/app/lightning/channels-statistics/channels-statistics.component.html - 93,96 + 93 src/app/lightning/node/node.component.html - 183,185 + 228 shared.m-sats @@ -5585,11 +6233,11 @@ src/app/lightning/channels-list/channels-list.component.html - 123,124 + 123 src/app/lightning/nodes-map/nodes-map.component.ts - 211,208 + 212 lightning.x-channels @@ -5598,7 +6246,7 @@ 期初余额 src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 6 + 3 Channel starting balance lightning.starting-balance @@ -5608,7 +6256,7 @@ 期末余额 src/app/lightning/channel/channel-close-box/channel-close-box.component.html - 12 + 26 Channel closing balance lightning.closing-balance @@ -5618,7 +6266,7 @@ 闪电交易频道 src/app/lightning/channel/channel-preview.component.html - 3,5 + 3 lightning.channel @@ -5627,15 +6275,15 @@ 不启用 src/app/lightning/channel/channel-preview.component.html - 10,11 + 10 src/app/lightning/channel/channel.component.html - 13,14 + 13 src/app/lightning/channels-list/channels-list.component.html - 68,69 + 68 status.inactive @@ -5644,15 +6292,15 @@ 启用 src/app/lightning/channel/channel-preview.component.html - 11,12 + 11 src/app/lightning/channel/channel.component.html - 14,15 + 14 src/app/lightning/channels-list/channels-list.component.html - 69,71 + 69 status.active @@ -5661,19 +6309,23 @@ 已关闭 src/app/lightning/channel/channel-preview.component.html - 12,14 + 12 src/app/lightning/channel/channel.component.html - 15,16 + 15 src/app/lightning/channels-list/channels-list.component.html - 8,13 + 8 src/app/lightning/channels-list/channels-list.component.html - 71,73 + 71 + + + src/app/lightning/justice-list/justice-list.component.html + 11 status.closed @@ -5682,11 +6334,11 @@ 已创建 src/app/lightning/channel/channel-preview.component.html - 23,26 + 23 src/app/lightning/channel/channel.component.html - 36,37 + 36 lightning.created @@ -5695,15 +6347,19 @@ 容量 src/app/lightning/channel/channel-preview.component.html - 27,28 + 27 src/app/lightning/channel/channel.component.html - 55,56 + 55 src/app/lightning/channels-list/channels-list.component.html - 43,46 + 43 + + + src/app/lightning/justice-list/justice-list.component.html + 12 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -5715,43 +6371,43 @@ src/app/lightning/node-statistics/node-statistics.component.html - 4,5 + 4 src/app/lightning/node-statistics/node-statistics.component.html - 46,49 + 46 src/app/lightning/nodes-list/nodes-list.component.html - 6,7 + 6 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 31,34 + 31 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 63,65 + 63 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 61,64 + 61 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 60,62 + 60 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,14 + 13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 202,201 + 203 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 282,279 + 283 lightning.capacity @@ -5760,32 +6416,43 @@ ppm src/app/lightning/channel/channel-preview.component.html - 34,35 + 34 src/app/lightning/channel/channel-preview.component.html - 36,41 + 36 src/app/lightning/channels-statistics/channels-statistics.component.html - 32,35 + 32 src/app/lightning/channels-statistics/channels-statistics.component.html - 78,81 + 78 lightning.ppm + + Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + + src/app/lightning/channel/channel-preview.component.ts + 37 + + + src/app/lightning/channel/channel.component.ts + 38 + + Lightning channel 闪电交易频道 src/app/lightning/channel/channel.component.html - 4,7 + 4 src/app/lightning/channel/channel.component.html - 116,118 + 116 lightning.channel @@ -5794,31 +6461,31 @@ 上次更新 src/app/lightning/channel/channel.component.html - 40,41 + 40 src/app/lightning/node/node.component.html - 76,78 + 82 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 62,64 + 62 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 59,61 + 59 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 16,17 + 16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 16,17 + 16 lightning.last-update @@ -5827,11 +6494,11 @@ 截止日期 src/app/lightning/channel/channel.component.html - 44,45 + 44 src/app/lightning/channels-list/channels-list.component.html - 42,44 + 42 lightning.closing_date @@ -5840,7 +6507,7 @@ 关闭者 src/app/lightning/channel/channel.component.html - 59,61 + 59 lightning.closed_by @@ -5849,7 +6516,11 @@ 开启交易 src/app/lightning/channel/channel.component.html - 91,92 + 91 + + + src/app/lightning/justice-list/justice-list.component.html + 62 lightning.opening-transaction @@ -5858,7 +6529,11 @@ 关闭交易 src/app/lightning/channel/channel.component.html - 100,102 + 100 + + + src/app/lightning/justice-list/justice-list.component.html + 69 lightning.closing-transaction @@ -5899,7 +6574,7 @@ 开启 src/app/lightning/channels-list/channels-list.component.html - 5,7 + 5 open @@ -5908,7 +6583,7 @@ 没有可展示的频道 src/app/lightning/channels-list/channels-list.component.html - 29,37 + 29 lightning.empty-channels-list @@ -5917,115 +6592,57 @@ 备注 src/app/lightning/channels-list/channels-list.component.html - 38,40 + 38 src/app/lightning/group/group.component.html - 72,74 + 72 src/app/lightning/nodes-list/nodes-list.component.html - 5,6 + 5 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 60,61 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 57,58 + 57 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 10,11 + 10 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 + 11 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,13 + 11 lightning.alias - - Status - 状态 - - src/app/lightning/channels-list/channels-list.component.html - 40,41 - - status - Channel ID 频道 ID src/app/lightning/channels-list/channels-list.component.html - 44,48 + 44 + + + src/app/lightning/justice-list/justice-list.component.html + 15 channels.id - - sats - sats - - src/app/lightning/channels-list/channels-list.component.html - 63,68 - - - src/app/lightning/channels-list/channels-list.component.html - 87,91 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 17,20 - - - src/app/lightning/channels-statistics/channels-statistics.component.html - 63,66 - - - src/app/lightning/group/group-preview.component.html - 34,36 - - - src/app/lightning/group/group.component.html - 32,34 - - - src/app/lightning/group/group.component.html - 83,87 - - - src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 50,55 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 22,24 - - - src/app/lightning/nodes-per-country/nodes-per-country.component.html - 82,85 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 23,25 - - - src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 79,82 - - shared.sats - avg 平均 src/app/lightning/channels-statistics/channels-statistics.component.html - 3,5 + 3 statistics.average-small @@ -6034,7 +6651,7 @@ 中位 src/app/lightning/channels-statistics/channels-statistics.component.html - 6,9 + 6 statistics.median-small @@ -6043,11 +6660,11 @@ 平均容量 src/app/lightning/channels-statistics/channels-statistics.component.html - 13,15 + 13 src/app/lightning/channels-statistics/channels-statistics.component.html - 107,110 + 107 ln.average-capacity @@ -6056,11 +6673,11 @@ 平均费率 src/app/lightning/channels-statistics/channels-statistics.component.html - 26,28 + 26 src/app/lightning/channels-statistics/channels-statistics.component.html - 114,117 + 114 ln.average-feerate @@ -6069,7 +6686,7 @@ 节点平均费率,排除费率大于 0.5% 或 5000ppm 的节点 src/app/lightning/channels-statistics/channels-statistics.component.html - 28,30 + 28 ln.average-feerate-desc @@ -6078,11 +6695,11 @@ 平均基础费率 src/app/lightning/channels-statistics/channels-statistics.component.html - 41,43 + 41 src/app/lightning/channels-statistics/channels-statistics.component.html - 121,124 + 121 ln.average-basefee @@ -6091,7 +6708,7 @@ 节点平均基础费率,排除费率大于 5000ppm 的节点 src/app/lightning/channels-statistics/channels-statistics.component.html - 43,45 + 43 ln.average-basefee-desc @@ -6100,7 +6717,7 @@ 中位容量 src/app/lightning/channels-statistics/channels-statistics.component.html - 59,61 + 59 ln.median-capacity @@ -6109,7 +6726,7 @@ 中位费率 src/app/lightning/channels-statistics/channels-statistics.component.html - 72,74 + 72 ln.average-feerate @@ -6118,7 +6735,7 @@ 节点中位费率,排除费率大于 0.5% 或 5000ppm 的节点 src/app/lightning/channels-statistics/channels-statistics.component.html - 74,76 + 74 ln.median-feerate-desc @@ -6127,7 +6744,7 @@ 中位基础费率 src/app/lightning/channels-statistics/channels-statistics.component.html - 87,89 + 87 ln.median-basefee @@ -6136,7 +6753,7 @@ 节点中位基础费率,排除费率大于 5000ppm 的节点 src/app/lightning/channels-statistics/channels-statistics.component.html - 89,91 + 89 ln.median-basefee-desc @@ -6145,11 +6762,11 @@ 闪电网络节点组 src/app/lightning/group/group-preview.component.html - 3,5 + 3 src/app/lightning/group/group.component.html - 2,6 + 2 lightning.node-group @@ -6158,35 +6775,39 @@ 节点 src/app/lightning/group/group-preview.component.html - 25,29 + 25 src/app/lightning/group/group.component.html - 23,27 + 23 + + + src/app/lightning/justice-list/justice-list.component.html + 14 src/app/lightning/node-statistics/node-statistics.component.html - 16,17 + 16 src/app/lightning/node-statistics/node-statistics.component.html - 53,56 + 53 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 30,32 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 13,16 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 60,62 + 60 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 22,26 + 22 lightning.node-count @@ -6195,31 +6816,31 @@ 流通量 src/app/lightning/group/group-preview.component.html - 29,31 + 29 src/app/lightning/group/group.component.html - 27,29 + 27 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 17,19 + 17 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 26,28 + 26 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 18,20 + 18 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 12,13 + 12 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 12 lightning.liquidity @@ -6228,11 +6849,11 @@ 频道 src/app/lightning/group/group-preview.component.html - 40,43 + 40 src/app/lightning/group/group.component.html - 40,44 + 40 src/app/lightning/node-statistics-chart/node-statistics-chart.component.ts @@ -6244,55 +6865,55 @@ src/app/lightning/node-statistics/node-statistics.component.html - 28,29 + 28 src/app/lightning/node-statistics/node-statistics.component.html - 60,63 + 60 src/app/lightning/nodes-list/nodes-list.component.html - 7,10 + 7 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 30,33 + 30 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 64,66 + 64 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 35,39 + 35 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 31,35 + 31 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 61,63 + 61 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 13,14 + 13 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 14 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 12,13 + 12 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 194,193 + 195 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 259,257 + 260 lightning.channels @@ -6301,55 +6922,72 @@ 平均大小 src/app/lightning/group/group-preview.component.html - 44,46 + 44 src/app/lightning/node/node-preview.component.html - 32,34 + 32 lightning.active-channels-avg + + Connect + + src/app/lightning/group/group.component.html + 73 + + Connect + lightning.connect-to-node + Location 位置 src/app/lightning/group/group.component.html - 74,77 + 74 src/app/lightning/node/node-preview.component.html - 38,42 + 38 src/app/lightning/node/node-preview.component.html - 50,54 + 50 src/app/lightning/node/node.component.html - 50,52 + 53 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 65,68 + 65 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 62,65 + 62 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 15,18 + 15 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 17,20 + 17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 17,20 + 17 lightning.location + + Penalties + + src/app/lightning/justice-list/justice-list.component.html + 4 + + lightning.liquidity-ranking + Network Statistics 网络统计数据 @@ -6386,16 +7024,12 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 4,9 + 4 src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 33 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 4,9 - src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 8 @@ -6409,12 +7043,27 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 37 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 22 lightning.connectivity-ranking + + Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts + 28 + + Fee distribution 费用分配 @@ -6429,11 +7078,11 @@ 支出费用 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 170 + 177 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 208 + 215 @@ -6441,11 +7090,11 @@ 进场费 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 178 + 185 src/app/lightning/node-fee-chart/node-fee-chart.component.ts - 222 + 229 @@ -6453,15 +7102,15 @@ 近 1 周中百分比变化 src/app/lightning/node-statistics/node-statistics.component.html - 5,7 + 5 src/app/lightning/node-statistics/node-statistics.component.html - 17,19 + 17 src/app/lightning/node-statistics/node-statistics.component.html - 29,31 + 29 mining.percentage-change-last-week @@ -6470,15 +7119,15 @@ 闪电网络节点 src/app/lightning/node/node-preview.component.html - 3,5 + 3 src/app/lightning/node/node.component.html - 4,6 + 4 src/app/lightning/node/node.component.html - 263,265 + 308 lightning.node @@ -6487,11 +7136,11 @@ 已启用容量 src/app/lightning/node/node-preview.component.html - 20,22 + 20 src/app/lightning/node/node.component.html - 30,33 + 33 lightning.active-capacity @@ -6500,11 +7149,11 @@ 已启用频道 src/app/lightning/node/node-preview.component.html - 26,30 + 26 src/app/lightning/node/node.component.html - 37,41 + 40 lightning.active-channels @@ -6513,16 +7162,27 @@ 国家/地区 src/app/lightning/node/node-preview.component.html - 44,47 + 44 country + + Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + + src/app/lightning/node/node-preview.component.ts + 52 + + + src/app/lightning/node/node.component.ts + 63 + + Average channel size 平均频道大小 src/app/lightning/node/node.component.html - 43,46 + 46 lightning.active-channels-avg @@ -6531,7 +7191,7 @@ 平均频道距离 src/app/lightning/node/node.component.html - 59,60 + 62 lightning.avg-distance @@ -6540,7 +7200,7 @@ 颜色 src/app/lightning/node/node.component.html - 82,84 + 88 lightning.color @@ -6549,11 +7209,11 @@ ISP src/app/lightning/node/node.component.html - 89,90 + 94 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,60 + 58 isp @@ -6562,16 +7222,25 @@ 仅在 Tor 网络上 src/app/lightning/node/node.component.html - 96,98 + 102 tor + + Decoded + + src/app/lightning/node/node.component.html + 136 + + Decoded + lightning.decoded + Liquidity ad 流动性广告 src/app/lightning/node/node.component.html - 141,144 + 186 node.liquidity-ad @@ -6580,7 +7249,7 @@ 租赁费率 src/app/lightning/node/node.component.html - 147,150 + 192 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6590,7 +7259,7 @@ 租赁基本费 src/app/lightning/node/node.component.html - 155,157 + 200 liquidity-ad.lease-base-fee @@ -6599,7 +7268,7 @@ 资金权重 src/app/lightning/node/node.component.html - 161,162 + 206 liquidity-ad.funding-weight @@ -6608,7 +7277,7 @@ 频道费率 src/app/lightning/node/node.component.html - 171,174 + 216 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6618,7 +7287,7 @@ 频道基础费率 src/app/lightning/node/node.component.html - 179,181 + 224 liquidity-ad.channel-base-fee @@ -6627,7 +7296,7 @@ 协议合约 src/app/lightning/node/node.component.html - 191,193 + 236 liquidity-ad.compact-lease @@ -6636,7 +7305,7 @@ TLV 扩展记录 src/app/lightning/node/node.component.html - 202,205 + 247 node.tlv.records @@ -6645,7 +7314,7 @@ 开启频道 src/app/lightning/node/node.component.html - 243,246 + 288 lightning.open-channels @@ -6654,7 +7323,7 @@ 关闭频道 src/app/lightning/node/node.component.html - 247,250 + 292 lightning.open-channels @@ -6663,7 +7332,7 @@ 节点: src/app/lightning/node/node.component.ts - 60 + 62 @@ -6671,25 +7340,32 @@ (包含 Tor 网络) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8,11 + 8 src/app/lightning/nodes-map/nodes-map.component.html - 7,10 + 7 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 10,15 + 10 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 37,41 + 37 lightning.tor-nodes-excluded Lightning Nodes Channels World Map 闪电网络频道世界地图 + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 68 + + + + See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6700,7 +7376,7 @@ 没有可用地理数据 src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 219,214 + 227 @@ -6708,20 +7384,34 @@ 已启用频道地图 src/app/lightning/nodes-channels/node-channels.component.html - 2,3 + 2 lightning.active-channels-map + + See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + + src/app/lightning/nodes-map/nodes-map.component.ts + 51 + + + + See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 68 + + Indexing in progress 正在编制索引 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 121,116 + 122 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 112,107 + 113 @@ -6729,11 +7419,11 @@ 明网和暗网 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 164,161 + 165 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 303,302 + 304 @@ -6741,11 +7431,11 @@ 仅限明网(IPv4、IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 185,182 + 186 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 295,294 + 296 @@ -6753,11 +7443,11 @@ 仅限暗网(Tor、I2P、cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 206,203 + 207 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 287,286 + 288 @@ -6765,32 +7455,39 @@ 份额 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html - 29,31 + 29 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 59,61 + 59 lightning.share + + See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + + src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts + 47 + + nodes 个节点 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 104,103 + 104 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 137,136 + 137 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 158,157 + 161 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 191,190 + 194 @@ -6798,7 +7495,7 @@ BTC 容量 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts - 105,103 + 105 @@ -6815,7 +7512,7 @@ ISP 数量 src/app/lightning/nodes-per-country/nodes-per-country.component.html - 34,38 + 34 lightning.isp-count @@ -6824,7 +7521,7 @@ 使用最多的 ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html - 38,40 + 38 lightning.top-isp @@ -6836,16 +7533,23 @@ 35 + + Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + + src/app/lightning/nodes-per-country/nodes-per-country.component.ts + 36 + + Clearnet Capacity 公网网络容量 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 6,8 + 6 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 83,86 + 82 lightning.clearnet-capacity @@ -6854,7 +7558,7 @@ 对外公布至少一个公网 IP 地址的节点所提供的流动性 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 8,9 + 8 lightning.clearnet-capacity-desc @@ -6863,11 +7567,11 @@ 未知网络容量 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 13,15 + 13 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 89,92 + 88 lightning.unknown-capacity @@ -6876,7 +7580,7 @@ 没有识别出有效的 ISP 信息的节点所提供的流动性 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 15,16 + 15 lightning.unknown-capacity-desc @@ -6885,11 +7589,11 @@ Tor 网络容量 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 20,22 + 20 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 95,97 + 94 lightning.tor-capacity @@ -6898,7 +7602,7 @@ 对外仅公布 Tor 网络地址的节点所提供的流动性 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 22,23 + 22 lightning.tor-capacity-desc @@ -6907,20 +7611,33 @@ Top 100 网络节点 ISP src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html - 31,33 + 31 lightning.top-100-isp-ln + + Indexing in progress + 正在统计 + + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html + 103 + + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.html + 52 + + lightning.indexing-in-progress + BTC BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 159,157 + 162 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts - 192,190 + 195 @@ -6928,7 +7645,7 @@ 闪电网络 ISP 分布 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 3,5 + 3 lightning.node-isp @@ -6937,11 +7654,11 @@ 使用最多的国家/地区 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 39,41 + 39 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 35,37 + 35 lightning.top-country @@ -6950,7 +7667,7 @@ Top 节点 src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html - 45,48 + 45 lightning.top-node @@ -6966,6 +7683,17 @@ 39 + + Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + + src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts + 45 + + + src/app/lightning/nodes-per-isp/nodes-per-isp.component.ts + 40 + + Lightning nodes on ISP: 闪电网络节点位于 ISP: @@ -6980,7 +7708,7 @@ ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 11,14 + 10 lightning.asn @@ -6989,7 +7717,7 @@ 活跃节点 src/app/lightning/nodes-per-isp/nodes-per-isp.component.html - 14,18 + 14 lightning.active-node-count @@ -6998,7 +7726,7 @@ 最老的 100 个闪电网络节点 src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html - 3,7 + 3 lightning.top-100-oldest-nodes @@ -7010,6 +7738,27 @@ 27 + + See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + + src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts + 28 + + + + See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts + 34 + + + + See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts + 38 + + Oldest nodes 最老的节点 @@ -7027,14 +7776,287 @@ 22 - - Indexing in progress - 正在统计 + + See top the Lightning network nodes ranked by liquidity, connectivity, and age. - src/app/lightning/statistics-chart/lightning-statistics-chart.component.html - 52,55 + src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts + 23 - lightning.indexing-in-progress + + + See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 67 + + + + confirmation + + src/app/shared/components/confirmations/confirmations.component.html + 4 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/shared/components/confirmations/confirmations.component.html + 5 + + Transaction plural confirmation count + shared.confirmation-count.plural + + + Replaced + + src/app/shared/components/confirmations/confirmations.component.html + 12 + + Transaction replaced state + transaction.replaced + + + Removed + + src/app/shared/components/confirmations/confirmations.component.html + 15 + + Transaction removed state + transaction.audit.removed + + + Unconfirmed + 未确认 + + src/app/shared/components/confirmations/confirmations.component.html + 18 + + Transaction unconfirmed state + transaction.unconfirmed + + + sat/WU + + src/app/shared/components/fee-rate/fee-rate.component.html + 3 + + sat/WU + shared.sat-weight-units + + + My Account + + src/app/shared/components/global-footer/global-footer.component.html + 25 + + + src/app/shared/components/global-footer/global-footer.component.html + 30 + + shared.my-account + + + Sign In + + src/app/shared/components/global-footer/global-footer.component.html + 26 + + + src/app/shared/components/global-footer/global-footer.component.html + 31 + + shared.sign-in + + + Explore + + src/app/shared/components/global-footer/global-footer.component.html + 41 + + footer.explore + + + Connect to our Nodes + + src/app/shared/components/global-footer/global-footer.component.html + 46 + + footer.connect-to-our-nodes + + + API Documentation + + src/app/shared/components/global-footer/global-footer.component.html + 47 + + footer.api-documentation + + + Learn + + src/app/shared/components/global-footer/global-footer.component.html + 50 + + footer.learn + + + What is a mempool? + + src/app/shared/components/global-footer/global-footer.component.html + 51 + + faq.what-is-a-mempool + + + What is a block explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 52 + + faq.what-is-a-block-exlorer + + + What is a mempool explorer? + + src/app/shared/components/global-footer/global-footer.component.html + 53 + + faq.what-is-a-mempool-exlorer + + + Why isn't my transaction confirming? + + src/app/shared/components/global-footer/global-footer.component.html + 54 + + faq.why-isnt-my-transaction-confirming + + + More FAQs » + + src/app/shared/components/global-footer/global-footer.component.html + 55 + + faq.more-faq + + + Networks + + src/app/shared/components/global-footer/global-footer.component.html + 59 + + footer.networks + + + Mainnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 60 + + footer.mainnet-explorer + + + Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 61 + + footer.testnet-explorer + + + Signet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 62 + + footer.signet-explorer + + + Liquid Testnet Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 63 + + footer.liquid-testnet-explorer + + + Liquid Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 64 + + footer.liquid-explorer + + + Bisq Explorer + + src/app/shared/components/global-footer/global-footer.component.html + 65 + + footer.bisq-explorer + + + Tools + + src/app/shared/components/global-footer/global-footer.component.html + 69 + + footer.tools + + + Clock (Mined) + + src/app/shared/components/global-footer/global-footer.component.html + 71 + + footer.clock-mined + + + Legal + + src/app/shared/components/global-footer/global-footer.component.html + 76 + + footer.legal + + + Terms of Service + 服务条款 + + src/app/shared/components/global-footer/global-footer.component.html + 77 + + Terms of Service + shared.terms-of-service + + + Privacy Policy + 隐私协议 + + src/app/shared/components/global-footer/global-footer.component.html + 78 + + Privacy Policy + shared.privacy-policy + + + Trademark Policy + + src/app/shared/components/global-footer/global-footer.component.html + 79 + + Trademark Policy + shared.trademark-policy + + + This is a test network. Coins have no value. + + src/app/shared/components/testnet-alert/testnet-alert.component.html + 3 + + warning-testnet year From 66d88abdc585b9cb471c2f4dd4f72c58dd97af0f Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 26 Nov 2023 06:59:43 +0000 Subject: [PATCH 247/639] Refactor difficulty reindexing to process blocks in height order --- backend/src/api/mining/mining.ts | 77 +++++++++++++------- backend/src/repositories/BlocksRepository.ts | 2 +- 2 files changed, 51 insertions(+), 28 deletions(-) diff --git a/backend/src/api/mining/mining.ts b/backend/src/api/mining/mining.ts index d9d5995da..b23ad04c5 100644 --- a/backend/src/api/mining/mining.ts +++ b/backend/src/api/mining/mining.ts @@ -15,6 +15,13 @@ import bitcoinApi from '../bitcoin/bitcoin-api-factory'; import { IEsploraApi } from '../bitcoin/esplora-api.interface'; import database from '../../database'; +interface DifficultyBlock { + timestamp: number, + height: number, + bits: number, + difficulty: number, +} + class Mining { private blocksPriceIndexingRunning = false; public lastHashrateIndexingDate: number | null = null; @@ -421,6 +428,7 @@ class Mining { indexedHeights[height] = true; } + // gets {time, height, difficulty, bits} of blocks in ascending order of height const blocks: any = await BlocksRepository.$getBlocksDifficulty(); const genesisBlock: IEsploraApi.Block = await bitcoinApi.$getBlock(await bitcoinApi.$getBlockHash(0)); let currentDifficulty = genesisBlock.difficulty; @@ -436,41 +444,45 @@ class Mining { }); } - const oldestConsecutiveBlock = await BlocksRepository.$getOldestConsecutiveBlock(); - if (config.MEMPOOL.INDEXING_BLOCKS_AMOUNT !== -1) { - currentBits = oldestConsecutiveBlock.bits; - currentDifficulty = oldestConsecutiveBlock.difficulty; + if (!blocks?.length) { + // no blocks in database yet + return; } + const oldestConsecutiveBlock = this.getOldestConsecutiveBlock(blocks); + + currentBits = oldestConsecutiveBlock.bits; + currentDifficulty = oldestConsecutiveBlock.difficulty; + let totalBlockChecked = 0; let timer = new Date().getTime() / 1000; for (const block of blocks) { + // skip until the first block after the oldest consecutive block + if (block.height <= oldestConsecutiveBlock.height) { + continue; + } + + // difficulty has changed between two consecutive blocks! if (block.bits !== currentBits) { - if (indexedHeights[block.height] === true) { // Already indexed - if (block.height >= oldestConsecutiveBlock.height) { - currentDifficulty = block.difficulty; - currentBits = block.bits; - } - continue; + // skip if already indexed + if (indexedHeights[block.height] !== true) { + let adjustment = block.difficulty / currentDifficulty; + adjustment = Math.round(adjustment * 1000000) / 1000000; // Remove float point noise + + await DifficultyAdjustmentsRepository.$saveAdjustments({ + time: block.time, + height: block.height, + difficulty: block.difficulty, + adjustment: adjustment, + }); + + totalIndexed++; } - - let adjustment = block.difficulty / currentDifficulty; - adjustment = Math.round(adjustment * 1000000) / 1000000; // Remove float point noise - - await DifficultyAdjustmentsRepository.$saveAdjustments({ - time: block.time, - height: block.height, - difficulty: block.difficulty, - adjustment: adjustment, - }); - - totalIndexed++; - if (block.height >= oldestConsecutiveBlock.height) { - currentDifficulty = block.difficulty; - currentBits = block.bits; - } - } + // update the current difficulty + currentDifficulty = block.difficulty; + currentBits = block.bits; + } totalBlockChecked++; const elapsedSeconds = Math.max(1, Math.round((new Date().getTime() / 1000) - timer)); @@ -633,6 +645,17 @@ class Mining { default: return 86400 * scale; } } + + // Finds the oldest block in a consecutive chain back from the tip + // assumes `blocks` is sorted in ascending height order + private getOldestConsecutiveBlock(blocks: DifficultyBlock[]): DifficultyBlock { + for (let i = blocks.length - 1; i > 0; i--) { + if ((blocks[i].height - blocks[i - 1].height) > 1) { + return blocks[i]; + } + } + return blocks[0]; + } } export default new Mining(); diff --git a/backend/src/repositories/BlocksRepository.ts b/backend/src/repositories/BlocksRepository.ts index 0953f9b84..a798c40f8 100644 --- a/backend/src/repositories/BlocksRepository.ts +++ b/backend/src/repositories/BlocksRepository.ts @@ -541,7 +541,7 @@ class BlocksRepository { */ public async $getBlocksDifficulty(): Promise { try { - const [rows]: any[] = await DB.query(`SELECT UNIX_TIMESTAMP(blockTimestamp) as time, height, difficulty, bits FROM blocks`); + const [rows]: any[] = await DB.query(`SELECT UNIX_TIMESTAMP(blockTimestamp) as time, height, difficulty, bits FROM blocks ORDER BY height ASC`); return rows; } catch (e) { logger.err('Cannot get blocks difficulty list from the db. Reason: ' + (e instanceof Error ? e.message : e)); From d2da81e0390735a351dff837848f458fd7674cb3 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 26 Nov 2023 17:21:13 +0900 Subject: [PATCH 248/639] Remove block audit beta-tag --- frontend/src/app/components/block/block.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index 7e00f3cec..8bcf23ace 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -219,13 +219,13 @@
-

Expected Block beta

+

Expected Block

Date: Sun, 26 Nov 2023 09:22:44 +0000 Subject: [PATCH 249/639] Fix spurious ln channel typeahead matches --- backend/src/api/explorer/channels.api.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/src/api/explorer/channels.api.ts b/backend/src/api/explorer/channels.api.ts index 0b1b914fd..cf38610b4 100644 --- a/backend/src/api/explorer/channels.api.ts +++ b/backend/src/api/explorer/channels.api.ts @@ -80,7 +80,13 @@ class ChannelsApi { public async $searchChannelsById(search: string): Promise { try { - const searchStripped = search.replace(/[^0-9x]/g, '') + '%'; + // restrict search to valid id/short_id prefix formats + let searchStripped = search.match(/[0-9]+[0-9x]*/)?.[0] || ''; + if (!searchStripped.length) { + return []; + } + // add wildcard to search by prefix + searchStripped += '%'; const query = `SELECT id, short_id, capacity, status FROM channels WHERE id LIKE ? OR short_id LIKE ? LIMIT 10`; const [rows]: any = await DB.query(query, [searchStripped, searchStripped]); return rows; From c23a872887f948c0a771096bcc3e16db2f8051c9 Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 28 Nov 2023 14:42:25 +0900 Subject: [PATCH 250/639] Updating german i18n --- frontend/src/locale/messages.ar.xlf | 4 ++ frontend/src/locale/messages.ca.xlf | 4 ++ frontend/src/locale/messages.cs.xlf | 4 ++ frontend/src/locale/messages.da.xlf | 4 ++ frontend/src/locale/messages.de.xlf | 98 +++++++++++++++++++++++++++++ frontend/src/locale/messages.es.xlf | 4 ++ frontend/src/locale/messages.fa.xlf | 4 ++ frontend/src/locale/messages.fi.xlf | 4 ++ frontend/src/locale/messages.fr.xlf | 4 ++ frontend/src/locale/messages.he.xlf | 4 ++ frontend/src/locale/messages.hi.xlf | 4 ++ frontend/src/locale/messages.hr.xlf | 4 ++ frontend/src/locale/messages.hu.xlf | 4 ++ frontend/src/locale/messages.it.xlf | 4 ++ frontend/src/locale/messages.ja.xlf | 4 ++ frontend/src/locale/messages.ka.xlf | 4 ++ frontend/src/locale/messages.ko.xlf | 4 ++ frontend/src/locale/messages.lt.xlf | 4 ++ frontend/src/locale/messages.mk.xlf | 4 ++ frontend/src/locale/messages.nb.xlf | 4 ++ frontend/src/locale/messages.ne.xlf | 4 ++ frontend/src/locale/messages.nl.xlf | 4 ++ frontend/src/locale/messages.pl.xlf | 4 ++ frontend/src/locale/messages.pt.xlf | 4 ++ frontend/src/locale/messages.ro.xlf | 4 ++ frontend/src/locale/messages.ru.xlf | 4 ++ frontend/src/locale/messages.sl.xlf | 4 ++ frontend/src/locale/messages.sv.xlf | 4 ++ frontend/src/locale/messages.th.xlf | 4 ++ frontend/src/locale/messages.tr.xlf | 4 ++ frontend/src/locale/messages.uk.xlf | 4 ++ frontend/src/locale/messages.vi.xlf | 4 ++ frontend/src/locale/messages.zh.xlf | 6 ++ 33 files changed, 228 insertions(+) diff --git a/frontend/src/locale/messages.ar.xlf b/frontend/src/locale/messages.ar.xlf index 372ab7ffa..7f687ae0e 100644 --- a/frontend/src/locale/messages.ar.xlf +++ b/frontend/src/locale/messages.ar.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.ca.xlf b/frontend/src/locale/messages.ca.xlf index aaeae0770..692594dd4 100644 --- a/frontend/src/locale/messages.ca.xlf +++ b/frontend/src/locale/messages.ca.xlf @@ -2046,6 +2046,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.cs.xlf b/frontend/src/locale/messages.cs.xlf index ab6843d67..7ccb2f39d 100644 --- a/frontend/src/locale/messages.cs.xlf +++ b/frontend/src/locale/messages.cs.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.da.xlf b/frontend/src/locale/messages.da.xlf index dd48f4b26..c9daba7e0 100644 --- a/frontend/src/locale/messages.da.xlf +++ b/frontend/src/locale/messages.da.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.de.xlf b/frontend/src/locale/messages.de.xlf index 16ad47d38..66b03ef47 100644 --- a/frontend/src/locale/messages.de.xlf +++ b/frontend/src/locale/messages.de.xlf @@ -2105,6 +2105,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 @@ -2856,6 +2860,7 @@ See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + Zeige Größe, Gewicht, Gebührenbereich, enthaltene Transaktionen, Prüfung von (erwartet vs. tatsächlich) und mehr für Bitcoin Block (). src/app/components/block-view/block-view.component.ts 114 @@ -3454,6 +3459,7 @@ See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + Zeige die neuesten Liquid-Blöcke zusammen mit grundlegenden Statistiken wie Blockhöhe, Blockgröße und mehr an. src/app/components/blocks-list/blocks-list.component.ts 62 @@ -3461,6 +3467,7 @@ See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + Zeige die neuesten Bitcoin-Blöcke zusmmen mit grundlegenden Statistiken wie Blockhöhe, Blockbelohnung, Blockgröße und mehr an. src/app/components/blocks-list/blocks-list.component.ts 64 @@ -3586,6 +3593,7 @@ blocks + Blöcke src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 @@ -3889,6 +3897,7 @@ WU/s + WU/s src/app/components/footer/footer.component.html 14 @@ -4109,6 +4118,7 @@ See hashrate and difficulty for the Bitcoin network visualized over time. + Zeige die Hashrate und den Schwierigkeitsgrad für das Bitcoin-Netzwerk im Zeitverlauf an. src/app/components/hashrate-chart/hashrate-chart.component.ts 75 @@ -4216,6 +4226,7 @@ See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + Zeige folgende Statistiken für -Transaktionen im Mempool an: Gebührenbereich, Gesamtgröße und mehr. Mempool-Blöcke werden in Echtzeit aktualisiert, wenn das Netzwerk neue Transaktionen empfängt. src/app/components/mempool-block/mempool-block.component.ts 58 @@ -4320,6 +4331,7 @@ Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. + Erhalten Sie Bitcoin-Mining-Statistiken in Echtzeit wie Hashrate, Schwierigkeitsanpassung, Blockbelohnungen, Pool-Dominanz und mehr. src/app/components/mining-dashboard/mining-dashboard.component.ts 21 @@ -4336,6 +4348,7 @@ Pools Luck + Pools Glück src/app/components/pool-ranking/pool-ranking.component.html 9 @@ -4366,6 +4379,7 @@ Pools Count + Anzahl der Pools src/app/components/pool-ranking/pool-ranking.component.html 17 @@ -4480,6 +4494,7 @@ Empty Blocks + Leere Blöcke src/app/components/pool-ranking/pool-ranking.component.html 98 @@ -4505,6 +4520,7 @@ See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + Zeige die Top-Bitcoin-Mining-Pools an, sortiert nach der Anzahl der im gewünschten Zeitraum abgebauten Blöcke. src/app/components/pool-ranking/pool-ranking.component.ts 59 @@ -4594,6 +4610,7 @@ See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + Zeige die folgenden Mining-Pool-Statistiken für an: zuletzt geschürfte Blöcke, Hashrate im Zeitverlauf, bisherige Gesamtblockbelohnung, bekannte Coinbase-Adressen und mehr. src/app/components/pool/pool-preview.component.ts 86 @@ -4660,6 +4677,7 @@ Blocks (24h) + Blöcke (24h) src/app/components/pool/pool.component.html 146 @@ -4774,6 +4792,7 @@ Broadcast Transaction + Transaktion senden src/app/components/push-transaction/push-transaction.component.ts 31 @@ -4781,6 +4800,7 @@ Broadcast a transaction to the network using the transaction's hash. + Senden einer Transaktion mithilfe des Hashs der Transaktion an das Netzwerk . src/app/components/push-transaction/push-transaction.component.ts 32 @@ -4788,6 +4808,7 @@ RBF Replacements + RBF-Ersetzung src/app/components/rbf-list/rbf-list.component.html 2 @@ -4800,6 +4821,7 @@ Full RBF + Full RBF src/app/components/rbf-list/rbf-list.component.html 24 @@ -4816,6 +4838,7 @@ There are no replacements in the mempool yet! + Es gibt noch keine Ersetzung im Mempool! src/app/components/rbf-list/rbf-list.component.html 34 @@ -4824,6 +4847,7 @@ See the most recent RBF replacements on the Bitcoin network, updated in real-time. + Zeige die neuesten RBF-Ersetzungen im Bitcoin-Netzwerk an, aktualisiert in Echtzeit. src/app/components/rbf-list/rbf-list.component.ts 59 @@ -4869,6 +4893,7 @@ Status + Status src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html 33 @@ -4886,6 +4911,7 @@ RBF + RBF src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html 36 @@ -5105,6 +5131,7 @@ Clock (Mempool) + Uhr (Mempool) src/app/components/statistics/statistics.component.html 17 @@ -5157,6 +5184,7 @@ Cap outliers + Ausreißer begrenzen src/app/components/statistics/statistics.component.html 122 @@ -5165,6 +5193,7 @@ See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + Zeige die Mempool-Größe (in MvB) und Transaktionen pro Sekunde (in vB/s) im Zeitverlauf an. src/app/components/statistics/statistics.component.ts 67 @@ -5172,6 +5201,7 @@ See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + Zeige die Bitcoin-Blöcke und den Mempool-Stau in Echtzeit in einem vereinfachten Format, das perfekt für einen Fernseher geeignet ist. src/app/components/television/television.component.ts 40 @@ -5384,6 +5414,7 @@ Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + Zeige Echtzeitstatus, Adressen, Gebühren, Skriptinformationen und mehr für die -Transaktion mit txid {txid}. src/app/components/transaction/transaction-preview.component.ts 91 @@ -5425,6 +5456,7 @@ Accelerate + Beschleunigen src/app/components/transaction/transaction.component.html 123 @@ -5462,6 +5494,7 @@ RBF History + RBF-Geschichte src/app/components/transaction/transaction.component.html 218 @@ -5533,6 +5566,7 @@ Adjusted vsize + Angepasste V-Größe src/app/components/transaction/transaction.component.html 298 @@ -5551,6 +5585,7 @@ Sigops + Sigops src/app/components/transaction/transaction.component.html 320 @@ -5578,6 +5613,7 @@ Accelerated fee rate + Beschleunigter Gebührensatz src/app/components/transaction/transaction.component.html 516 @@ -5933,6 +5969,7 @@ Recent Replacements + Aktuelle Ersetzungen src/app/dashboard/dashboard.component.html 79 @@ -5941,6 +5978,7 @@ Previous fee + Vorherige Gebühr src/app/dashboard/dashboard.component.html 86 @@ -5949,6 +5987,7 @@ New fee + Neue Gebühr src/app/dashboard/dashboard.component.html 87 @@ -5957,6 +5996,7 @@ Recent Transactions + Kürzliche Transaktionen src/app/dashboard/dashboard.component.html 153 @@ -5994,6 +6034,7 @@ Incoming Transactions + Eingehende Transaktionen src/app/dashboard/dashboard.component.html 259 @@ -6002,6 +6043,7 @@ mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). + mempool.space stellt lediglich Daten über das Bitcoin-Netzwerk bereit. Es kann Ihnen beim Abrufen von Geldern, bei Problemen mit der Wallet usw. nicht helfen.Bei solchen Anfragen müssen Sie Kontakt mit der Entität aufnehmen, die bei der Transaktion geholfen hat (Wallet-Software, Börsenunternehmen usw.). src/app/docs/api-docs/api-docs.component.html 15,16 @@ -6096,6 +6138,7 @@ FAQ + FAQ src/app/docs/docs/docs.component.ts 45 @@ -6103,6 +6146,7 @@ Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. + Erhalten Sie Antworten auf häufige Fragen wie: Was ist ein Mempool? Warum wird meine Transaktion nicht bestätigt? Wie kann ich meine eigene Instanz des Mempool Open Source Project ausführen? Und mehr. src/app/docs/docs/docs.component.ts 46 @@ -6110,6 +6154,7 @@ REST API + REST API src/app/docs/docs/docs.component.ts 49 @@ -6117,6 +6162,7 @@ Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. + Dokumentation für den liquid.network REST API-Dienst: Erhalte Informationen zu Adressen, Transaktionen, Assets, Blöcken und mehr. src/app/docs/docs/docs.component.ts 51 @@ -6124,6 +6170,7 @@ Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + Dokumentation für den bisq.markets-REST-API-Dienst: Erhalte Informationen zu aktuellen Trades, aktuellen Angeboten, Transaktionen, Netzwerkstatus und mehr. src/app/docs/docs/docs.component.ts 53 @@ -6131,6 +6178,7 @@ Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + Dokumentation für den REST-API-Dienst mempool.space: Erhalte Informationen zu Adressen, Transaktionen, Blöcken, Gebühren, Mining, dem Lightning-Netzwerk und mehr. src/app/docs/docs/docs.component.ts 55 @@ -6138,6 +6186,7 @@ WebSocket API + WebSocket API src/app/docs/docs/docs.component.ts 59 @@ -6145,6 +6194,7 @@ Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + Dokumentation für den liquid.network WebSocket API-Dienst: Erhalte Echtzeitinformationen zu Blöcken, Mempools, Transaktionen, Adressen und mehr. src/app/docs/docs/docs.component.ts 61 @@ -6152,6 +6202,7 @@ Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + Dokumentation für den WebSocket-API-Dienst mempool.space: Erhalte Echtzeitinformationen zu Blöcken, Mempools, Transaktionen, Adressen und mehr. src/app/docs/docs/docs.component.ts 63 @@ -6159,6 +6210,7 @@ Electrum RPC + Electrum RPC src/app/docs/docs/docs.component.ts 67 @@ -6166,6 +6218,7 @@ Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + Dokumentation für unsere Electrum RPC-Schnittstelle: Erhalte sofortigen, bequemen und zuverlässigen Zugriff auf eine Esplora-Instanz. src/app/docs/docs/docs.component.ts 68 @@ -6478,6 +6531,7 @@ Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + Übersicht über den Lightning-Kanal . Zeige die Kanalkapazität, die beteiligten Lightning-Knoten, zugehörige On-Chain-Transaktionen und mehr an. src/app/lightning/channel/channel-preview.component.ts 37 @@ -6976,6 +7030,7 @@ Connect + Verbinden src/app/lightning/group/group.component.html 73 @@ -7026,6 +7081,7 @@ Penalties + Strafen src/app/lightning/justice-list/justice-list.component.html 4 @@ -7103,6 +7159,7 @@ Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + Erhalte Statistiken zum Lightning-Netzwerk (Gesamtkapazität, Konnektivität usw.) und zu Lightning-Knoten (Kanäle, Liquidität usw.) und Lightning-Kanälen (Status, Gebühren usw.). src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 28 @@ -7212,6 +7269,7 @@ Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + Übersicht über den Lightning-Netzwerkknoten mit dem Namen . Zeige Kanäle, Kapazität, Standort, Gebührenstatistiken und mehr an. src/app/lightning/node/node-preview.component.ts 52 @@ -7272,6 +7330,7 @@ Decoded + Decodiert src/app/lightning/node/node.component.html 136 @@ -7410,6 +7469,7 @@ See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + Zeige die Kanäle von Nicht-Tor-Lightning-Netzwerkknoten visualisiert auf einer Weltkarte an. Bewegen Sie den Mauszeiger/tippen Sie auf Punkte auf der Karte, um Knotennamen und Details anzuzeigen. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -7434,6 +7494,7 @@ See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + Zeige die Standorte von Nicht-Tor-Lightning-Netzwerkknoten visualisiert auf einer Weltkarte an. Bewegen Sie den Mauszeiger/tippen Sie auf Punkte auf der Karte, um Knotennamen und Details anzuzeigen. src/app/lightning/nodes-map/nodes-map.component.ts 51 @@ -7441,6 +7502,7 @@ See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + Zeige die Anzahl der Lightning-Netzwerkknoten an, die im Laufe der Zeit nach Netzwerk visualisiert werden: nur Clearnet (IPv4, IPv6), Darknet (Tor, I2p, cjdns) und beide. src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 68 @@ -7509,6 +7571,7 @@ See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + Zeige eine geografische Aufschlüsselung des Lightning-Netzwerks an: Wie viele Lightning-Knoten werden in Ländern auf der ganzen Welt gehostet, die gesamte BTC-Kapazität für jedes Land und mehr. src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 47 @@ -7579,6 +7642,7 @@ Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + Erkunde alle Lightning-Knoten, die in gehostet werden, und sehe einen Überblick über die Kapazität jedes Knotens, die Anzahl der offenen Kanäle und mehr an. src/app/lightning/nodes-per-country/nodes-per-country.component.ts 36 @@ -7729,6 +7793,7 @@ Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + Durchsuche alle Bitcoin Lightning-Knoten, die den [AS ] ISP verwenden, und sehe aggregierte Statistiken wie die Gesamtzahl der Knoten, die Gesamtkapazität und mehr für den ISP. src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts 45 @@ -7784,6 +7849,7 @@ See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + Zeige die ältesten Knoten im Lightning-Netzwerk zusammen mit ihrer Kapazität, Anzahl der Kanäle, Standort usw. src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts 28 @@ -7791,6 +7857,7 @@ See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + Zeige die Lightning-Knoten mit der höchsten bereitgestellten BTC-Liquidität sowie allgemeine Statistiken wie die Anzahl der offenen Kanäle, Standort, Knotenalter und mehr. src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 34 @@ -7798,6 +7865,7 @@ See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + Zeige die Lightning-Knoten mit den meisten offenen Kanälen sowie allgemeine Statistiken wie die Gesamtknotenkapazität, das Knotenalter und mehr. src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts 38 @@ -7822,6 +7890,7 @@ See top the Lightning network nodes ranked by liquidity, connectivity, and age. + Zeige die besten Lightning-Netzwerkknoten an, sortiert nach Liquidität, Konnektivität und Alter. src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts 23 @@ -7829,6 +7898,7 @@ See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + Zeige die Kapazität des Lightning-Netzwerks im Zeitverlauf anhand der Anzahl offener Kanäle und der gesamten Bitcoin-Kapazität. src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 67 @@ -7836,6 +7906,7 @@ confirmation + Bestätigung src/app/shared/components/confirmations/confirmations.component.html 4 @@ -7845,6 +7916,7 @@ confirmations + Bestätigungen src/app/shared/components/confirmations/confirmations.component.html 5 @@ -7854,6 +7926,7 @@ Replaced + Ersetzt src/app/shared/components/confirmations/confirmations.component.html 12 @@ -7863,6 +7936,7 @@ Removed + Entfernt src/app/shared/components/confirmations/confirmations.component.html 15 @@ -7882,6 +7956,7 @@ sat/WU + sat/WU src/app/shared/components/fee-rate/fee-rate.component.html 3 @@ -7891,6 +7966,7 @@ My Account + Mein Account src/app/shared/components/global-footer/global-footer.component.html 25 @@ -7903,6 +7979,7 @@ Sign In + Anmelden src/app/shared/components/global-footer/global-footer.component.html 26 @@ -7915,6 +7992,7 @@ Explore + Erkunden src/app/shared/components/global-footer/global-footer.component.html 41 @@ -7923,6 +8001,7 @@ Connect to our Nodes + Verbinden mit unseren Nodes src/app/shared/components/global-footer/global-footer.component.html 46 @@ -7931,6 +8010,7 @@ API Documentation + API-Dokumentation src/app/shared/components/global-footer/global-footer.component.html 47 @@ -7939,6 +8019,7 @@ Learn + Lernen src/app/shared/components/global-footer/global-footer.component.html 50 @@ -7947,6 +8028,7 @@ What is a mempool? + Was ist ein Mempool? src/app/shared/components/global-footer/global-footer.component.html 51 @@ -7955,6 +8037,7 @@ What is a block explorer? + Was ist ein Block-Explorer? src/app/shared/components/global-footer/global-footer.component.html 52 @@ -7963,6 +8046,7 @@ What is a mempool explorer? + Was ist ein Mempool-Explorer? src/app/shared/components/global-footer/global-footer.component.html 53 @@ -7971,6 +8055,7 @@ Why isn't my transaction confirming? + Warum wird meine Transaktion nicht bestätigt? src/app/shared/components/global-footer/global-footer.component.html 54 @@ -7979,6 +8064,7 @@ More FAQs » + Weitere FAQs » src/app/shared/components/global-footer/global-footer.component.html 55 @@ -7987,6 +8073,7 @@ Networks + Netzwerke src/app/shared/components/global-footer/global-footer.component.html 59 @@ -7995,6 +8082,7 @@ Mainnet Explorer + Mainnet-Explorer src/app/shared/components/global-footer/global-footer.component.html 60 @@ -8003,6 +8091,7 @@ Testnet Explorer + Testnet-Explorer src/app/shared/components/global-footer/global-footer.component.html 61 @@ -8011,6 +8100,7 @@ Signet Explorer + Signet-Explorer src/app/shared/components/global-footer/global-footer.component.html 62 @@ -8019,6 +8109,7 @@ Liquid Testnet Explorer + Liquid-Testnet-Explorer src/app/shared/components/global-footer/global-footer.component.html 63 @@ -8027,6 +8118,7 @@ Liquid Explorer + Liquid-Explorer src/app/shared/components/global-footer/global-footer.component.html 64 @@ -8035,6 +8127,7 @@ Bisq Explorer + Bisq-Explorer src/app/shared/components/global-footer/global-footer.component.html 65 @@ -8043,6 +8136,7 @@ Tools + Werkzeuge src/app/shared/components/global-footer/global-footer.component.html 69 @@ -8051,6 +8145,7 @@ Clock (Mined) + Uhr (Mined) src/app/shared/components/global-footer/global-footer.component.html 71 @@ -8059,6 +8154,7 @@ Legal + Rechtliches src/app/shared/components/global-footer/global-footer.component.html 76 @@ -8087,6 +8183,7 @@ Trademark Policy + Markenrichtlinie src/app/shared/components/global-footer/global-footer.component.html 79 @@ -8096,6 +8193,7 @@ This is a test network. Coins have no value. + Dies ist ein Testnetzwerk. Coins haben keinen Wert. src/app/shared/components/testnet-alert/testnet-alert.component.html 3 diff --git a/frontend/src/locale/messages.es.xlf b/frontend/src/locale/messages.es.xlf index 426797516..beb1a4592 100644 --- a/frontend/src/locale/messages.es.xlf +++ b/frontend/src/locale/messages.es.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.fa.xlf b/frontend/src/locale/messages.fa.xlf index c7245ec0f..7e4dc13f1 100644 --- a/frontend/src/locale/messages.fa.xlf +++ b/frontend/src/locale/messages.fa.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.fi.xlf b/frontend/src/locale/messages.fi.xlf index 903107f49..ba61b55ef 100644 --- a/frontend/src/locale/messages.fi.xlf +++ b/frontend/src/locale/messages.fi.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.fr.xlf b/frontend/src/locale/messages.fr.xlf index fb16c7c76..ede5e1bbf 100644 --- a/frontend/src/locale/messages.fr.xlf +++ b/frontend/src/locale/messages.fr.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.he.xlf b/frontend/src/locale/messages.he.xlf index b701ceabd..85fbca98e 100644 --- a/frontend/src/locale/messages.he.xlf +++ b/frontend/src/locale/messages.he.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.hi.xlf b/frontend/src/locale/messages.hi.xlf index d2ccf42a4..ddab3dd4f 100644 --- a/frontend/src/locale/messages.hi.xlf +++ b/frontend/src/locale/messages.hi.xlf @@ -2072,6 +2072,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.hr.xlf b/frontend/src/locale/messages.hr.xlf index 480c4eb16..d8798056e 100644 --- a/frontend/src/locale/messages.hr.xlf +++ b/frontend/src/locale/messages.hr.xlf @@ -1949,6 +1949,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.hu.xlf b/frontend/src/locale/messages.hu.xlf index 201bf8fb3..654460191 100644 --- a/frontend/src/locale/messages.hu.xlf +++ b/frontend/src/locale/messages.hu.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.it.xlf b/frontend/src/locale/messages.it.xlf index 866d895bb..51ffdc6e3 100644 --- a/frontend/src/locale/messages.it.xlf +++ b/frontend/src/locale/messages.it.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.ja.xlf b/frontend/src/locale/messages.ja.xlf index 580c50174..9cb87ed50 100644 --- a/frontend/src/locale/messages.ja.xlf +++ b/frontend/src/locale/messages.ja.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.ka.xlf b/frontend/src/locale/messages.ka.xlf index a9bc29ebb..5fed5f7bb 100644 --- a/frontend/src/locale/messages.ka.xlf +++ b/frontend/src/locale/messages.ka.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.ko.xlf b/frontend/src/locale/messages.ko.xlf index f041b12b1..24f583ecf 100644 --- a/frontend/src/locale/messages.ko.xlf +++ b/frontend/src/locale/messages.ko.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.lt.xlf b/frontend/src/locale/messages.lt.xlf index 01a3c6a03..f6a2075ea 100644 --- a/frontend/src/locale/messages.lt.xlf +++ b/frontend/src/locale/messages.lt.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.mk.xlf b/frontend/src/locale/messages.mk.xlf index 27d1ed137..22fc2b851 100644 --- a/frontend/src/locale/messages.mk.xlf +++ b/frontend/src/locale/messages.mk.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.nb.xlf b/frontend/src/locale/messages.nb.xlf index 0360c69c9..a035d3765 100644 --- a/frontend/src/locale/messages.nb.xlf +++ b/frontend/src/locale/messages.nb.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.ne.xlf b/frontend/src/locale/messages.ne.xlf index 40e3264da..620b5b847 100644 --- a/frontend/src/locale/messages.ne.xlf +++ b/frontend/src/locale/messages.ne.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.nl.xlf b/frontend/src/locale/messages.nl.xlf index ff6099420..5148f6280 100644 --- a/frontend/src/locale/messages.nl.xlf +++ b/frontend/src/locale/messages.nl.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.pl.xlf b/frontend/src/locale/messages.pl.xlf index e082add36..59cd0c781 100644 --- a/frontend/src/locale/messages.pl.xlf +++ b/frontend/src/locale/messages.pl.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.pt.xlf b/frontend/src/locale/messages.pt.xlf index a78387dcb..e48f529bd 100644 --- a/frontend/src/locale/messages.pt.xlf +++ b/frontend/src/locale/messages.pt.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.ro.xlf b/frontend/src/locale/messages.ro.xlf index 0d6594d17..e9fbedbd8 100644 --- a/frontend/src/locale/messages.ro.xlf +++ b/frontend/src/locale/messages.ro.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.ru.xlf b/frontend/src/locale/messages.ru.xlf index 9f49f5215..ae394dea7 100644 --- a/frontend/src/locale/messages.ru.xlf +++ b/frontend/src/locale/messages.ru.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.sl.xlf b/frontend/src/locale/messages.sl.xlf index c5c2000a2..7dcdedde0 100644 --- a/frontend/src/locale/messages.sl.xlf +++ b/frontend/src/locale/messages.sl.xlf @@ -2082,6 +2082,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.sv.xlf b/frontend/src/locale/messages.sv.xlf index c9588da8c..594288f98 100644 --- a/frontend/src/locale/messages.sv.xlf +++ b/frontend/src/locale/messages.sv.xlf @@ -2105,6 +2105,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.th.xlf b/frontend/src/locale/messages.th.xlf index 346c68525..f8ea3aabd 100644 --- a/frontend/src/locale/messages.th.xlf +++ b/frontend/src/locale/messages.th.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.tr.xlf b/frontend/src/locale/messages.tr.xlf index 3ec2a95dd..bea345343 100644 --- a/frontend/src/locale/messages.tr.xlf +++ b/frontend/src/locale/messages.tr.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.uk.xlf b/frontend/src/locale/messages.uk.xlf index 86072838c..eab319bc9 100644 --- a/frontend/src/locale/messages.uk.xlf +++ b/frontend/src/locale/messages.uk.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.vi.xlf b/frontend/src/locale/messages.vi.xlf index 1769eb9d7..289840aeb 100644 --- a/frontend/src/locale/messages.vi.xlf +++ b/frontend/src/locale/messages.vi.xlf @@ -2085,6 +2085,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 diff --git a/frontend/src/locale/messages.zh.xlf b/frontend/src/locale/messages.zh.xlf index fc3304974..4db4a1ba2 100644 --- a/frontend/src/locale/messages.zh.xlf +++ b/frontend/src/locale/messages.zh.xlf @@ -59,6 +59,7 @@ + node_modules/src/ngb-config.ts 13 @@ -66,6 +67,7 @@ Slide of + Slide of node_modules/src/ngb-config.ts 13 @@ -2085,6 +2087,10 @@ src/app/components/pool/pool.component.html 463 + + src/app/components/rbf-list/rbf-list.component.html + 9 + src/app/components/statistics/statistics.component.html 60 From c06cade1ca532ec7bf3e38ed6c40c18feb0eb755 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 28 Nov 2023 17:13:52 +0900 Subject: [PATCH 251/639] [log] create more general error --- .../shared/components/mempool-error/mempool-error.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts b/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts index e89daaffd..88e24bed2 100644 --- a/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts +++ b/frontend/src/app/shared/components/mempool-error/mempool-error.component.ts @@ -2,12 +2,12 @@ import { Component, Input, OnInit } from "@angular/core"; import { DomSanitizer, SafeHtml } from "@angular/platform-browser"; const MempoolErrors = { + 'internal_server_error': `Something went wrong, please try again later`, 'acceleration_duplicated': `This transaction has already been accelerated.`, 'acceleration_outbid': `Your fee delta is too low.`, 'cannot_accelerate_tx': `Cannot accelerate this transaction.`, 'cannot_decode_raw_tx': `Cannot decode this raw transaction.`, 'cannot_fetch_raw_tx': `Cannot find this transaction.`, - 'database_error': `Something went wrong. Please try again later.`, 'high_sigop_tx': `This transaction cannot be accelerated.`, 'invalid_acceleration_request': `This acceleration request is not valid.`, 'invalid_tx_dependencies': `This transaction dependencies are not valid.`, From f5bf883de9b3bb47aadf887a59cda987a0f0ea1d Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 28 Nov 2023 18:05:18 +0900 Subject: [PATCH 252/639] [about] fix auto scroll to chad/whale --- .../app/components/about/about.component.html | 2 +- .../app/components/about/about.component.ts | 23 +++++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index a4cc51f90..747430343 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -197,7 +197,7 @@
-
+

Whale Sponsors

diff --git a/frontend/src/app/components/about/about.component.ts b/frontend/src/app/components/about/about.component.ts index 8aa0422e8..c6f6f3632 100644 --- a/frontend/src/app/components/about/about.component.ts +++ b/frontend/src/app/components/about/about.component.ts @@ -47,8 +47,13 @@ export class AboutComponent implements OnInit { this.websocketService.want(['blocks']); this.profiles$ = this.apiService.getAboutPageProfiles$().pipe( - tap(() => { - this.goToAnchor() + tap((profiles: any) => { + const scrollToSponsors = this.route.snapshot.fragment === 'community-sponsors'; + if (scrollToSponsors && !profiles?.whales?.length && !profiles?.chads?.length) { + return; + } else { + this.goToAnchor(scrollToSponsors) + } }), share(), ) @@ -83,11 +88,19 @@ export class AboutComponent implements OnInit { this.goToAnchor(); } - goToAnchor() { + goToAnchor(scrollToSponsor = false) { + if (!scrollToSponsor) { + return; + } setTimeout(() => { if (this.route.snapshot.fragment) { - if (this.document.getElementById(this.route.snapshot.fragment)) { - this.document.getElementById(this.route.snapshot.fragment).scrollIntoView({behavior: 'smooth'}); + const el = scrollToSponsor ? this.document.getElementById('community-sponsors-anchor') : this.document.getElementById(this.route.snapshot.fragment); + if (el) { + if (scrollToSponsor) { + el.scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'}); + } else { + el.scrollIntoView({behavior: 'smooth'}); + } } } }, 1); From 406bf5d3b7ae393109fe8d6eb42799e898a50b4d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Nov 2023 02:48:50 +0000 Subject: [PATCH 253/639] Bump @fortawesome/fontawesome-svg-core from 6.4.0 to 6.5.0 in /frontend Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 6.4.0 to 6.5.0. - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md) - [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.0...6.5.0) --- updated-dependencies: - dependency-name: "@fortawesome/fontawesome-svg-core" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 35 +++++++++++++++++++++++++---------- frontend/package.json | 2 +- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 38c143ab7..4d95f8af8 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -23,7 +23,7 @@ "@angular/router": "^16.2.2", "@fortawesome/angular-fontawesome": "~0.13.0", "@fortawesome/fontawesome-common-types": "~6.4.0", - "@fortawesome/fontawesome-svg-core": "~6.4.0", + "@fortawesome/fontawesome-svg-core": "~6.5.0", "@fortawesome/free-solid-svg-icons": "~6.4.0", "@mempool/mempool.js": "2.3.0", "@ng-bootstrap/ng-bootstrap": "^15.1.0", @@ -31,7 +31,6 @@ "bootstrap": "~4.6.2", "browserify": "^17.0.0", "clipboard": "^2.0.11", - "cypress": "^13.6.0", "domino": "^2.1.6", "echarts": "~5.4.3", "lightweight-charts": "~3.8.0", @@ -3560,17 +3559,26 @@ } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz", - "integrity": "sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.0.tgz", + "integrity": "sha512-5DrR+oxQr+ruRQ3CEVV8DSCT/q8Atm56+FzAs0P6eW/epW47OmecSpSwc/YTlJ3u5BfPKUBSGyPR2qjZ+5eIgA==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "6.4.0" + "@fortawesome/fontawesome-common-types": "6.5.0" }, "engines": { "node": ">=6" } }, + "node_modules/@fortawesome/fontawesome-svg-core/node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.0.tgz", + "integrity": "sha512-vYC8oN2l8meu05sRi1j3Iie/HNFAeIxpitYFhsUrBc11TxiMken9QdXnSQ0q16FYsOSt/6soxs5ghdk+VYGiog==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, "node_modules/@fortawesome/free-solid-svg-icons": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz", @@ -19319,11 +19327,18 @@ "integrity": "sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==" }, "@fortawesome/fontawesome-svg-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz", - "integrity": "sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.0.tgz", + "integrity": "sha512-5DrR+oxQr+ruRQ3CEVV8DSCT/q8Atm56+FzAs0P6eW/epW47OmecSpSwc/YTlJ3u5BfPKUBSGyPR2qjZ+5eIgA==", "requires": { - "@fortawesome/fontawesome-common-types": "6.4.0" + "@fortawesome/fontawesome-common-types": "6.5.0" + }, + "dependencies": { + "@fortawesome/fontawesome-common-types": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.0.tgz", + "integrity": "sha512-vYC8oN2l8meu05sRi1j3Iie/HNFAeIxpitYFhsUrBc11TxiMken9QdXnSQ0q16FYsOSt/6soxs5ghdk+VYGiog==" + } } }, "@fortawesome/free-solid-svg-icons": { diff --git a/frontend/package.json b/frontend/package.json index 81928669f..f55798c5c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -75,7 +75,7 @@ "@angular/router": "^16.2.2", "@fortawesome/angular-fontawesome": "~0.13.0", "@fortawesome/fontawesome-common-types": "~6.4.0", - "@fortawesome/fontawesome-svg-core": "~6.4.0", + "@fortawesome/fontawesome-svg-core": "~6.5.0", "@fortawesome/free-solid-svg-icons": "~6.4.0", "@mempool/mempool.js": "2.3.0", "@ng-bootstrap/ng-bootstrap": "^15.1.0", From 2cbc6783a4596a1bc3a5717a96bf8637701bb18a Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 29 Nov 2023 15:02:48 +0900 Subject: [PATCH 254/639] [accelerator] show wait list message in preview when logged in with no access --- .../accelerate-preview/accelerate-preview.component.html | 7 ++++++- .../accelerate-preview/accelerate-preview.component.ts | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index e40d6b5c9..891b81131 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -27,6 +27,11 @@
+ +
+
You are currently on the wait list
+
+
Your transaction
@@ -230,7 +235,7 @@
-
+
diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts index 530977c71..b73a168b6 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts @@ -93,7 +93,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges this.estimateSubscription.unsubscribe(); } - if (this.estimate.userBalance <= 0) { + if (this.estimate.hasAccess === true && this.estimate.userBalance <= 0) { if (this.isLoggedIn()) { this.error = `not_enough_balance`; this.scrollToPreviewWithTimeout('mempoolError', 'center'); From f52b17ca7a085b0a71dceab16987d3966979dd92 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 29 Nov 2023 15:28:14 +0900 Subject: [PATCH 255/639] Add missing space in seo address preview --- .../src/app/components/address/address-preview.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/address/address-preview.component.ts b/frontend/src/app/components/address/address-preview.component.ts index 9bc6e967f..4ea857b37 100644 --- a/frontend/src/app/components/address/address-preview.component.ts +++ b/frontend/src/app/components/address/address-preview.component.ts @@ -69,7 +69,7 @@ export class AddressPreviewComponent implements OnInit, OnDestroy { this.addressString = this.addressString.toLowerCase(); } this.seoService.setTitle($localize`:@@address.component.browser-title:Address: ${this.addressString}:INTERPOLATION:`); - this.seoService.setDescription($localize`:@@meta.description.bitcoin.address:See mempool transactions, confirmed transactions, balance, and more for ${this.stateService.network==='liquid'||this.stateService.network==='liquidtestnet'?'Liquid':'Bitcoin'}${seoDescriptionNetwork(this.stateService.network)} address ${this.addressString}:INTERPOLATION:.`); + this.seoService.setDescription($localize`:@@meta.description.bitcoin.address:See mempool transactions, confirmed transactions, balance, and more for ${this.stateService.network==='liquid'||this.stateService.network==='liquidtestnet'?'Liquid':'Bitcoin'} ${seoDescriptionNetwork(this.stateService.network)} address ${this.addressString}:INTERPOLATION:.`); return (this.addressString.match(/04[a-fA-F0-9]{128}|(02|03)[a-fA-F0-9]{64}/) ? this.electrsApiService.getPubKeyAddress$(this.addressString) From 2e2801a4ab323c5ed23d4b6f5c5a6d2990dee931 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 29 Nov 2023 15:51:35 +0900 Subject: [PATCH 256/639] Add missing txid in seo tx preview --- .../app/components/transaction/transaction-preview.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/transaction/transaction-preview.component.ts b/frontend/src/app/components/transaction/transaction-preview.component.ts index 153d9b22a..72c969e1f 100644 --- a/frontend/src/app/components/transaction/transaction-preview.component.ts +++ b/frontend/src/app/components/transaction/transaction-preview.component.ts @@ -88,7 +88,7 @@ export class TransactionPreviewComponent implements OnInit, OnDestroy { this.seoService.setTitle( $localize`:@@bisq.transaction.browser-title:Transaction: ${this.txId}:INTERPOLATION:` ); - this.seoService.setDescription($localize`:@@meta.description.bitcoin.transaction:Get real-time status, addresses, fees, script info, and more for ${this.stateService.network==='liquid'||this.stateService.network==='liquidtestnet'?'Liquid':'Bitcoin'}${seoDescriptionNetwork(this.stateService.network)} transaction with txid {txid}.`); + this.seoService.setDescription($localize`:@@meta.description.bitcoin.transaction:Get real-time status, addresses, fees, script info, and more for ${this.stateService.network==='liquid'||this.stateService.network==='liquidtestnet'?'Liquid':'Bitcoin'}${seoDescriptionNetwork(this.stateService.network)} transaction with txid ${this.txId}.`); this.resetTransaction(); return merge( of(true), From ff819673e5037442e7d612b240f950f739711b9e Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 29 Nov 2023 15:56:35 +0900 Subject: [PATCH 257/639] Fix "and" chain in lightning dashboard seo --- .../lightning-dashboard/lightning-dashboard.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts b/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts index ba5ee3db2..26a67cee6 100644 --- a/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts +++ b/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts @@ -25,7 +25,7 @@ export class LightningDashboardComponent implements OnInit, AfterViewInit { ngOnInit(): void { this.seoService.setTitle($localize`:@@142e923d3b04186ac6ba23387265d22a2fa404e0:Lightning Explorer`); - this.seoService.setDescription($localize`:@@meta.description.lightning.dashboard:Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc).`); + this.seoService.setDescription($localize`:@@meta.description.lightning.dashboard:Get stats on the Lightning network (aggregate capacity, connectivity, etc), Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc).`); this.nodesRanking$ = this.lightningApiService.getNodesRanking$().pipe(share()); this.statistics$ = this.lightningApiService.getLatestStatistics$().pipe(share()); From b9e050e24b2652cb5cc085f0c1b1342ceca990e2 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 29 Nov 2023 15:59:15 +0900 Subject: [PATCH 258/639] Fix small typo in lightning node ranking dashboard seo --- .../nodes-rankings-dashboard.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts b/frontend/src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts index 46becb793..6e647e4d0 100644 --- a/frontend/src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts +++ b/frontend/src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts @@ -20,7 +20,7 @@ export class NodesRankingsDashboard implements OnInit { ngOnInit(): void { this.seoService.setTitle($localize`Top lightning nodes`); - this.seoService.setDescription($localize`:@@meta.description.lightning.rankings-dashboard:See top the Lightning network nodes ranked by liquidity, connectivity, and age.`); + this.seoService.setDescription($localize`:@@meta.description.lightning.rankings-dashboard:See top Lightning network nodes ranked by liquidity, connectivity, and age.`); this.nodesRanking$ = this.lightningApiService.getNodesRanking$().pipe(share()); } } From 5697710c2301d6a2ab4aabde3953e851017d382d Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 29 Nov 2023 07:00:03 +0000 Subject: [PATCH 259/639] Translate frontend/src/locale/messages.xlf in fr 100% reviewed source file: 'frontend/src/locale/messages.xlf' on 'fr'. --- frontend/src/locale/messages.fr.xlf | 138 ++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) diff --git a/frontend/src/locale/messages.fr.xlf b/frontend/src/locale/messages.fr.xlf index ede5e1bbf..b7c900e93 100644 --- a/frontend/src/locale/messages.fr.xlf +++ b/frontend/src/locale/messages.fr.xlf @@ -59,6 +59,7 @@ + node_modules/src/ngb-config.ts 13 @@ -66,6 +67,7 @@ Slide of + Diapositive de node_modules/src/ngb-config.ts 13 @@ -404,6 +406,7 @@ See current balance, pending transactions, and history of confirmed transactions for BSQ address . + Consultez le solde actuel, les transactions en attente et l'historique des transactions confirmées pour l'adresse BSQ . src/app/bisq/bisq-address/bisq-address.component.ts 44 @@ -500,6 +503,7 @@ See all BSQ transactions in Bitcoin block (block hash ). + Voir toutes les transactions BSQ dans le bloc Bitcoin (hachage de bloc ). src/app/bisq/bisq-block/bisq-block.component.ts 92 @@ -627,6 +631,7 @@ See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + Consultez une liste des blocs Bitcoin récents avec des transactions BSQ, le nombre total de BSQ envoyés par bloc, et plus encore. src/app/bisq/bisq-blocks/bisq-blocks.component.ts 39 @@ -756,6 +761,7 @@ Markets + Marchés src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts 32 @@ -763,6 +769,7 @@ Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + Explorez l'intégralité de l'écosystème Bitcoin avec The Mempool Open Source Project™. Consultez les prix du marché Bisq, l’activité d'échange et bien plus encore. src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts 33 @@ -848,6 +855,7 @@ Bisq market: + Marché Bisq : src/app/bisq/bisq-market/bisq-market.component.ts 51 @@ -855,6 +863,7 @@ See price history, current buy/sell offers, and latest trades for the market on Bisq. + Consultez l'historique des prix, les offres d'achat/vente en cours et les dernières transactions du marché sur Bisq. src/app/bisq/bisq-market/bisq-market.component.ts 52 @@ -990,6 +999,7 @@ See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + Consultez des statistiques de haut niveau sur l'économie BSQ : mesures d'approvisionnement, nombre d'adresses, prix du BSQ, capitalisation boursière, etc. src/app/bisq/bisq-stats/bisq-stats.component.ts 29 @@ -1169,6 +1179,7 @@ Fee per weight unit + Tarif par unité de poids src/app/bisq/bisq-transaction/bisq-transaction.component.html 68 @@ -1237,6 +1248,7 @@ See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + Consultez les entrées, les sorties, le type de transaction, le montant brûlé et plus encore pour la transaction avec le txid . src/app/bisq/bisq-transaction/bisq-transaction.component.ts 51 @@ -1426,6 +1438,7 @@ See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + Consultez les transactions BSQ récentes : montant, txid, bloc Bitcoin associé, type de transaction, etc. src/app/bisq/bisq-transactions/bisq-transactions.component.ts 82 @@ -1466,6 +1479,7 @@ Become a Community Sponsor + Devenez un sponsor communautaire src/app/components/about/about.component.html 39 @@ -1474,6 +1488,7 @@ Become an Enterprise Sponsor + Devenez sponsor d’entreprise src/app/components/about/about.component.html 46 @@ -1491,6 +1506,7 @@ Whale Sponsors + Sponsors Whale src/app/components/about/about.component.html 202 @@ -1499,6 +1515,7 @@ Chad Sponsors + Sponsors Chad src/app/components/about/about.component.html 215 @@ -1507,6 +1524,7 @@ OG Sponsors ❤️ + Sponsors OG ❤️ src/app/components/about/about.component.html 228 @@ -1589,6 +1607,7 @@ Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + Apprenez-en davantage à propos de The Mempool Open Source Project® : sponsors d'entreprise, sponsors individuels, intégrations, qui contribue, licences FOSS, et bien plus encore. src/app/components/about/about.component.ts 46 @@ -1819,6 +1838,7 @@ See mempool transactions, confirmed transactions, balance, and more for address . + Consultez les transactions mempool, les transactions confirmées, le solde et bien plus encore pour l'adresse . src/app/components/address/address-preview.component.ts 72 @@ -2114,6 +2134,7 @@ Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + Explorez tous les actifs émis sur le réseau Liquid comme L-BTC, L-CAD, USDT, et plus encore. src/app/components/assets/assets-nav/assets-nav.component.ts 43 @@ -2276,6 +2297,7 @@ See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + Consultez les tarifs Bitcoin visualisés au fil du temps, y compris les tarifs minimum et maximum par bloc ainsi que les tarifs à différents centiles. src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts 67 @@ -2332,6 +2354,7 @@ See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + Consultez les frais de minage moyens gagnés par bloc Bitcoin visualisés en BTC et en USD au fil du temps. src/app/components/block-fees-graph/block-fees-graph.component.ts 68 @@ -2375,6 +2398,7 @@ Block Health + Santé de bloc src/app/components/block-health-graph/block-health-graph.component.html 6 @@ -2387,6 +2411,7 @@ Block Health + Santé de bloc src/app/components/block-health-graph/block-health-graph.component.ts 63 @@ -2394,6 +2419,7 @@ See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + Voir la santé des blocs Bitcoin visualisée au fil du temps. La santé d'un bloc est une mesure du nombre de transactions attendues incluses dans un bloc réellement trouvé. Les transactions attendues sont déterminées à l'aide de la ré-implémentation par Mempool de l'algorithme de sélection de transactions de Bitcoin Core. src/app/components/block-health-graph/block-health-graph.component.ts 64 @@ -2425,6 +2451,7 @@ Health + Santé src/app/components/block-health-graph/block-health-graph.component.ts 190 @@ -2515,6 +2542,7 @@ Accelerated fee rate + Tarif accéléré src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 33 @@ -2546,6 +2574,7 @@ Weight + Poids src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 43 @@ -2603,6 +2632,7 @@ High sigop count + Nombre élevé de sigops src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 52 @@ -2620,6 +2650,7 @@ Recently CPFP'd + Récemment CPFP src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 54 @@ -2637,6 +2668,7 @@ Conflicting + Contradictoire src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 57 @@ -2645,6 +2677,7 @@ Accelerated + Accéléré src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 58 @@ -2670,6 +2703,7 @@ See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + Consultez les récompenses des blocs Bitcoin en BTC et en USD visualisées au fil du temps. Les récompenses globales correspondent au total des fonds que les mineurs gagnent grâce à la récompense de bloc et aux frais. src/app/components/block-rewards-graph/block-rewards-graph.component.ts 66 @@ -2694,6 +2728,7 @@ See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + Consultez la taille des blocs Bitcoin (Mo) et le poids des blocs (unités de poids) visualisés au fil du temps. src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts 63 @@ -2809,6 +2844,7 @@ See size, weight, fee range, included transactions, and more for Liquid block (). + Consultez la taille, le poids, la fourchette de frais, les transactions incluses et bien plus encore pour le bloc Liquid (). src/app/components/block-view/block-view.component.ts 112 @@ -2824,6 +2860,7 @@ See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + Consultez la taille, le poids, la fourchette de frais, les transactions incluses, l'audit (attendu et réel) et bien plus encore pour le bloc Bitcoin ( ). src/app/components/block-view/block-view.component.ts 114 @@ -2912,6 +2949,7 @@ This block does not belong to the main chain, it has been replaced by: + Ce bloc n'appartient pas à la chaîne principale, il a été remplacé par : src/app/components/block/block.component.html 5 @@ -2947,6 +2985,7 @@ Stale + Vicié src/app/components/block/block.component.html 30 @@ -3412,6 +3451,7 @@ Blocks + Blocs src/app/components/blocks-list/blocks-list.component.ts 59 @@ -3419,6 +3459,7 @@ See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + Consultez les blocs Liquid les plus récents ainsi que les statistiques de base telles que la hauteur et la taille des blocs, etc. src/app/components/blocks-list/blocks-list.component.ts 62 @@ -3426,6 +3467,7 @@ See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + Consultez les blocs Bitcoin les plus récents ainsi que les statistiques de base telles que la hauteur du bloc, la récompense du bloc, la taille du bloc, etc. src/app/components/blocks-list/blocks-list.component.ts 64 @@ -3433,6 +3475,7 @@ Calculator + Calculatrice src/app/components/calculator/calculator.component.html 3 @@ -3470,6 +3513,7 @@ Memory Usage + Utilisation de mémoire src/app/components/clock/clock.component.html 65 @@ -3549,6 +3593,7 @@ blocks + blocs src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 @@ -3852,6 +3897,7 @@ WU/s + UE/s src/app/components/footer/footer.component.html 14 @@ -4072,6 +4118,7 @@ See hashrate and difficulty for the Bitcoin network visualized over time. + Consultez le taux de hachage et la difficulté du réseau Bitcoin visualisés au fil du temps. src/app/components/hashrate-chart/hashrate-chart.component.ts 75 @@ -4179,6 +4226,7 @@ See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + Consultez les statistiques des transactions dans la mempool: plage de frais, taille globale, etc. Les blocs mempool sont mis à jour en temps réel à mesure que le réseau reçoit de nouvelles transactions. src/app/components/mempool-block/mempool-block.component.ts 58 @@ -4202,6 +4250,7 @@ Count + Compter src/app/components/mempool-graph/mempool-graph.component.ts 325 @@ -4229,6 +4278,7 @@ Sign in + Se connecter src/app/components/menu/menu.component.html 10 @@ -4255,6 +4305,7 @@ Recent Blocks + Blocs récents src/app/components/mining-dashboard/mining-dashboard.component.html 52 @@ -4280,6 +4331,7 @@ Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. + Obtenez des statistiques minières Bitcoin en temps réel telles que le taux de hachage, l'ajustement de la difficulté, les récompenses de bloc, la domination du pool, etc. src/app/components/mining-dashboard/mining-dashboard.component.ts 21 @@ -4296,6 +4348,7 @@ Pools Luck + Chance dans les piscines src/app/components/pool-ranking/pool-ranking.component.html 9 @@ -4326,6 +4379,7 @@ Pools Count + Nombre de piscines src/app/components/pool-ranking/pool-ranking.component.html 17 @@ -4440,6 +4494,7 @@ Empty Blocks + Blocs vides src/app/components/pool-ranking/pool-ranking.component.html 98 @@ -4465,6 +4520,7 @@ See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + Consultez les meilleurs pools de minage Bitcoin classés par nombre de blocs extraits, sur la période souhaitée. src/app/components/pool-ranking/pool-ranking.component.ts 59 @@ -4554,6 +4610,7 @@ See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + Consultez les statistiques de la pool de minage  : les blocs extraits les plus récents, le taux de hachage au fil du temps, la récompense totale du bloc à ce jour, les adresses coinbase connues, et plus encore. src/app/components/pool/pool-preview.component.ts 86 @@ -4620,6 +4677,7 @@ Blocks (24h) + Blocs (24h) src/app/components/pool/pool.component.html 146 @@ -4734,6 +4792,7 @@ Broadcast Transaction + Transaction de diffusion src/app/components/push-transaction/push-transaction.component.ts 31 @@ -4741,6 +4800,7 @@ Broadcast a transaction to the network using the transaction's hash. + Diffusez une transaction sur le réseau en utilisant le hachage de la transaction. src/app/components/push-transaction/push-transaction.component.ts 32 @@ -4748,6 +4808,7 @@ RBF Replacements + Remplacements RBF src/app/components/rbf-list/rbf-list.component.html 2 @@ -4760,6 +4821,7 @@ Full RBF + RBF complet src/app/components/rbf-list/rbf-list.component.html 24 @@ -4776,6 +4838,7 @@ There are no replacements in the mempool yet! + Il n'y a pas encore de remplaçants dans le pool de mémoire ! src/app/components/rbf-list/rbf-list.component.html 34 @@ -4784,6 +4847,7 @@ See the most recent RBF replacements on the Bitcoin network, updated in real-time. + Découvrez les remplacements RBF les plus récents sur le réseau Bitcoin, mis à jour en temps réel. src/app/components/rbf-list/rbf-list.component.ts 59 @@ -4829,6 +4893,7 @@ Status + Statut src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html 33 @@ -4846,6 +4911,7 @@ RBF + FBR src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html 36 @@ -5065,6 +5131,7 @@ Clock (Mempool) + Horloge (Mempool) src/app/components/statistics/statistics.component.html 17 @@ -5117,6 +5184,7 @@ Cap outliers + Valeurs aberrantes du plafond src/app/components/statistics/statistics.component.html 122 @@ -5125,6 +5193,7 @@ See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + Voir la taille de la mempool (en MvB) et les transactions par seconde (en vB/s) visualisées au fil du temps. src/app/components/statistics/statistics.component.ts 67 @@ -5132,6 +5201,7 @@ See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + Visualisez les blocs Bitcoin et la congestion de la mempool en temps réel dans un format simplifié parfait pour une TV. src/app/components/television/television.component.ts 40 @@ -5344,6 +5414,7 @@ Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + Obtenez le statut en temps réel, les adresses, les frais, les informations sur le script et bien plus encore pour cette transaction . src/app/components/transaction/transaction-preview.component.ts 91 @@ -5385,6 +5456,7 @@ Accelerate + Accélérer src/app/components/transaction/transaction.component.html 123 @@ -5422,6 +5494,7 @@ RBF History + Historique RBF src/app/components/transaction/transaction.component.html 218 @@ -5493,6 +5566,7 @@ Adjusted vsize + Taille ajustée src/app/components/transaction/transaction.component.html 298 @@ -5511,6 +5585,7 @@ Sigops + Sigops src/app/components/transaction/transaction.component.html 320 @@ -5538,6 +5613,7 @@ Accelerated fee rate + Tarif accéléré src/app/components/transaction/transaction.component.html 516 @@ -5893,6 +5969,7 @@ Recent Replacements + Remplacements récents src/app/dashboard/dashboard.component.html 79 @@ -5901,6 +5978,7 @@ Previous fee + Frais antérieurs src/app/dashboard/dashboard.component.html 86 @@ -5909,6 +5987,7 @@ New fee + Nouveaux frais src/app/dashboard/dashboard.component.html 87 @@ -5917,6 +5996,7 @@ Recent Transactions + Transactions récentes src/app/dashboard/dashboard.component.html 153 @@ -5954,6 +6034,7 @@ Incoming Transactions + Transactions entrantes src/app/dashboard/dashboard.component.html 259 @@ -5962,6 +6043,7 @@ mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). + mempool.space fournit simplement des données sur le réseau Bitcoin. Nous ne pouvons pas vous aider à récupérer des fonds, à résoudre des problèmes de portefeuille, etc.Pour toute demande de ce type, vous devez contacter l'entité qui a aidé à effectuer la transaction (logiciel de portefeuille, échange, etc.). src/app/docs/api-docs/api-docs.component.html 15,16 @@ -6056,6 +6138,7 @@ FAQ + FAQ src/app/docs/docs/docs.component.ts 45 @@ -6063,6 +6146,7 @@ Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. + Obtenez des réponses aux questions courantes telles que : Qu’est-ce qu’une mempool ? Pourquoi ma transaction n'est-elle pas confirmée ? Comment puis-je utiliser ma propre instance du projet Open Source Mempool ? Et plus. src/app/docs/docs/docs.component.ts 46 @@ -6070,6 +6154,7 @@ REST API + API REST src/app/docs/docs/docs.component.ts 49 @@ -6077,6 +6162,7 @@ Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. + Documentation pour le service API REST liquid.network : obtenez des informations sur les adresses, les transactions, les actifs, les blocs, etc. src/app/docs/docs/docs.component.ts 51 @@ -6084,6 +6170,7 @@ Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + Documentation pour le service API REST bisq.markets : obtenez des informations sur les transactions récentes, les offres en cours, les transactions, l'état du réseau, etc. src/app/docs/docs/docs.component.ts 53 @@ -6091,6 +6178,7 @@ Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + Documentation pour le service API REST mempool.space : obtenez des informations sur les adresses, les transactions, les blocs, les frais, le minage, le réseau Lightning, etc. src/app/docs/docs/docs.component.ts 55 @@ -6098,6 +6186,7 @@ WebSocket API + API WebSocket src/app/docs/docs/docs.component.ts 59 @@ -6105,6 +6194,7 @@ Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + Documentation pour le service API liquid.network WebSocket : obtenez des informations en temps réel sur les blocs, les pools de mémoire, les transactions, les adresses, etc. src/app/docs/docs/docs.component.ts 61 @@ -6112,6 +6202,7 @@ Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + Documentation pour le service API WebSocket mempool.space : obtenez des informations en temps réel sur les blocs, les pools de mémoire, les transactions, les adresses, etc. src/app/docs/docs/docs.component.ts 63 @@ -6119,6 +6210,7 @@ Electrum RPC + Électrum RPC src/app/docs/docs/docs.component.ts 67 @@ -6126,6 +6218,7 @@ Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + Documentation pour notre interface Electrum RPC : obtenez un accès instantané, pratique et fiable à une instance Esplora. src/app/docs/docs/docs.component.ts 68 @@ -6438,6 +6531,7 @@ Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + Présentation du canal Lightning . Consultez la capacité du canal, les nœuds Lightning impliqués, les transactions en chaîne associées, et bien plus encore. src/app/lightning/channel/channel-preview.component.ts 37 @@ -6936,6 +7030,7 @@ Connect + Connecter src/app/lightning/group/group.component.html 73 @@ -6986,6 +7081,7 @@ Penalties + Pénalités src/app/lightning/justice-list/justice-list.component.html 4 @@ -7063,6 +7159,7 @@ Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + Obtenez des statistiques sur le réseau Lightning (capacité globale, connectivité, etc.), les nœuds Lightning (canaux, liquidité, etc.) et les canaux Lightning (statut, frais, etc.). src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 28 @@ -7172,6 +7269,7 @@ Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + Présentation du nœud de réseau Lightning nommé . Consultez les chaînes, la capacité, l’emplacement, les statistiques de frais et bien plus encore. src/app/lightning/node/node-preview.component.ts 52 @@ -7232,6 +7330,7 @@ Decoded + Décodé src/app/lightning/node/node.component.html 136 @@ -7370,6 +7469,7 @@ See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + Visualisez les canaux des nœuds du réseau non Tor Lightning visualisés sur une carte du monde. Passez la souris/appuyez sur des points sur la carte pour connaître les noms et les détails des nœuds. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -7394,6 +7494,7 @@ See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + Consultez les emplacements des nœuds du réseau non Tor Lightning visualisés sur une carte du monde. Passez la souris/appuyez sur des points sur la carte pour connaître les noms et les détails des nœuds. src/app/lightning/nodes-map/nodes-map.component.ts 51 @@ -7401,6 +7502,7 @@ See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + Consultez le nombre de nœuds de réseau Lightning visualisés au fil du temps par réseau : clearnet uniquement (IPv4, IPv6), darknet (Tor, I2p, cjdns) et les deux. src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 68 @@ -7469,6 +7571,7 @@ See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + Consultez une répartition géographique du réseau Lightning : combien de nœuds Lightning sont hébergés dans les pays du monde, capacité BTC globale pour chaque pays, et plus encore. src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 47 @@ -7539,6 +7642,7 @@ Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + Explorez tous les nœuds Lightning hébergés dans et obtenez un aperçu de la capacité de chaque nœud, du nombre de canaux ouverts, et bien plus encore. src/app/lightning/nodes-per-country/nodes-per-country.component.ts 36 @@ -7689,6 +7793,7 @@ Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + Parcourez tous les nœuds Bitcoin Lightning à l'aide du FAI [AS] et consultez les statistiques globales telles que le nombre total de nœuds, la capacité totale, et plus encore pour le FAI. src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts 45 @@ -7744,6 +7849,7 @@ See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + Consultez les nœuds les plus anciens du réseau Lightning ainsi que leur capacité, leur nombre de canaux, leur emplacement, etc. src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts 28 @@ -7751,6 +7857,7 @@ See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + Consultez les nœuds Lightning avec le plus de liquidité BTC déployé ainsi que des statistiques de haut niveau telles que le nombre de canaux ouverts, l'emplacement, l'âge du nœud, etc. src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 34 @@ -7758,6 +7865,7 @@ See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + Consultez les nœuds Lightning avec le plus grand nombre de canaux ouverts, ainsi que des statistiques de haut niveau telles que la capacité totale des nœuds, l'âge des nœuds, etc. src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts 38 @@ -7782,6 +7890,7 @@ See top the Lightning network nodes ranked by liquidity, connectivity, and age. + Découvrez les meilleurs nœuds du réseau Lightning classés par liquidité, connectivité et âge. src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts 23 @@ -7789,6 +7898,7 @@ See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + Visualisez la capacité du réseau Lightning au fil du temps en termes de nombre de canaux ouverts et de capacité totale de Bitcoin. src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 67 @@ -7796,6 +7906,7 @@ confirmation + confirmation src/app/shared/components/confirmations/confirmations.component.html 4 @@ -7805,6 +7916,7 @@ confirmations + confirmations src/app/shared/components/confirmations/confirmations.component.html 5 @@ -7814,6 +7926,7 @@ Replaced + Remplacée src/app/shared/components/confirmations/confirmations.component.html 12 @@ -7823,6 +7936,7 @@ Removed + Supprimée src/app/shared/components/confirmations/confirmations.component.html 15 @@ -7842,6 +7956,7 @@ sat/WU + sat/WU src/app/shared/components/fee-rate/fee-rate.component.html 3 @@ -7851,6 +7966,7 @@ My Account + Mon compte src/app/shared/components/global-footer/global-footer.component.html 25 @@ -7863,6 +7979,7 @@ Sign In + Se connecter src/app/shared/components/global-footer/global-footer.component.html 26 @@ -7875,6 +7992,7 @@ Explore + Explorer src/app/shared/components/global-footer/global-footer.component.html 41 @@ -7883,6 +8001,7 @@ Connect to our Nodes + Connectez-vous à nos nœuds src/app/shared/components/global-footer/global-footer.component.html 46 @@ -7891,6 +8010,7 @@ API Documentation + Documentation API src/app/shared/components/global-footer/global-footer.component.html 47 @@ -7899,6 +8019,7 @@ Learn + Apprendre src/app/shared/components/global-footer/global-footer.component.html 50 @@ -7907,6 +8028,7 @@ What is a mempool? + Qu'est-ce qu'une mempool ? src/app/shared/components/global-footer/global-footer.component.html 51 @@ -7915,6 +8037,7 @@ What is a block explorer? + Qu'est-ce qu'un explorateur de blocs ? src/app/shared/components/global-footer/global-footer.component.html 52 @@ -7923,6 +8046,7 @@ What is a mempool explorer? + Qu’est-ce qu’un explorateur mempool ? src/app/shared/components/global-footer/global-footer.component.html 53 @@ -7931,6 +8055,7 @@ Why isn't my transaction confirming? + Pourquoi ma transaction n'est-elle pas confirmée ? src/app/shared/components/global-footer/global-footer.component.html 54 @@ -7939,6 +8064,7 @@ More FAQs » + Voir plus » src/app/shared/components/global-footer/global-footer.component.html 55 @@ -7947,6 +8073,7 @@ Networks + Réseaux src/app/shared/components/global-footer/global-footer.component.html 59 @@ -7955,6 +8082,7 @@ Mainnet Explorer + Explorateur Mainnet src/app/shared/components/global-footer/global-footer.component.html 60 @@ -7963,6 +8091,7 @@ Testnet Explorer + Explorateur Testnet src/app/shared/components/global-footer/global-footer.component.html 61 @@ -7971,6 +8100,7 @@ Signet Explorer + Explorateur Signet src/app/shared/components/global-footer/global-footer.component.html 62 @@ -7979,6 +8109,7 @@ Liquid Testnet Explorer + Explorateur Liquid Testnet src/app/shared/components/global-footer/global-footer.component.html 63 @@ -7987,6 +8118,7 @@ Liquid Explorer + Explorateur Liquid src/app/shared/components/global-footer/global-footer.component.html 64 @@ -7995,6 +8127,7 @@ Bisq Explorer + Explorateur Bisq src/app/shared/components/global-footer/global-footer.component.html 65 @@ -8003,6 +8136,7 @@ Tools + Outils src/app/shared/components/global-footer/global-footer.component.html 69 @@ -8011,6 +8145,7 @@ Clock (Mined) + Horloge (trouvé) src/app/shared/components/global-footer/global-footer.component.html 71 @@ -8019,6 +8154,7 @@ Legal + Légal src/app/shared/components/global-footer/global-footer.component.html 76 @@ -8047,6 +8183,7 @@ Trademark Policy + Politique en matière de marques src/app/shared/components/global-footer/global-footer.component.html 79 @@ -8056,6 +8193,7 @@ This is a test network. Coins have no value. + Il s'agit d'un réseau de test. Les tokens n'ont aucune valeur. src/app/shared/components/testnet-alert/testnet-alert.component.html 3 From 08e046ea2a1e7fa1ff96167f4f852b6508142d77 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 24 Nov 2023 09:17:14 +0000 Subject: [PATCH 260/639] fix matomo bug --- .../app/components/about/about.component.html | 4 +- .../app/components/about/about.component.ts | 12 +++ .../src/app/services/enterprise.service.ts | 73 ++++++++++++++++--- 3 files changed, 76 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index a4cc51f90..cb45e9f19 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -36,14 +36,14 @@

If you're an individual...

- Become a Community Sponsor + Become a Community Sponsor

If you're a business...

- Become an Enterprise Sponsor + Become an Enterprise Sponsor diff --git a/frontend/src/app/components/about/about.component.ts b/frontend/src/app/components/about/about.component.ts index 8aa0422e8..026076f16 100644 --- a/frontend/src/app/components/about/about.component.ts +++ b/frontend/src/app/components/about/about.component.ts @@ -9,6 +9,7 @@ import { Router, ActivatedRoute } from '@angular/router'; import { map, share, tap } from 'rxjs/operators'; import { ITranslators } from '../../interfaces/node-api.interface'; import { DOCUMENT } from '@angular/common'; +import { EnterpriseService } from '../../services/enterprise.service'; @Component({ selector: 'app-about', @@ -33,6 +34,7 @@ export class AboutComponent implements OnInit { private websocketService: WebsocketService, private seoService: SeoService, public stateService: StateService, + private enterpriseService: EnterpriseService, private apiService: ApiService, private router: Router, private route: ActivatedRoute, @@ -108,4 +110,14 @@ export class AboutComponent implements OnInit { unmutePromoVideo(): void { this.promoVideo.nativeElement.muted = false; } + + onSponsorClick(e): boolean { + this.enterpriseService.goal(5); + return true; + } + + onEnterpriseClick(e): boolean { + this.enterpriseService.goal(6); + return true; + } } diff --git a/frontend/src/app/services/enterprise.service.ts b/frontend/src/app/services/enterprise.service.ts index bc80f337d..4ee3a0739 100644 --- a/frontend/src/app/services/enterprise.service.ts +++ b/frontend/src/app/services/enterprise.service.ts @@ -3,6 +3,7 @@ import { Inject, Injectable } from '@angular/core'; import { ApiService } from './api.service'; import { SeoService } from './seo.service'; import { StateService } from './state.service'; +import { ActivatedRoute } from '@angular/router'; @Injectable({ providedIn: 'root' @@ -11,12 +12,15 @@ export class EnterpriseService { exclusiveHostName = '.mempool.space'; subdomain: string | null = null; info: object = {}; + statsUrl: string; + siteId: number; constructor( @Inject(DOCUMENT) private document: Document, private apiService: ApiService, private seoService: SeoService, private stateService: StateService, + private activatedRoute: ActivatedRoute, ) { const subdomain = this.document.location.hostname.indexOf(this.exclusiveHostName) > -1 && this.document.location.hostname.split(this.exclusiveHostName)[0] || false; @@ -56,7 +60,7 @@ export class EnterpriseService { insertMatomo(siteId?: number): void { let statsUrl = '//stats.mempool.space/'; - + if (!siteId) { switch (this.document.location.hostname) { case 'mempool.space': @@ -88,16 +92,63 @@ export class EnterpriseService { } } + this.statsUrl = statsUrl; + this.siteId = siteId; + // @ts-ignore - const _paq = window._paq = window._paq || []; - _paq.push(['disableCookies']); - _paq.push(['trackPageView']); - _paq.push(['enableLinkTracking']); - (function() { - _paq.push(['setTrackerUrl', statsUrl+'m.php']); - _paq.push(['setSiteId', siteId.toString()]); - const d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; - g.type='text/javascript'; g.async=true; g.src=statsUrl+'m.js'; s.parentNode.insertBefore(g,s); - })(); + if (window._paq && window['Matomo']) { + window['Matomo'].addTracker(this.statsUrl+'m.php', this.siteId.toString()); + const matomo = this.getMatomo(); + matomo.setDocumentTitle(this.seoService.getTitle()); + matomo.setCustomUrl(this.getCustomUrl()); + matomo.disableCookies(); + matomo.trackPageView(); + matomo.enableLinkTracking(); + } else { + // @ts-ignore + const alreadyInitialized = !!window._paq; + // @ts-ignore + const _paq = window._paq = window._paq || []; + _paq.push(['setDocumentTitle', this.seoService.getTitle()]); + _paq.push(['setCustomUrl', this.getCustomUrl()]); + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + if (alreadyInitialized) { + _paq.push(['addTracker', this.statsUrl+'m.php', this.siteId.toString()]); + } else { + (function() { + _paq.push(['setTrackerUrl', this.statsUrl+'m.php']); + _paq.push(['setSiteId', this.siteId.toString()]); + const d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + // @ts-ignore + g.type='text/javascript'; g.async=true; g.src=statsUrl+'m.js'; s.parentNode.insertBefore(g,s); + })(); + } + } + } + + private getMatomo() { + if (this.siteId != null) { + return window['Matomo']?.getTracker(this.statsUrl, this.siteId); + } + } + + goal(id: number) { + // @ts-ignore + this.getMatomo()?.trackGoal(id); + } + + private getCustomUrl(): string { + let url = window.location.origin + '/'; + let route = this.activatedRoute; + while (route) { + const segment = route?.routeConfig?.path; + if (segment && segment.length) { + url += segment + '/'; + } + route = route.firstChild; + } + return url; } } From 3b30765070aa7ddf26e7ef5ba7877b85e493381c Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 29 Nov 2023 18:00:07 +0900 Subject: [PATCH 261/639] Revert unnecessary changes --- frontend/src/app/components/about/about.module.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/about/about.module.ts b/frontend/src/app/components/about/about.module.ts index 58a8ed9be..7e8ed42d0 100644 --- a/frontend/src/app/components/about/about.module.ts +++ b/frontend/src/app/components/about/about.module.ts @@ -14,7 +14,7 @@ const routes: Routes = [ @NgModule({ imports: [ - RouterModule.forChild(routes), + RouterModule.forChild(routes) ], exports: [ RouterModule @@ -26,7 +26,7 @@ export class AboutRoutingModule { } imports: [ CommonModule, AboutRoutingModule, - SharedModule + SharedModule, ], declarations: [ AboutComponent, From 22bf0fe92883cf25b92917beb3c5116cd750aac6 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 29 Nov 2023 18:03:23 +0900 Subject: [PATCH 262/639] Re-apply fix from https://github.com/mempool/mempool/pull/4419/files#diff-9daf43654b4e0bb2c925b6396c6e3a7e1b117bd854fe9c46290f025bfe0a762eR285 --- frontend/src/app/components/about/about-sponsors.component.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/app/components/about/about-sponsors.component.scss b/frontend/src/app/components/about/about-sponsors.component.scss index c9fddde91..f3e675fd4 100644 --- a/frontend/src/app/components/about/about-sponsors.component.scss +++ b/frontend/src/app/components/about/about-sponsors.component.scss @@ -33,6 +33,7 @@ text-align: left; width: 250px; margin: 12px auto; + white-space: nowrap; } @media (max-width: 992px) { From fbb4ba39c2a179b8f4fd5d52d09e09447e00b53a Mon Sep 17 00:00:00 2001 From: ncois Date: Wed, 29 Nov 2023 11:08:38 +0100 Subject: [PATCH 263/639] Mining chart: show hashrate power of ten on desktop --- .../hashrate-chart/hashrate-chart.component.ts | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts index 5f17938ae..a079a4e71 100644 --- a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts +++ b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -249,10 +249,8 @@ export class HashrateChartComponent implements OnInit { for (const tick of ticks) { if (tick.seriesIndex === 0) { // Hashrate let hashrate = tick.data[1]; - if (this.isMobile()) { - hashratePowerOfTen = selectPowerOfTen(tick.data[1]); - hashrate = Math.round(tick.data[1] / hashratePowerOfTen.divider); - } + hashratePowerOfTen = selectPowerOfTen(tick.data[1]); + hashrate = Math.round(tick.data[1] / hashratePowerOfTen.divider); hashrateString = `${tick.marker} ${tick.seriesName}: ${formatNumber(hashrate, this.locale, '1.0-0')} ${hashratePowerOfTen.unit}H/s
`; } else if (tick.seriesIndex === 1) { // Difficulty let difficultyPowerOfTen = hashratePowerOfTen; @@ -260,18 +258,14 @@ export class HashrateChartComponent implements OnInit { if (difficulty === null) { difficultyString = `${tick.marker} ${tick.seriesName}: No data
`; } else { - if (this.isMobile()) { - difficultyPowerOfTen = selectPowerOfTen(tick.data[1]); - difficulty = Math.round(tick.data[1] / difficultyPowerOfTen.divider); - } + difficultyPowerOfTen = selectPowerOfTen(tick.data[1]); + difficulty = Math.round(tick.data[1] / difficultyPowerOfTen.divider); difficultyString = `${tick.marker} ${tick.seriesName}: ${formatNumber(difficulty, this.locale, '1.2-2')} ${difficultyPowerOfTen.unit}
`; } } else if (tick.seriesIndex === 2) { // Hashrate MA let hashrate = tick.data[1]; - if (this.isMobile()) { - hashratePowerOfTen = selectPowerOfTen(tick.data[1]); - hashrate = Math.round(tick.data[1] / hashratePowerOfTen.divider); - } + hashratePowerOfTen = selectPowerOfTen(tick.data[1]); + hashrate = Math.round(tick.data[1] / hashratePowerOfTen.divider); hashrateStringMA = `${tick.marker} ${tick.seriesName}: ${formatNumber(hashrate, this.locale, '1.0-0')} ${hashratePowerOfTen.unit}H/s`; } } From 9913254a5c3d66889a9a590485fbd511756c2eb9 Mon Sep 17 00:00:00 2001 From: ncois Date: Wed, 29 Nov 2023 11:16:48 +0100 Subject: [PATCH 264/639] Difficulty value: remove rounding --- .../app/components/hashrate-chart/hashrate-chart.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts index a079a4e71..62c6961ce 100644 --- a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts +++ b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -259,7 +259,7 @@ export class HashrateChartComponent implements OnInit { difficultyString = `${tick.marker} ${tick.seriesName}: No data
`; } else { difficultyPowerOfTen = selectPowerOfTen(tick.data[1]); - difficulty = Math.round(tick.data[1] / difficultyPowerOfTen.divider); + difficulty = tick.data[1] / difficultyPowerOfTen.divider; difficultyString = `${tick.marker} ${tick.seriesName}: ${formatNumber(difficulty, this.locale, '1.2-2')} ${difficultyPowerOfTen.unit}
`; } } else if (tick.seriesIndex === 2) { // Hashrate MA From c5ce3167f39fc40834a0743f10de56398826577e Mon Sep 17 00:00:00 2001 From: ncois Date: Wed, 29 Nov 2023 15:27:45 +0100 Subject: [PATCH 265/639] Fix overflow on transaction page --- .../components/transaction/transaction.component.html | 2 +- .../components/transaction/transaction.component.scss | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 6a2cdfb92..61f9e7f86 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -519,7 +519,7 @@
- +
diff --git a/frontend/src/app/components/transaction/transaction.component.scss b/frontend/src/app/components/transaction/transaction.component.scss index 8a3e13102..8f6c5111b 100644 --- a/frontend/src/app/components/transaction/transaction.component.scss +++ b/frontend/src/app/components/transaction/transaction.component.scss @@ -152,6 +152,16 @@ @media (min-width: 768px){ display: inline-block; } + @media (max-width: 425px){ + display: flex; + flex-direction: column; + } +} + +.effective-fee-rating { + @media (max-width: 767px){ + margin-right: 0px !important; + } } .title { From 4ac98bc4832e76ce6a34498682c2b2eb8e55066c Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 30 Nov 2023 15:46:58 +0900 Subject: [PATCH 266/639] Fix matomo again --- frontend/src/app/services/enterprise.service.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/services/enterprise.service.ts b/frontend/src/app/services/enterprise.service.ts index 4ee3a0739..0c86f086c 100644 --- a/frontend/src/app/services/enterprise.service.ts +++ b/frontend/src/app/services/enterprise.service.ts @@ -97,7 +97,7 @@ export class EnterpriseService { // @ts-ignore if (window._paq && window['Matomo']) { - window['Matomo'].addTracker(this.statsUrl+'m.php', this.siteId.toString()); + window['Matomo'].addTracker(statsUrl+'m.php', siteId.toString()); const matomo = this.getMatomo(); matomo.setDocumentTitle(this.seoService.getTitle()); matomo.setCustomUrl(this.getCustomUrl()); @@ -115,11 +115,11 @@ export class EnterpriseService { _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); if (alreadyInitialized) { - _paq.push(['addTracker', this.statsUrl+'m.php', this.siteId.toString()]); + _paq.push(['addTracker', statsUrl+'m.php', siteId.toString()]); } else { (function() { - _paq.push(['setTrackerUrl', this.statsUrl+'m.php']); - _paq.push(['setSiteId', this.siteId.toString()]); + _paq.push(['setTrackerUrl', statsUrl+'m.php']); + _paq.push(['setSiteId', siteId.toString()]); const d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; // @ts-ignore g.type='text/javascript'; g.async=true; g.src=statsUrl+'m.js'; s.parentNode.insertBefore(g,s); From 6b933c202fa4978d834b01b1bf81cd301e562e7d Mon Sep 17 00:00:00 2001 From: nymkappa <9780671+nymkappa@users.noreply.github.com> Date: Thu, 30 Nov 2023 17:22:22 +0900 Subject: [PATCH 267/639] Update nodes-rankings-dashboard.component.ts --- .../nodes-rankings-dashboard.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts b/frontend/src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts index 6e647e4d0..178ca783c 100644 --- a/frontend/src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts +++ b/frontend/src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts @@ -20,7 +20,7 @@ export class NodesRankingsDashboard implements OnInit { ngOnInit(): void { this.seoService.setTitle($localize`Top lightning nodes`); - this.seoService.setDescription($localize`:@@meta.description.lightning.rankings-dashboard:See top Lightning network nodes ranked by liquidity, connectivity, and age.`); + this.seoService.setDescription($localize`:@@meta.description.lightning.rankings-dashboard:See the top Lightning network nodes ranked by liquidity, connectivity, and age.`); this.nodesRanking$ = this.lightningApiService.getNodesRanking$().pipe(share()); } } From 7de7081d67b347215ce9433ec7fe4f532590bfc6 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 30 Nov 2023 17:35:26 +0900 Subject: [PATCH 268/639] matomo path --- frontend/src/app/services/enterprise.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/services/enterprise.service.ts b/frontend/src/app/services/enterprise.service.ts index 0c86f086c..7e69af223 100644 --- a/frontend/src/app/services/enterprise.service.ts +++ b/frontend/src/app/services/enterprise.service.ts @@ -130,7 +130,7 @@ export class EnterpriseService { private getMatomo() { if (this.siteId != null) { - return window['Matomo']?.getTracker(this.statsUrl, this.siteId); + return window['Matomo']?.getTracker(this.statsUrl+'m.php', this.siteId); } } From 36398ca57a0ebca764ead81b0aa7c5711f1a632d Mon Sep 17 00:00:00 2001 From: softsimon Date: Thu, 30 Nov 2023 18:29:06 +0900 Subject: [PATCH 269/639] Updating messages.xlf --- frontend/src/locale/messages.xlf | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index fa4a302b8..e4fa9090c 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -1698,7 +1698,7 @@ - See mempool transactions, confirmed transactions, balance, and more for address . + See mempool transactions, confirmed transactions, balance, and more for address . src/app/components/address/address-preview.component.ts 72 @@ -2256,7 +2256,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 215 + 216 src/app/lightning/nodes-map/nodes-map.component.ts @@ -3774,7 +3774,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6 + 19 lightning.nodes-channels-world-map @@ -5024,7 +5024,7 @@ transactions-list.coinbase - Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + Get real-time status, addresses, fees, script info, and more for transaction with txid . src/app/components/transaction/transaction-preview.component.ts 91 @@ -6629,7 +6629,7 @@ lightning.connectivity-ranking - Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + Get stats on the Lightning network (aggregate capacity, connectivity, etc), Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 28 @@ -6886,7 +6886,7 @@ (Tor nodes excluded) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8 + 21 src/app/lightning/nodes-map/nodes-map.component.html @@ -6906,21 +6906,21 @@ Lightning Nodes Channels World Map src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 68 + 69 See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 69 + 70 No geolocation data available src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 227 + 228 @@ -7289,7 +7289,7 @@ - See top the Lightning network nodes ranked by liquidity, connectivity, and age. + See the top Lightning network nodes ranked by liquidity, connectivity, and age. src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts 23 From 2584a1f2b00e0808fb068179dd8b52944cda26c8 Mon Sep 17 00:00:00 2001 From: ncois Date: Thu, 30 Nov 2023 19:04:14 +0100 Subject: [PATCH 270/639] Add date and timestamp search option --- .../search-form/search-form.component.ts | 19 ++++++++++++++++++- .../search-results.component.html | 12 ++++++++++++ frontend/src/app/services/api.service.ts | 4 ++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index 902379552..a99dc084e 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -40,6 +40,8 @@ export class SearchFormComponent implements OnInit { regexBlockhash = /^[0]{8}[a-fA-F0-9]{56}$/; regexTransaction = /^([a-fA-F0-9]{64})(:\d+)?$/; regexBlockheight = /^[0-9]{1,9}$/; + regexDate = /^(?:\d{4}[-/]\d{1,2}[-/]\d{1,2}(?: \d{1,2}:\d{2})?)$/; + regexUnixTimestamp = /^\d{10}$/; focus$ = new Subject(); click$ = new Subject(); @@ -173,6 +175,8 @@ export class SearchFormComponent implements OnInit { const lightningResults = result[1]; const matchesBlockHeight = this.regexBlockheight.test(searchText); + const matchesDateTime = this.regexDate.test(searchText) && new Date(searchText).toString() !== 'Invalid Date'; + const matchesUnixTimestamp = this.regexUnixTimestamp.test(searchText); const matchesTxId = this.regexTransaction.test(searchText) && !this.regexBlockhash.test(searchText); const matchesBlockHash = this.regexBlockhash.test(searchText); const matchesAddress = !matchesTxId && this.regexAddress.test(searchText); @@ -181,10 +185,16 @@ export class SearchFormComponent implements OnInit { searchText = 'B' + searchText; } + if (matchesDateTime && searchText.indexOf('/') !== -1) { + searchText = searchText.replace(/\//g, '-'); + } + return { searchText: searchText, - hashQuickMatch: +(matchesBlockHeight || matchesBlockHash || matchesTxId || matchesAddress), + hashQuickMatch: +(matchesBlockHeight || matchesBlockHash || matchesTxId || matchesAddress || matchesUnixTimestamp || matchesDateTime), blockHeight: matchesBlockHeight, + dateTime: matchesDateTime, + unixTimestamp: matchesUnixTimestamp, txId: matchesTxId, blockHash: matchesBlockHash, address: matchesAddress, @@ -243,6 +253,13 @@ export class SearchFormComponent implements OnInit { } else { this.navigate('/tx/', matches[0]); } + } else if (this.regexDate.test(searchText) || this.regexUnixTimestamp.test(searchText)) { + let timestamp: number; + this.regexDate.test(searchText) ? timestamp = Math.floor(new Date(searchText).getTime() / 1000) : timestamp = searchText; + this.apiService.getBlockDataFromTimestamp$(timestamp).subscribe( + (data) => { this.navigate('/block/', data.hash); }, + (error) => { console.log(error); this.isSearching = false; } + ); } else { this.searchResults.searchButtonClick(); this.isSearching = false; diff --git a/frontend/src/app/components/search-form/search-results/search-results.component.html b/frontend/src/app/components/search-form/search-results/search-results.component.html index b0d043f53..d4f68edbd 100644 --- a/frontend/src/app/components/search-form/search-results/search-results.component.html +++ b/frontend/src/app/components/search-form/search-results/search-results.component.html @@ -5,6 +5,18 @@ + +
Date
+ +
+ +
Timestamp
+ +
Bitcoin Transaction
-
\ No newline at end of file +
+ + \ No newline at end of file diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss index 2e2b19ee8..8a5baa52a 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss @@ -109,4 +109,14 @@ .item { white-space: initial; +} + +.dismiss-preview { + position: absolute; + top: 0.4em; + right: 0.6em; +} + +:host ::ng-deep .alert { + margin-right: 1.6em; } \ No newline at end of file diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts index 530977c71..882dbe73f 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, Input, OnDestroy, OnChanges, SimpleChanges, HostListener, ChangeDetectorRef } from '@angular/core'; +import { Component, OnInit, Input, OnDestroy, OnChanges, SimpleChanges, HostListener, ChangeDetectorRef, Output, EventEmitter } from '@angular/core'; import { ApiService } from '../../services/api.service'; import { Subscription, catchError, of, tap } from 'rxjs'; import { StorageService } from '../../services/storage.service'; @@ -40,6 +40,7 @@ export const MAX_BID_RATIO = 4; export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges { @Input() tx: Transaction | undefined; @Input() scrollEvent: boolean; + @Output() dismiss = new EventEmitter(); math = Math; error = ''; @@ -207,4 +208,8 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges onResize(): void { this.isMobile = window.innerWidth <= 767.98; } + + onDismiss(): void { + this.dismiss.emit(); + } } \ No newline at end of file diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 61f9e7f86..25af4194f 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -87,7 +87,7 @@

Accelerate

- +
From 9fcafeeeb0347f48e1dfdd6f6a314430a4f1b2d8 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 1 Dec 2023 14:32:05 +0900 Subject: [PATCH 272/639] Switch to toggle-style acceleration dismiss button --- .../accelerate-preview.component.html | 6 +----- .../accelerate-preview.component.scss | 10 ---------- .../accelerate-preview/accelerate-preview.component.ts | 7 +------ .../components/transaction/transaction.component.html | 8 ++++++-- .../components/transaction/transaction.component.scss | 2 +- 5 files changed, 9 insertions(+), 24 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index eb92114b2..e40d6b5c9 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -238,8 +238,4 @@
-
- - \ No newline at end of file +
\ No newline at end of file diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss index 8a5baa52a..2e2b19ee8 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.scss @@ -109,14 +109,4 @@ .item { white-space: initial; -} - -.dismiss-preview { - position: absolute; - top: 0.4em; - right: 0.6em; -} - -:host ::ng-deep .alert { - margin-right: 1.6em; } \ No newline at end of file diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts index 882dbe73f..530977c71 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, Input, OnDestroy, OnChanges, SimpleChanges, HostListener, ChangeDetectorRef, Output, EventEmitter } from '@angular/core'; +import { Component, OnInit, Input, OnDestroy, OnChanges, SimpleChanges, HostListener, ChangeDetectorRef } from '@angular/core'; import { ApiService } from '../../services/api.service'; import { Subscription, catchError, of, tap } from 'rxjs'; import { StorageService } from '../../services/storage.service'; @@ -40,7 +40,6 @@ export const MAX_BID_RATIO = 4; export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges { @Input() tx: Transaction | undefined; @Input() scrollEvent: boolean; - @Output() dismiss = new EventEmitter(); math = Math; error = ''; @@ -208,8 +207,4 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges onResize(): void { this.isMobile = window.innerWidth <= 767.98; } - - onDismiss(): void { - this.dismiss.emit(); - } } \ No newline at end of file diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 25af4194f..2d1b31a5a 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -83,11 +83,15 @@ -
+
+

Accelerate

+ +
+
- +
diff --git a/frontend/src/app/components/transaction/transaction.component.scss b/frontend/src/app/components/transaction/transaction.component.scss index 8f6c5111b..542c2601d 100644 --- a/frontend/src/app/components/transaction/transaction.component.scss +++ b/frontend/src/app/components/transaction/transaction.component.scss @@ -179,7 +179,7 @@ } } -.details-button, .flow-toggle { +.details-button, .flow-toggle, .accelerator-toggle { margin-top: -5px; margin-left: 10px; @media (min-width: 768px){ From 851e07b50b856dca1b83e4fc9daff73d31b9cc89 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 1 Dec 2023 18:12:59 +0900 Subject: [PATCH 273/639] Fix liquid minfee defaults --- backend/src/api/mempool.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/api/mempool.ts b/backend/src/api/mempool.ts index 60bcd2f99..568590406 100644 --- a/backend/src/api/mempool.ts +++ b/backend/src/api/mempool.ts @@ -18,7 +18,7 @@ class Mempool { private mempoolCache: { [txId: string]: MempoolTransactionExtended } = {}; private spendMap = new Map(); private mempoolInfo: IBitcoinApi.MempoolInfo = { loaded: false, size: 0, bytes: 0, usage: 0, total_fee: 0, - maxmempool: 300000000, mempoolminfee: 0.00001000, minrelaytxfee: 0.00001000 }; + maxmempool: 300000000, mempoolminfee: Common.isLiquid() ? 0.00000100 : 0.00001000, minrelaytxfee: Common.isLiquid() ? 0.00000100 : 0.00001000 }; private mempoolChangedCallback: ((newMempool: {[txId: string]: MempoolTransactionExtended; }, newTransactions: MempoolTransactionExtended[], deletedTransactions: MempoolTransactionExtended[], accelerationDelta: string[]) => void) | undefined; private $asyncMempoolChangedCallback: ((newMempool: {[txId: string]: MempoolTransactionExtended; }, mempoolSize: number, newTransactions: MempoolTransactionExtended[], From 0a702734564cdd1d97e5be2fd09c330de55ccce2 Mon Sep 17 00:00:00 2001 From: ncois Date: Fri, 1 Dec 2023 12:57:30 +0100 Subject: [PATCH 274/639] Pool chart: show power of ten of hashrate on desktop --- frontend/src/app/components/pool/pool.component.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/components/pool/pool.component.ts b/frontend/src/app/components/pool/pool.component.ts index 86fdeda18..e3dd55fa1 100644 --- a/frontend/src/app/components/pool/pool.component.ts +++ b/frontend/src/app/components/pool/pool.component.ts @@ -163,10 +163,8 @@ export class PoolComponent implements OnInit { let hashratePowerOfTen: any = selectPowerOfTen(1); let hashrate = ticks[0].data[1]; - if (this.isMobile()) { - hashratePowerOfTen = selectPowerOfTen(ticks[0].data[1]); - hashrate = Math.round(ticks[0].data[1] / hashratePowerOfTen.divider); - } + hashratePowerOfTen = selectPowerOfTen(ticks[0].data[1]); + hashrate = Math.round(ticks[0].data[1] / hashratePowerOfTen.divider); return ` ${ticks[0].axisValueLabel}
From cd8e3e2604c4102e7c7f7c2265ce962cfdb008ad Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sat, 2 Dec 2023 03:08:42 +0000 Subject: [PATCH 275/639] Fix liquid fee rounding --- backend/src/api/fee-api.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/src/api/fee-api.ts b/backend/src/api/fee-api.ts index 97dfc29d2..5260e959a 100644 --- a/backend/src/api/fee-api.ts +++ b/backend/src/api/fee-api.ts @@ -15,11 +15,12 @@ class FeeApi { constructor() { } defaultFee = Common.isLiquid() ? 0.1 : 1; + minimumIncrement = Common.isLiquid() ? 0.1 : 1; public getRecommendedFee(): RecommendedFees { const pBlocks = projectedBlocks.getMempoolBlocks(); const mPool = mempool.getMempoolInfo(); - const minimumFee = Math.ceil(mPool.mempoolminfee * 100000); + const minimumFee = this.roundUpToNearest(mPool.mempoolminfee * 100000, this.minimumIncrement); const defaultMinFee = Math.max(minimumFee, this.defaultFee); if (!pBlocks.length) { @@ -58,7 +59,11 @@ class FeeApi { const multiplier = (pBlock.blockVSize - 500000) / 500000; return Math.max(Math.round(useFee * multiplier), this.defaultFee); } - return Math.ceil(useFee); + return this.roundUpToNearest(useFee, this.minimumIncrement); + } + + private roundUpToNearest(value: number, nearest: number): number { + return Math.ceil(value / nearest) * nearest; } } From b2e9275ad939c1ca021b2e0de0feda5ea24b556b Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 3 Dec 2023 17:34:31 +0900 Subject: [PATCH 276/639] Upgrading fontawesome --- frontend/package-lock.json | 1323 ++++++++++++++++++++++-------------- frontend/package.json | 8 +- 2 files changed, 827 insertions(+), 504 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 4d95f8af8..b02ee1c50 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -22,9 +22,9 @@ "@angular/platform-server": "^16.2.2", "@angular/router": "^16.2.2", "@fortawesome/angular-fontawesome": "~0.13.0", - "@fortawesome/fontawesome-common-types": "~6.4.0", - "@fortawesome/fontawesome-svg-core": "~6.5.0", - "@fortawesome/free-solid-svg-icons": "~6.4.0", + "@fortawesome/fontawesome-common-types": "~6.5.1", + "@fortawesome/fontawesome-svg-core": "~6.5.1", + "@fortawesome/free-solid-svg-icons": "~6.5.1", "@mempool/mempool.js": "2.3.0", "@ng-bootstrap/ng-bootstrap": "^15.1.0", "@types/qrcode": "~1.5.0", @@ -38,7 +38,7 @@ "ngx-infinite-scroll": "^16.0.0", "qrcode": "1.5.1", "rxjs": "~7.8.1", - "tinyify": "^4.0.0", + "tinyify": "^3.1.0", "tlite": "^0.1.9", "tslib": "~2.6.0", "zone.js": "~0.13.1" @@ -2947,89 +2947,6 @@ "node": ">=6.9.0" } }, - "node_modules/@browserify/envify": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@browserify/envify/-/envify-6.0.0.tgz", - "integrity": "sha512-ovxHR0KTsRCyMNwD7MGV0+VCU1sT6Ds+itC4DaQHM41eUId+w5Jd0qlhLVoDkkIVBnkY3BAAM8yb2QfpBlHkPw==", - "dependencies": { - "acorn-node": "^2.0.1", - "dash-ast": "^2.0.1", - "multisplice": "^1.0.0", - "through2": "^4.0.2" - }, - "bin": { - "envify": "bin/envify" - } - }, - "node_modules/@browserify/envify/node_modules/acorn-node": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-2.0.1.tgz", - "integrity": "sha512-VLR5sHqjk+8c5hrKeP2fWaIHb8eewsoxnZ8r2qpwRHXMHuC7KyOPflnOx9dLssVQUurzJ7rO0OzIFjHcndafWw==", - "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "node_modules/@browserify/envify/node_modules/dash-ast": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-2.0.1.tgz", - "integrity": "sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ==" - }, - "node_modules/@browserify/envify/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@browserify/envify/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/@browserify/uglifyify": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@browserify/uglifyify/-/uglifyify-6.0.0.tgz", - "integrity": "sha512-48M2a3novsgKhUSo/B3ja10awc7unliK1HfW6aYBJdLFQj3wXDx9BBJVfj6MVYERSQVEVjNHQQ7IK89h4MpCLw==", - "dependencies": { - "convert-source-map": "^1.9.0", - "minimatch": "^3.0.2", - "terser": "^5.15.1", - "through2": "^4.0.2", - "xtend": "^4.0.1" - } - }, - "node_modules/@browserify/uglifyify/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@browserify/uglifyify/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dependencies": { - "readable-stream": "3" - } - }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -3550,42 +3467,33 @@ } }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz", - "integrity": "sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.1.tgz", + "integrity": "sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A==", "hasInstallScript": true, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.0.tgz", - "integrity": "sha512-5DrR+oxQr+ruRQ3CEVV8DSCT/q8Atm56+FzAs0P6eW/epW47OmecSpSwc/YTlJ3u5BfPKUBSGyPR2qjZ+5eIgA==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.1.tgz", + "integrity": "sha512-MfRCYlQPXoLlpem+egxjfkEuP9UQswTrlCOsknus/NcMoblTH2g0jPrapbcIb04KGA7E2GZxbAccGZfWoYgsrQ==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.0" + "@fortawesome/fontawesome-common-types": "6.5.1" }, "engines": { "node": ">=6" } }, - "node_modules/@fortawesome/fontawesome-svg-core/node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.0.tgz", - "integrity": "sha512-vYC8oN2l8meu05sRi1j3Iie/HNFAeIxpitYFhsUrBc11TxiMken9QdXnSQ0q16FYsOSt/6soxs5ghdk+VYGiog==", - "hasInstallScript": true, - "engines": { - "node": ">=6" - } - }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz", - "integrity": "sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.1.tgz", + "integrity": "sha512-S1PPfU3mIJa59biTtXJz1oI0+KAXW6bkAb31XKhxdxtuXDiUIFsih4JR1v5BbxY7hVHsD1RKq+jRkVRaf773NQ==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "6.4.0" + "@fortawesome/fontawesome-common-types": "6.5.1" }, "engines": { "node": ">=6" @@ -3609,6 +3517,35 @@ "ms": "^2.1.1" } }, + "node_modules/@goto-bus-stop/envify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@goto-bus-stop/envify/-/envify-5.0.0.tgz", + "integrity": "sha512-xAnxuDWmwQxO8CgVuPTxKuNsKDfwyXXTyAabG4sNoK59H/ZMC7BHxTA/4ehtinsxbcH7/9L65F5VhyNdQfUyqA==", + "dependencies": { + "acorn-node": "^2.0.1", + "dash-ast": "^2.0.1", + "multisplice": "^1.0.0", + "through2": "^2.0.5" + }, + "bin": { + "envify": "bin/envify" + } + }, + "node_modules/@goto-bus-stop/envify/node_modules/acorn-node": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-2.0.1.tgz", + "integrity": "sha512-VLR5sHqjk+8c5hrKeP2fWaIHb8eewsoxnZ8r2qpwRHXMHuC7KyOPflnOx9dLssVQUurzJ7rO0OzIFjHcndafWw==", + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/@goto-bus-stop/envify/node_modules/dash-ast": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-2.0.1.tgz", + "integrity": "sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ==" + }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -3835,14 +3772,6 @@ "ws": "8.3.0" } }, - "node_modules/@mempool/mempool.js/node_modules/axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "dependencies": { - "follow-redirects": "^1.14.4" - } - }, "node_modules/@mempool/mempool.js/node_modules/ws": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.3.0.tgz", @@ -5421,27 +5350,11 @@ "optional": true }, "node_modules/axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", - "optional": true, + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", "dependencies": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" - } - }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "optional": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" + "follow-redirects": "^1.14.4" } }, "node_modules/babel-loader": { @@ -6277,6 +6190,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-matcher": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-2.0.0.tgz", + "integrity": "sha512-CIDC5wZZfZ2VjZu849WQckS58Z3pJXFfRaSjNjgo/q3in5zxkhTwVL83vttgtmvyLG7TuDlLlBya7SKP6CjDIA==", + "dependencies": { + "deep-equal": "^1.0.0", + "espurify": "^2.0.0", + "estraverse": "^4.0.0" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -7491,11 +7414,29 @@ "node": ">=0.12" } }, + "node_modules/deep-equal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", + "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", + "dependencies": { + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "node_modules/default-gateway": { "version": "6.0.3", @@ -7516,6 +7457,19 @@ "clone": "^1.0.2" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -7525,14 +7479,19 @@ } }, "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dependencies": { - "object-keys": "^1.0.12" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/defined": { @@ -8702,6 +8661,11 @@ "node": ">=4" } }, + "node_modules/espurify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-2.1.1.tgz", + "integrity": "sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==" + }, "node_modules/esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", @@ -9136,8 +9100,7 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "node_modules/fast-safe-stringify": { "version": "2.0.7", @@ -9305,9 +9268,9 @@ "devOptional": true }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "funding": [ { "type": "individual", @@ -9478,9 +9441,20 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gauge": { "version": "4.0.4", @@ -9531,13 +9505,14 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9673,6 +9648,17 @@ "delegate": "^3.1.2" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", @@ -9746,10 +9732,46 @@ "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, "engines": { "node": ">= 0.4" }, @@ -9816,6 +9838,17 @@ "minimalistic-assert": "^1.0.1" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hdr-histogram-js": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", @@ -10373,11 +10406,12 @@ } }, "node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dependencies": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -10464,9 +10498,12 @@ } }, "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -10622,12 +10659,12 @@ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" }, "node_modules/is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -10852,9 +10889,9 @@ } }, "node_modules/joi": { - "version": "17.9.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", - "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", "optional": true, "dependencies": { "@hapi/hoek": "^9.0.0", @@ -11380,6 +11417,18 @@ "node": ">=0.10.0" } }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/license-webpack-plugin": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", @@ -12250,9 +12299,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multi-stage-sourcemap": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.3.1.tgz", - "integrity": "sha512-UiTLYjqeIoVnJHyWGskwMKIhtZKK9uXUjSTWuwatarrc0d2H/6MAVFdwvEA/aKOHamIn7z4tfvxjz+FYucFpNQ==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz", + "integrity": "sha512-umaOM+8BZByZIB/ciD3dQLzTv50rEkkGJV78ta/tIVc/J/rfGZY5y1R+fBD3oTaolx41mK8rRcyGtYbDXlzx8Q==", "dependencies": { "source-map": "^0.1.34" } @@ -12765,6 +12814,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -12862,6 +12926,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", @@ -13569,6 +13649,14 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/prettier": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", @@ -14034,6 +14122,22 @@ "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -14611,6 +14715,19 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -15137,9 +15254,9 @@ } }, "node_modules/start-server-and-test": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.0.tgz", - "integrity": "sha512-UqKLw0mJbfrsG1jcRLTUlvuRi9sjNuUiDOLI42r7R5fA9dsFoywAy9DoLXNYys9B886E4RCKb+qM1Gzu96h7DQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.3.tgz", + "integrity": "sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==", "optional": true, "dependencies": { "arg": "^5.0.2", @@ -15149,7 +15266,7 @@ "execa": "5.1.1", "lazy-ass": "1.6.0", "ps-tree": "1.2.0", - "wait-on": "7.0.1" + "wait-on": "7.2.0" }, "bin": { "server-test": "src/bin/start.js", @@ -15157,7 +15274,7 @@ "start-test": "src/bin/start.js" }, "engines": { - "node": ">=6" + "node": ">=16" } }, "node_modules/start-server-and-test/node_modules/arg": { @@ -15572,70 +15689,30 @@ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" }, "node_modules/tinyify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tinyify/-/tinyify-4.0.0.tgz", - "integrity": "sha512-jNDxImwUrJJAU2NyGG144J8aWx2ni39UuBo7ppCXFRmhSH0CbpWL4HgjNvrsAW05WQAgNZePwAlEemNuB+byaA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyify/-/tinyify-3.1.0.tgz", + "integrity": "sha512-r4tHoDkWhhoItWbxJ3KCHXask3hJN7gCUkR5PLfnQzQagTA6oDkzhCbiEDHkMqo7Ck7vVSA1pTP1gDc9p1AC1w==", "dependencies": { - "@browserify/envify": "^6.0.0", - "@browserify/uglifyify": "^6.0.0", + "@goto-bus-stop/envify": "^5.0.0", + "acorn-node": "^1.8.2", "browser-pack-flat": "^3.0.9", "bundle-collapser": "^1.3.0", "common-shakeify": "^1.1.1", + "dash-ast": "^1.0.0", "minify-stream": "^2.0.1", "multisplice": "^1.0.0", - "terser": "3.16.1", - "through2": "^4.0.2", - "unassertify": "^3.0.1" - } - }, - "node_modules/tinyify/node_modules/commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" - }, - "node_modules/tinyify/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tinyify/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tinyify/node_modules/terser": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz", - "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==", - "dependencies": { - "commander": "~2.17.1", - "source-map": "~0.6.1", - "source-map-support": "~0.5.9" - }, - "bin": { - "terser": "bin/uglifyjs" - }, - "engines": { - "node": ">=6.0.0" + "through2": "^3.0.1", + "uglifyify": "^5.0.0", + "unassertify": "^2.1.1" } }, "node_modules/tinyify/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", "dependencies": { - "readable-stream": "3" + "inherits": "^2.0.4", + "readable-stream": "2 || 3" } }, "node_modules/tlite": { @@ -15908,6 +15985,17 @@ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -15982,6 +16070,47 @@ "node": "*" } }, + "node_modules/uglifyify": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz", + "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==", + "dependencies": { + "convert-source-map": "~1.1.0", + "minimatch": "^3.0.2", + "terser": "^3.7.5", + "through": "~2.3.4", + "xtend": "^4.0.1" + } + }, + "node_modules/uglifyify/node_modules/convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==" + }, + "node_modules/uglifyify/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglifyify/node_modules/terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "dependencies": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "bin": { + "terser": "bin/uglifyjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/umd": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", @@ -15991,38 +16120,36 @@ } }, "node_modules/unassert": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unassert/-/unassert-2.0.2.tgz", - "integrity": "sha512-P6OOg/aRdQmWH+b0g+T4U+9MgL+DG7w6oQPG+N3F2IMuvvd1WfZ5alT/Rjik2lMFVyhfACUxF7PGP1VCwSHlQA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/unassert/-/unassert-1.6.0.tgz", + "integrity": "sha512-GoMtWTwGSxSFuRD0NKmbjlx3VJkgvSogzDzMPpJXYmBZv6MIWButsyMqEYhMx3NI4osXACcZA9mXiBteXyJtRw==", "dependencies": { - "estraverse": "^5.0.0" - } - }, - "node_modules/unassert/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" + "acorn": "^7.0.0", + "call-matcher": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^2.0.1", + "estraverse": "^4.1.0", + "esutils": "^2.0.2", + "object-assign": "^4.1.0" } }, "node_modules/unassertify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/unassertify/-/unassertify-3.0.1.tgz", - "integrity": "sha512-461ykSPY3oWU+39J5haiq7S/hcYy1oGJ2nHU92lqdL3jft+pSU6oAbb7o6VVmM7nZGLqppszgyzfpCnRBFgFtw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/unassertify/-/unassertify-2.1.1.tgz", + "integrity": "sha512-YIAaIlc6/KC9Oib8cVZLlpDDhK1UTEuaDyx9BwD97xqxDZC0cJOqwFcs/Y6K3m73B5VzHsRTBLXNO0dxS/GkTw==", "dependencies": { - "acorn": "^8.0.0", + "acorn": "^5.1.0", "convert-source-map": "^1.1.1", - "escodegen": "^2.0.0", - "multi-stage-sourcemap": "^0.3.1", + "escodegen": "^1.6.1", + "multi-stage-sourcemap": "^0.2.1", "through": "^2.3.7", - "unassert": "^2.0.0" + "unassert": "^1.3.1" } }, "node_modules/unassertify/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "bin": { "acorn": "bin/acorn" }, @@ -16030,6 +16157,36 @@ "node": ">=0.4.0" } }, + "node_modules/unassertify/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/unassertify/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", @@ -16362,16 +16519,16 @@ } }, "node_modules/wait-on": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.0.1.tgz", - "integrity": "sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", + "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", "optional": true, "dependencies": { - "axios": "^0.27.2", - "joi": "^17.7.0", + "axios": "^1.6.1", + "joi": "^17.11.0", "lodash": "^4.17.21", - "minimist": "^1.2.7", - "rxjs": "^7.8.0" + "minimist": "^1.2.8", + "rxjs": "^7.8.1" }, "bin": { "wait-on": "bin/wait-on" @@ -16380,6 +16537,37 @@ "node": ">=12.0.0" } }, + "node_modules/wait-on/node_modules/axios": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "optional": true, + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/wait-on/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "optional": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/wait-on/node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "optional": true + }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", @@ -16779,6 +16967,14 @@ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -18960,84 +19156,6 @@ "to-fast-properties": "^2.0.0" } }, - "@browserify/envify": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@browserify/envify/-/envify-6.0.0.tgz", - "integrity": "sha512-ovxHR0KTsRCyMNwD7MGV0+VCU1sT6Ds+itC4DaQHM41eUId+w5Jd0qlhLVoDkkIVBnkY3BAAM8yb2QfpBlHkPw==", - "requires": { - "acorn-node": "^2.0.1", - "dash-ast": "^2.0.1", - "multisplice": "^1.0.0", - "through2": "^4.0.2" - }, - "dependencies": { - "acorn-node": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-2.0.1.tgz", - "integrity": "sha512-VLR5sHqjk+8c5hrKeP2fWaIHb8eewsoxnZ8r2qpwRHXMHuC7KyOPflnOx9dLssVQUurzJ7rO0OzIFjHcndafWw==", - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "dash-ast": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-2.0.1.tgz", - "integrity": "sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ==" - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "requires": { - "readable-stream": "3" - } - } - } - }, - "@browserify/uglifyify": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@browserify/uglifyify/-/uglifyify-6.0.0.tgz", - "integrity": "sha512-48M2a3novsgKhUSo/B3ja10awc7unliK1HfW6aYBJdLFQj3wXDx9BBJVfj6MVYERSQVEVjNHQQ7IK89h4MpCLw==", - "requires": { - "convert-source-map": "^1.9.0", - "minimatch": "^3.0.2", - "terser": "^5.15.1", - "through2": "^4.0.2", - "xtend": "^4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "requires": { - "readable-stream": "3" - } - } - } - }, "@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -19322,31 +19440,24 @@ } }, "@fortawesome/fontawesome-common-types": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz", - "integrity": "sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==" + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.1.tgz", + "integrity": "sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A==" }, "@fortawesome/fontawesome-svg-core": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.0.tgz", - "integrity": "sha512-5DrR+oxQr+ruRQ3CEVV8DSCT/q8Atm56+FzAs0P6eW/epW47OmecSpSwc/YTlJ3u5BfPKUBSGyPR2qjZ+5eIgA==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.1.tgz", + "integrity": "sha512-MfRCYlQPXoLlpem+egxjfkEuP9UQswTrlCOsknus/NcMoblTH2g0jPrapbcIb04KGA7E2GZxbAccGZfWoYgsrQ==", "requires": { - "@fortawesome/fontawesome-common-types": "6.5.0" - }, - "dependencies": { - "@fortawesome/fontawesome-common-types": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.0.tgz", - "integrity": "sha512-vYC8oN2l8meu05sRi1j3Iie/HNFAeIxpitYFhsUrBc11TxiMken9QdXnSQ0q16FYsOSt/6soxs5ghdk+VYGiog==" - } + "@fortawesome/fontawesome-common-types": "6.5.1" } }, "@fortawesome/free-solid-svg-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz", - "integrity": "sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.1.tgz", + "integrity": "sha512-S1PPfU3mIJa59biTtXJz1oI0+KAXW6bkAb31XKhxdxtuXDiUIFsih4JR1v5BbxY7hVHsD1RKq+jRkVRaf773NQ==", "requires": { - "@fortawesome/fontawesome-common-types": "6.4.0" + "@fortawesome/fontawesome-common-types": "6.5.1" } }, "@goto-bus-stop/common-shake": { @@ -19369,6 +19480,34 @@ } } }, + "@goto-bus-stop/envify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@goto-bus-stop/envify/-/envify-5.0.0.tgz", + "integrity": "sha512-xAnxuDWmwQxO8CgVuPTxKuNsKDfwyXXTyAabG4sNoK59H/ZMC7BHxTA/4ehtinsxbcH7/9L65F5VhyNdQfUyqA==", + "requires": { + "acorn-node": "^2.0.1", + "dash-ast": "^2.0.1", + "multisplice": "^1.0.0", + "through2": "^2.0.5" + }, + "dependencies": { + "acorn-node": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-2.0.1.tgz", + "integrity": "sha512-VLR5sHqjk+8c5hrKeP2fWaIHb8eewsoxnZ8r2qpwRHXMHuC7KyOPflnOx9dLssVQUurzJ7rO0OzIFjHcndafWw==", + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "dash-ast": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-2.0.1.tgz", + "integrity": "sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ==" + } + } + }, "@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -19539,14 +19678,6 @@ "ws": "8.3.0" }, "dependencies": { - "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "requires": { - "follow-redirects": "^1.14.4" - } - }, "ws": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.3.0.tgz", @@ -20766,26 +20897,11 @@ "optional": true }, "axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", - "optional": true, + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", "requires": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "optional": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } + "follow-redirects": "^1.14.4" } }, "babel-loader": { @@ -21446,6 +21562,16 @@ "get-intrinsic": "^1.0.2" } }, + "call-matcher": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-2.0.0.tgz", + "integrity": "sha512-CIDC5wZZfZ2VjZu849WQckS58Z3pJXFfRaSjNjgo/q3in5zxkhTwVL83vttgtmvyLG7TuDlLlBya7SKP6CjDIA==", + "requires": { + "deep-equal": "^1.0.0", + "espurify": "^2.0.0", + "estraverse": "^4.0.0" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -22372,11 +22498,23 @@ "type-detect": "^4.0.0" } }, + "deep-equal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", + "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", + "requires": { + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" + } + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "default-gateway": { "version": "6.0.3", @@ -22394,17 +22532,29 @@ "clone": "^1.0.2" } }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, "define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" }, "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "requires": { - "object-keys": "^1.0.12" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "defined": { @@ -23311,6 +23461,11 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, + "espurify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-2.1.1.tgz", + "integrity": "sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==" + }, "esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", @@ -23668,8 +23823,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fast-safe-stringify": { "version": "2.0.7", @@ -23803,9 +23957,9 @@ "devOptional": true }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" }, "foreach": { "version": "2.0.5", @@ -23920,9 +24074,14 @@ "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" }, "gauge": { "version": "4.0.4", @@ -23961,13 +24120,14 @@ "optional": true }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, "get-package-type": { @@ -24066,6 +24226,14 @@ "delegate": "^3.1.2" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", @@ -24123,10 +24291,31 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "requires": { + "get-intrinsic": "^1.2.2" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } }, "has-unicode": { "version": "2.0.1", @@ -24169,6 +24358,14 @@ "minimalistic-assert": "^1.0.1" } }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, "hdr-histogram-js": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", @@ -24580,11 +24777,12 @@ "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" }, "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-arrayish": { @@ -24641,9 +24839,12 @@ } }, "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-docker": { "version": "2.2.1", @@ -24733,12 +24934,12 @@ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" }, "is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "requires": { "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" } }, "is-stream": { @@ -24887,9 +25088,9 @@ "integrity": "sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==" }, "joi": { - "version": "17.9.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", - "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", "optional": true, "requires": { "@hapi/hoek": "^9.0.0", @@ -25302,6 +25503,15 @@ "klona": "^2.0.4" } }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, "license-webpack-plugin": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", @@ -25967,9 +26177,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multi-stage-sourcemap": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.3.1.tgz", - "integrity": "sha512-UiTLYjqeIoVnJHyWGskwMKIhtZKK9uXUjSTWuwatarrc0d2H/6MAVFdwvEA/aKOHamIn7z4tfvxjz+FYucFpNQ==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz", + "integrity": "sha512-umaOM+8BZByZIB/ciD3dQLzTv50rEkkGJV78ta/tIVc/J/rfGZY5y1R+fBD3oTaolx41mK8rRcyGtYbDXlzx8Q==", "requires": { "source-map": "^0.1.34" }, @@ -26365,6 +26575,15 @@ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -26432,6 +26651,19 @@ "is-wsl": "^2.2.0" } }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, "ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", @@ -26917,6 +27149,11 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" + }, "prettier": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", @@ -27274,6 +27511,16 @@ "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" }, + "regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + } + }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -27700,6 +27947,16 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -28096,9 +28353,9 @@ } }, "start-server-and-test": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.0.tgz", - "integrity": "sha512-UqKLw0mJbfrsG1jcRLTUlvuRi9sjNuUiDOLI42r7R5fA9dsFoywAy9DoLXNYys9B886E4RCKb+qM1Gzu96h7DQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.3.tgz", + "integrity": "sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==", "optional": true, "requires": { "arg": "^5.0.2", @@ -28108,7 +28365,7 @@ "execa": "5.1.1", "lazy-ass": "1.6.0", "ps-tree": "1.2.0", - "wait-on": "7.0.1" + "wait-on": "7.2.0" }, "dependencies": { "arg": { @@ -28425,58 +28682,30 @@ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" }, "tinyify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tinyify/-/tinyify-4.0.0.tgz", - "integrity": "sha512-jNDxImwUrJJAU2NyGG144J8aWx2ni39UuBo7ppCXFRmhSH0CbpWL4HgjNvrsAW05WQAgNZePwAlEemNuB+byaA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyify/-/tinyify-3.1.0.tgz", + "integrity": "sha512-r4tHoDkWhhoItWbxJ3KCHXask3hJN7gCUkR5PLfnQzQagTA6oDkzhCbiEDHkMqo7Ck7vVSA1pTP1gDc9p1AC1w==", "requires": { - "@browserify/envify": "^6.0.0", - "@browserify/uglifyify": "^6.0.0", + "@goto-bus-stop/envify": "^5.0.0", + "acorn-node": "^1.8.2", "browser-pack-flat": "^3.0.9", "bundle-collapser": "^1.3.0", "common-shakeify": "^1.1.1", + "dash-ast": "^1.0.0", "minify-stream": "^2.0.1", "multisplice": "^1.0.0", - "terser": "3.16.1", - "through2": "^4.0.2", - "unassertify": "^3.0.1" + "through2": "^3.0.1", + "uglifyify": "^5.0.0", + "unassertify": "^2.1.1" }, "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "terser": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz", - "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==", - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1", - "source-map-support": "~0.5.9" - } - }, "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", "requires": { - "readable-stream": "3" + "inherits": "^2.0.4", + "readable-stream": "2 || 3" } } } @@ -28672,6 +28901,14 @@ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "requires": { + "prelude-ls": "~1.1.2" + } + }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -28714,43 +28951,94 @@ "optional": true, "peer": true }, + "uglifyify": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz", + "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==", + "requires": { + "convert-source-map": "~1.1.0", + "minimatch": "^3.0.2", + "terser": "^3.7.5", + "through": "~2.3.4", + "xtend": "^4.0.1" + }, + "dependencies": { + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "requires": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + } + } + } + }, "umd": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==" }, "unassert": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unassert/-/unassert-2.0.2.tgz", - "integrity": "sha512-P6OOg/aRdQmWH+b0g+T4U+9MgL+DG7w6oQPG+N3F2IMuvvd1WfZ5alT/Rjik2lMFVyhfACUxF7PGP1VCwSHlQA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/unassert/-/unassert-1.6.0.tgz", + "integrity": "sha512-GoMtWTwGSxSFuRD0NKmbjlx3VJkgvSogzDzMPpJXYmBZv6MIWButsyMqEYhMx3NI4osXACcZA9mXiBteXyJtRw==", "requires": { - "estraverse": "^5.0.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } + "acorn": "^7.0.0", + "call-matcher": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^2.0.1", + "estraverse": "^4.1.0", + "esutils": "^2.0.2", + "object-assign": "^4.1.0" } }, "unassertify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/unassertify/-/unassertify-3.0.1.tgz", - "integrity": "sha512-461ykSPY3oWU+39J5haiq7S/hcYy1oGJ2nHU92lqdL3jft+pSU6oAbb7o6VVmM7nZGLqppszgyzfpCnRBFgFtw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/unassertify/-/unassertify-2.1.1.tgz", + "integrity": "sha512-YIAaIlc6/KC9Oib8cVZLlpDDhK1UTEuaDyx9BwD97xqxDZC0cJOqwFcs/Y6K3m73B5VzHsRTBLXNO0dxS/GkTw==", "requires": { - "acorn": "^8.0.0", + "acorn": "^5.1.0", "convert-source-map": "^1.1.1", - "escodegen": "^2.0.0", - "multi-stage-sourcemap": "^0.3.1", + "escodegen": "^1.6.1", + "multi-stage-sourcemap": "^0.2.1", "through": "^2.3.7", - "unassert": "^2.0.0" + "unassert": "^1.3.1" }, "dependencies": { "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true } } }, @@ -28970,16 +29258,46 @@ } }, "wait-on": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.0.1.tgz", - "integrity": "sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", + "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", "optional": true, "requires": { - "axios": "^0.27.2", - "joi": "^17.7.0", + "axios": "^1.6.1", + "joi": "^17.11.0", "lodash": "^4.17.21", - "minimist": "^1.2.7", - "rxjs": "^7.8.0" + "minimist": "^1.2.8", + "rxjs": "^7.8.1" + }, + "dependencies": { + "axios": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "optional": true, + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "optional": true + } } }, "watchpack": { @@ -29247,6 +29565,11 @@ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==" + }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index f55798c5c..a4a4ac462 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -74,9 +74,9 @@ "@angular/platform-server": "^16.2.2", "@angular/router": "^16.2.2", "@fortawesome/angular-fontawesome": "~0.13.0", - "@fortawesome/fontawesome-common-types": "~6.4.0", - "@fortawesome/fontawesome-svg-core": "~6.5.0", - "@fortawesome/free-solid-svg-icons": "~6.4.0", + "@fortawesome/fontawesome-common-types": "~6.5.1", + "@fortawesome/fontawesome-svg-core": "~6.5.1", + "@fortawesome/free-solid-svg-icons": "~6.5.1", "@mempool/mempool.js": "2.3.0", "@ng-bootstrap/ng-bootstrap": "^15.1.0", "@types/qrcode": "~1.5.0", @@ -90,7 +90,7 @@ "ngx-infinite-scroll": "^16.0.0", "qrcode": "1.5.1", "rxjs": "~7.8.1", - "tinyify": "^4.0.0", + "tinyify": "^3.1.0", "tlite": "^0.1.9", "tslib": "~2.6.0", "zone.js": "~0.13.1" From c86768edc9a8317e80848d510ae0089c81ed4021 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Mon, 4 Dec 2023 16:59:29 +0900 Subject: [PATCH 277/639] [about] fix merge conflict #4425 --- .../components/about/about-sponsors.component.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/frontend/src/app/components/about/about-sponsors.component.ts b/frontend/src/app/components/about/about-sponsors.component.ts index 98e7d4384..31863cd8f 100644 --- a/frontend/src/app/components/about/about-sponsors.component.ts +++ b/frontend/src/app/components/about/about-sponsors.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; +import { EnterpriseService } from '../../services/enterprise.service'; @Component({ selector: 'app-about-sponsors', @@ -6,4 +7,16 @@ import { Component } from '@angular/core'; styleUrls: ['./about-sponsors.component.scss'], }) export class AboutSponsorsComponent { + constructor(private enterpriseService: EnterpriseService) { + } + + onSponsorClick(e): boolean { + this.enterpriseService.goal(5); + return true; + } + + onEnterpriseClick(e): boolean { + this.enterpriseService.goal(6); + return true; + } } From c216e849e6bebef47dc920b4e1bafebae60c06c5 Mon Sep 17 00:00:00 2001 From: ncois Date: Mon, 4 Dec 2023 09:56:56 +0100 Subject: [PATCH 278/639] Add more precision to hashrate graphs --- frontend/src/app/bitcoin.utils.ts | 14 +++++++------- .../hashrate-chart/hashrate-chart.component.ts | 8 ++++---- frontend/src/app/components/pool/pool.component.ts | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/bitcoin.utils.ts b/frontend/src/app/bitcoin.utils.ts index c4af730f6..d5b5122fa 100644 --- a/frontend/src/app/bitcoin.utils.ts +++ b/frontend/src/app/bitcoin.utils.ts @@ -225,7 +225,7 @@ const witnessSize = (vin: Vin) => vin.witness ? vin.witness.reduce((S, w) => S + const scriptSigSize = (vin: Vin) => vin.scriptsig ? vin.scriptsig.length / 2 : 0; // Power of ten wrapper -export function selectPowerOfTen(val: number): { divider: number, unit: string } { +export function selectPowerOfTen(val: number, multiplier = 1): { divider: number, unit: string } { const powerOfTen = { exa: Math.pow(10, 18), peta: Math.pow(10, 15), @@ -236,17 +236,17 @@ export function selectPowerOfTen(val: number): { divider: number, unit: string } }; let selectedPowerOfTen: { divider: number, unit: string }; - if (val < powerOfTen.kilo) { + if (val < powerOfTen.kilo * multiplier) { selectedPowerOfTen = { divider: 1, unit: '' }; // no scaling - } else if (val < powerOfTen.mega) { + } else if (val < powerOfTen.mega * multiplier) { selectedPowerOfTen = { divider: powerOfTen.kilo, unit: 'k' }; - } else if (val < powerOfTen.giga) { + } else if (val < powerOfTen.giga * multiplier) { selectedPowerOfTen = { divider: powerOfTen.mega, unit: 'M' }; - } else if (val < powerOfTen.tera) { + } else if (val < powerOfTen.tera * multiplier) { selectedPowerOfTen = { divider: powerOfTen.giga, unit: 'G' }; - } else if (val < powerOfTen.peta) { + } else if (val < powerOfTen.peta * multiplier) { selectedPowerOfTen = { divider: powerOfTen.tera, unit: 'T' }; - } else if (val < powerOfTen.exa) { + } else if (val < powerOfTen.exa * multiplier) { selectedPowerOfTen = { divider: powerOfTen.peta, unit: 'P' }; } else { selectedPowerOfTen = { divider: powerOfTen.exa, unit: 'E' }; diff --git a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts index 62c6961ce..9858807a6 100644 --- a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts +++ b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -249,8 +249,8 @@ export class HashrateChartComponent implements OnInit { for (const tick of ticks) { if (tick.seriesIndex === 0) { // Hashrate let hashrate = tick.data[1]; - hashratePowerOfTen = selectPowerOfTen(tick.data[1]); - hashrate = Math.round(tick.data[1] / hashratePowerOfTen.divider); + hashratePowerOfTen = selectPowerOfTen(tick.data[1], 10); + hashrate = tick.data[1] / hashratePowerOfTen.divider; hashrateString = `${tick.marker} ${tick.seriesName}: ${formatNumber(hashrate, this.locale, '1.0-0')} ${hashratePowerOfTen.unit}H/s
`; } else if (tick.seriesIndex === 1) { // Difficulty let difficultyPowerOfTen = hashratePowerOfTen; @@ -264,8 +264,8 @@ export class HashrateChartComponent implements OnInit { } } else if (tick.seriesIndex === 2) { // Hashrate MA let hashrate = tick.data[1]; - hashratePowerOfTen = selectPowerOfTen(tick.data[1]); - hashrate = Math.round(tick.data[1] / hashratePowerOfTen.divider); + hashratePowerOfTen = selectPowerOfTen(tick.data[1], 10); + hashrate = tick.data[1] / hashratePowerOfTen.divider; hashrateStringMA = `${tick.marker} ${tick.seriesName}: ${formatNumber(hashrate, this.locale, '1.0-0')} ${hashratePowerOfTen.unit}H/s`; } } diff --git a/frontend/src/app/components/pool/pool.component.ts b/frontend/src/app/components/pool/pool.component.ts index e3dd55fa1..e52abe433 100644 --- a/frontend/src/app/components/pool/pool.component.ts +++ b/frontend/src/app/components/pool/pool.component.ts @@ -163,8 +163,8 @@ export class PoolComponent implements OnInit { let hashratePowerOfTen: any = selectPowerOfTen(1); let hashrate = ticks[0].data[1]; - hashratePowerOfTen = selectPowerOfTen(ticks[0].data[1]); - hashrate = Math.round(ticks[0].data[1] / hashratePowerOfTen.divider); + hashratePowerOfTen = selectPowerOfTen(ticks[0].data[1], 10); + hashrate = ticks[0].data[1] / hashratePowerOfTen.divider; return ` ${ticks[0].axisValueLabel}
From 4da5910e0b086cd980e8b538b2a6fdc2cc2141e2 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Mon, 4 Dec 2023 23:23:51 +0900 Subject: [PATCH 279/639] [accel preview] only show waitlist message if logged in --- .../accelerate-preview/accelerate-preview.component.html | 4 ++-- .../accelerate-preview/accelerate-preview.component.ts | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index 891b81131..783ae8021 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -28,7 +28,7 @@
-
+
You are currently on the wait list
@@ -235,7 +235,7 @@
-
+
diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts index b73a168b6..f2224841a 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts @@ -56,6 +56,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges userBid = 0; selectFeeRateIndex = 1; isMobile: boolean = window.innerWidth <= 767.98; + user: any = undefined; maxRateOptions: RateOption[] = []; @@ -78,6 +79,8 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges } ngOnInit() { + this.user = this.storageService.getAuth()?.user ?? null; + this.estimateSubscription = this.apiService.estimate$(this.tx.txid).pipe( tap((response) => { if (response.status === 204) { From 63942af720bc3132d0efd65a4750547ec349652e Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Mon, 4 Dec 2023 23:30:22 +0900 Subject: [PATCH 280/639] wait list -> waitlist @softsimon --- .../accelerate-preview/accelerate-preview.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html index 783ae8021..455dffef4 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html @@ -29,7 +29,7 @@
-
You are currently on the wait list
+
You are currently on the waitlist
Your transaction
From 89eb7ec90baca76c4ca38eed82b2e59a205aebd7 Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 5 Dec 2023 05:29:18 +0900 Subject: [PATCH 281/639] ops: Enable accelerator in production config --- production/mempool-config.mainnet.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/production/mempool-config.mainnet.json b/production/mempool-config.mainnet.json index b2878ceef..0aa90aa9c 100644 --- a/production/mempool-config.mainnet.json +++ b/production/mempool-config.mainnet.json @@ -105,5 +105,9 @@ "node205.tk7.mempool.space", "node206.tk7.mempool.space" ] + }, + "MEMPOOL_SERVICES": { + "API": "https://mempool.space/api/v1/services", + "ACCELERATIONS": true } } From 5b4bc9fe199bb22ccf022ad478a9470793d67df2 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 5 Dec 2023 08:33:57 +0000 Subject: [PATCH 282/639] Accelerated tx audit badge --- .../block-overview-tooltip.component.html | 2 +- .../block-overview-tooltip.component.scss | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.html b/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.html index a53cfdc9c..a694a434a 100644 --- a/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.html +++ b/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -55,7 +55,7 @@
Added Marginal fee rate ConflictingAcceleratedAccelerated
Accelerated fee rateEffective fee rate
Accelerated fee rate +
+ +   + Accelerated +
+
Accelerated fee rateEffective fee rate
- + + +   + Accelerated +
diff --git a/frontend/src/app/components/transaction/transaction.component.scss b/frontend/src/app/components/transaction/transaction.component.scss index 542c2601d..d78edf85b 100644 --- a/frontend/src/app/components/transaction/transaction.component.scss +++ b/frontend/src/app/components/transaction/transaction.component.scss @@ -60,6 +60,11 @@ top: -1px; } +.badge.badge-accelerated { + background-color: #653b9c; + color: white; +} + .btn-small-height { line-height: 1; } diff --git a/frontend/src/app/components/transaction/transaction.component.ts b/frontend/src/app/components/transaction/transaction.component.ts index cf111468c..282b50968 100644 --- a/frontend/src/app/components/transaction/transaction.component.ts +++ b/frontend/src/app/components/transaction/transaction.component.ts @@ -21,7 +21,7 @@ import { ApiService } from '../../services/api.service'; import { SeoService } from '../../services/seo.service'; import { StorageService } from '../../services/storage.service'; import { seoDescriptionNetwork } from '../../shared/common.utils'; -import { BlockExtended, CpfpInfo, RbfTree, MempoolPosition, DifficultyAdjustment } from '../../interfaces/node-api.interface'; +import { BlockExtended, CpfpInfo, RbfTree, MempoolPosition, DifficultyAdjustment, Acceleration } from '../../interfaces/node-api.interface'; import { LiquidUnblinding } from './liquid-ublinding'; import { RelativeUrlPipe } from '../../shared/pipes/relative-url/relative-url.pipe'; import { Price, PriceService } from '../../services/price.service'; @@ -49,6 +49,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { fetchCpfpSubscription: Subscription; fetchRbfSubscription: Subscription; fetchCachedTxSubscription: Subscription; + fetchAccelerationSubscription: Subscription; txReplacedSubscription: Subscription; txRbfInfoSubscription: Subscription; mempoolPositionSubscription: Subscription; @@ -62,12 +63,14 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { rbfReplaces: string[]; rbfInfo: RbfTree; cpfpInfo: CpfpInfo | null; + accelerationInfo: Acceleration | null = null; sigops: number | null; adjustedVsize: number | null; showCpfpDetails = false; fetchCpfp$ = new Subject(); fetchRbfHistory$ = new Subject(); fetchCachedTx$ = new Subject(); + fetchAcceleration$ = new Subject(); isCached: boolean = false; now = Date.now(); da$: Observable; @@ -238,6 +241,24 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { } }); + this.fetchAccelerationSubscription = this.fetchAcceleration$.pipe( + tap(() => { + this.accelerationInfo = null; + }), + switchMap((blockHash: string) => { + return this.apiService.getAccelerationHistory$({ blockHash }); + }), + catchError(() => { + return of(null); + }) + ).subscribe((accelerationHistory) => { + for (const acceleration of accelerationHistory) { + if (acceleration.txid === this.txId) { + this.accelerationInfo = acceleration; + } + } + }); + this.mempoolPositionSubscription = this.stateService.mempoolTxPosition$.subscribe(txPosition => { this.now = Date.now(); if (txPosition && txPosition.txid === this.txId && txPosition.position) { @@ -365,6 +386,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { this.getTransactionTime(); } } else { + this.fetchAcceleration$.next(tx.status.block_hash); this.transactionTime = 0; } @@ -417,6 +439,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { }; this.stateService.markBlock$.next({ blockHeight: block.height }); this.audioService.playSound('magic'); + this.fetchAcceleration$.next(block.id); } }); @@ -585,6 +608,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { this.rbfInfo = null; this.rbfReplaces = []; this.showCpfpDetails = false; + this.accelerationInfo = null; this.txInBlockIndex = null; this.mempoolPosition = null; document.body.scrollTo(0, 0); @@ -664,6 +688,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { this.fetchCpfpSubscription.unsubscribe(); this.fetchRbfSubscription.unsubscribe(); this.fetchCachedTxSubscription.unsubscribe(); + this.fetchAccelerationSubscription.unsubscribe(); this.txReplacedSubscription.unsubscribe(); this.txRbfInfoSubscription.unsubscribe(); this.queryParamsSubscription.unsubscribe(); diff --git a/frontend/src/app/interfaces/node-api.interface.ts b/frontend/src/app/interfaces/node-api.interface.ts index 08de11a6a..8b98b6761 100644 --- a/frontend/src/app/interfaces/node-api.interface.ts +++ b/frontend/src/app/interfaces/node-api.interface.ts @@ -302,3 +302,26 @@ export interface INode { funding_balance?: number; closing_balance?: number; } + +export interface Acceleration { + txid: string; + status: 'requested' | 'accelerating' | 'mined' | 'completed' | 'failed'; + pools: number[]; + feePaid: number; + added: number; // timestamp + lastUpdated: number; // timestamp + baseFee: number; + vsizeFee: number; + effectiveFee: number; + effectiveVsize: number; + feeDelta: number; + blockHash: string; + blockHeight: number; +} + +export interface AccelerationHistoryParams { + timeframe?: string, + status?: string, + pool?: string, + blockHash?: string, +} \ No newline at end of file diff --git a/frontend/src/app/services/api.service.ts b/frontend/src/app/services/api.service.ts index 5cdf3d21a..854d15c2a 100644 --- a/frontend/src/app/services/api.service.ts +++ b/frontend/src/app/services/api.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { HttpClient, HttpParams, HttpResponse } from '@angular/common/http'; import { CpfpInfo, OptimizedMempoolStats, AddressInformation, LiquidPegs, ITranslators, - PoolStat, BlockExtended, TransactionStripped, RewardStats, AuditScore, BlockSizesAndWeights, RbfTree, BlockAudit } from '../interfaces/node-api.interface'; + PoolStat, BlockExtended, TransactionStripped, RewardStats, AuditScore, BlockSizesAndWeights, RbfTree, BlockAudit, Acceleration, AccelerationHistoryParams } from '../interfaces/node-api.interface'; import { BehaviorSubject, Observable, catchError, filter, of, shareReplay, take, tap } from 'rxjs'; import { StateService } from './state.service'; import { IBackendInfo, WebsocketResponse } from '../interfaces/websocket.interface'; @@ -428,4 +428,12 @@ export class ApiService { accelerate$(txInput: string, userBid: number) { return this.httpClient.post(`${SERVICES_API_PREFIX}/accelerator/accelerate`, { txInput: txInput, userBid: userBid }); } + + getAccelerations$(): Observable { + return this.httpClient.get(`${SERVICES_API_PREFIX}/accelerator/accelerations`); + } + + getAccelerationHistory$(params: AccelerationHistoryParams): Observable { + return this.httpClient.get(`${SERVICES_API_PREFIX}/accelerator/accelerations/history`, { params: { ...params } }); + } } From 08a35b85a8719ad87ef75fb0eabb1ae3d883d444 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 6 Dec 2023 12:09:28 +0000 Subject: [PATCH 284/639] Fix current accelerations update race condition --- backend/src/api/mempool.ts | 10 ++++------ backend/src/index.ts | 4 +++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/src/api/mempool.ts b/backend/src/api/mempool.ts index 568590406..fa13db418 100644 --- a/backend/src/api/mempool.ts +++ b/backend/src/api/mempool.ts @@ -9,7 +9,7 @@ import loadingIndicators from './loading-indicators'; import bitcoinClient from './bitcoin/bitcoin-client'; import bitcoinSecondClient from './bitcoin/bitcoin-second-client'; import rbfCache from './rbf-cache'; -import accelerationApi, { Acceleration } from './services/acceleration'; +import { Acceleration } from './services/acceleration'; import redisCache from './redis-cache'; class Mempool { @@ -185,7 +185,7 @@ class Mempool { return txTimes; } - public async $updateMempool(transactions: string[], pollRate: number): Promise { + public async $updateMempool(transactions: string[], accelerations: Acceleration[] | null, pollRate: number): Promise { logger.debug(`Updating mempool...`); // warn if this run stalls the main loop for more than 2 minutes @@ -330,7 +330,7 @@ class Mempool { const newTransactionsStripped = newTransactions.map((tx) => Common.stripTransaction(tx)); this.latestTransactions = newTransactionsStripped.concat(this.latestTransactions).slice(0, 6); - const accelerationDelta = await this.$updateAccelerations(); + const accelerationDelta = accelerations != null ? await this.$updateAccelerations(accelerations) : []; if (accelerationDelta.length) { hasChange = true; } @@ -370,14 +370,12 @@ class Mempool { return this.accelerations; } - public async $updateAccelerations(): Promise { + public $updateAccelerations(newAccelerations: Acceleration[]): string[] { if (!config.MEMPOOL_SERVICES.ACCELERATIONS) { return []; } try { - const newAccelerations = await accelerationApi.$fetchAccelerations(); - const changed: string[] = []; const newAccelerationMap: { [txid: string]: Acceleration } = {}; diff --git a/backend/src/index.ts b/backend/src/index.ts index 0c28df0a8..44fe87e3a 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -43,6 +43,7 @@ import { AxiosError } from 'axios'; import v8 from 'v8'; import { formatBytes, getBytesUnit } from './utils/format'; import redisCache from './api/redis-cache'; +import accelerationApi from './api/services/acceleration'; class Server { private wss: WebSocket.Server | undefined; @@ -205,10 +206,11 @@ class Server { } } const newMempool = await bitcoinApi.$getRawMempool(); + const newAccelerations = await accelerationApi.$fetchAccelerations(); const numHandledBlocks = await blocks.$updateBlocks(); const pollRate = config.MEMPOOL.POLL_RATE_MS * (indexer.indexerIsRunning() ? 10 : 1); if (numHandledBlocks === 0) { - await memPool.$updateMempool(newMempool, pollRate); + await memPool.$updateMempool(newMempool, newAccelerations, pollRate); } indexer.$run(); priceUpdater.$run(); From b7c4cd43fce1c03e3ebca04b1bd3e377a4b1bd87 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 6 Dec 2023 12:09:46 +0000 Subject: [PATCH 285/639] Better error handling for accelerations update request --- backend/src/api/services/acceleration.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/backend/src/api/services/acceleration.ts b/backend/src/api/services/acceleration.ts index 635dc8300..99bb963ee 100644 --- a/backend/src/api/services/acceleration.ts +++ b/backend/src/api/services/acceleration.ts @@ -1,6 +1,7 @@ -import { query } from '../../utils/axios-query'; import config from '../../config'; +import logger from '../../logger'; import { BlockExtended, PoolTag } from '../../mempool.interfaces'; +import axios from 'axios'; export interface Acceleration { txid: string, @@ -9,10 +10,15 @@ export interface Acceleration { } class AccelerationApi { - public async $fetchAccelerations(): Promise { + public async $fetchAccelerations(): Promise { if (config.MEMPOOL_SERVICES.ACCELERATIONS) { - const response = await query(`${config.MEMPOOL_SERVICES.API}/accelerator/accelerations`); - return (response as Acceleration[]) || []; + try { + const response = await axios.get(`${config.MEMPOOL_SERVICES.API}/accelerator/accelerations`, { responseType: 'json', timeout: 10000 }); + return response.data as Acceleration[]; + } catch (e) { + logger.warn('Failed to fetch current accelerations from the mempool services backend: ' + (e instanceof Error ? e.message : e)); + return null; + } } else { return []; } From 51102004bbea8881dd894a3054edb1b38da82bbb Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 6 Dec 2023 14:50:26 +0000 Subject: [PATCH 286/639] Fix negative accelerated fee rate, simplify fee rate table --- .../transaction/transaction.component.html | 24 +++++++------------ .../transaction/transaction.component.ts | 3 ++- .../src/app/interfaces/node-api.interface.ts | 2 ++ 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index b496ec6d1..313d6879c 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -516,28 +516,20 @@
Accelerated fee rate -
- -   - Accelerated -
-
Accelerated fee rate Effective fee rate
- - - - + + + + + +   Accelerated - +
diff --git a/frontend/src/app/components/transaction/transaction.component.ts b/frontend/src/app/components/transaction/transaction.component.ts index 282b50968..ae3a950bd 100644 --- a/frontend/src/app/components/transaction/transaction.component.ts +++ b/frontend/src/app/components/transaction/transaction.component.ts @@ -253,7 +253,8 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { }) ).subscribe((accelerationHistory) => { for (const acceleration of accelerationHistory) { - if (acceleration.txid === this.txId) { + if (acceleration.txid === this.txId && (acceleration.status === 'completed' || acceleration.status === 'mined') && acceleration.feePaid > 0) { + acceleration.actualFeeDelta = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + acceleration.feePaid - acceleration.baseFee - acceleration.vsizeFee); this.accelerationInfo = acceleration; } } diff --git a/frontend/src/app/interfaces/node-api.interface.ts b/frontend/src/app/interfaces/node-api.interface.ts index 8b98b6761..862272330 100644 --- a/frontend/src/app/interfaces/node-api.interface.ts +++ b/frontend/src/app/interfaces/node-api.interface.ts @@ -317,6 +317,8 @@ export interface Acceleration { feeDelta: number; blockHash: string; blockHeight: number; + + actualFeeDelta?: number; } export interface AccelerationHistoryParams { From 83db6f642851dd460e801ef56ad7fa2fedd3215c Mon Sep 17 00:00:00 2001 From: orangesurf Date: Thu, 7 Dec 2023 09:28:36 +0000 Subject: [PATCH 287/639] Update License, about page and trademark policy with new registered trademarks --- LICENSE | 23 +++++++++++-------- .../app/components/about/about.component.html | 18 ++++++++++++--- .../trademark-policy.component.html | 7 ++++-- 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/LICENSE b/LICENSE index 9f8592854..c592881f1 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ -The Mempool Open Source Project -Copyright (c) 2019-2023 The Mempool Open Source Project Developers +The Mempool Open Source Project® +Copyright (c) 2019-2023 The Mempool Space K.K. and other shadowy super-coders This program is free software; you can redistribute it and/or modify it under the terms of (at your option) either: @@ -12,13 +12,18 @@ the terms of (at your option) either: Foundation, either version 3 of the License or any later version approved by a proxy statement published on . -However, this copyright license does not include an implied right or license to -use our trademarks: The Mempool Open Source Project®, mempool.space™, the -mempool Logo™, the mempool.space Vertical Logo™, the mempool.space Horizontal -Logo™, the mempool Square Logo™, and the mempool Blocks logo™ are registered -trademarks or trademarks of Mempool Space K.K in Japan, the United States, -and/or other countries. See our full Trademark Policy and Guidelines for more -details, published on . +However, this copyright license does not include an implied right or license +to use any trademarks, service marks, logos, or trade names of Mempool Space K.K. +or any other contributor to The Mempool Open Source Project. + +The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool +Liquidity™, mempool.space®, the mempool Logo®, the mempool Square logo®, the mempool +Blocks logo™, the mempool.space Vertical Logo™, and the mempool.space Horizontal logo™ +are registered trademarks or trademarks of Mempool Space K.K in Japan, the United +States, and/or other countries. + +See our full Trademark Policy and Guidelines for more details, published on +. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index e3ad51116..926eb73a4 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -406,8 +406,15 @@
diff --git a/frontend/src/app/components/trademark-policy/trademark-policy.component.html b/frontend/src/app/components/trademark-policy/trademark-policy.component.html index 3a3da15dd..70b9d532d 100644 --- a/frontend/src/app/components/trademark-policy/trademark-policy.component.html +++ b/frontend/src/app/components/trademark-policy/trademark-policy.component.html @@ -8,7 +8,7 @@

Trademark Policy and Guidelines

The Mempool Open Source Project ®
-
Updated: July 19, 2021
+
Updated: December 7, 2023

@@ -56,6 +56,9 @@
Mempool Space K.K.
The Mempool Open Source Project
Mempool Accelerator
Mempool Enterprise
Mempool Liquidity
mempool.space
@@ -304,7 +307,7 @@

Also, if you are using our Marks in a way described in the sections "Uses for Which We Are Granting a License," you must include the following trademark attribution at the foot of the webpage where you have used the Mark (or, if in a book, on the credits page), on any packaging or labeling, and on advertising or marketing materials:

-

“The Mempool Space K.K.™, The Mempool Open Source Project®, mempool.space™, the mempool logo®, the mempool.space logos™, the mempool square logo®, and the mempool blocks logo™ are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries, and are used with permission. Mempool Space K.K. has no affiliation with and does not sponsor or endorse the information provided herein.”

+

"The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo®, the mempool Square logo®, the mempool Blocks logo™, the mempool.space Vertical Logo™, and the mempool.space Horizontal logo™; are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries, and are used with permission. Mempool Space K.K. has no affiliation with and does not sponsor or endorse the information provided herein."

  • What to Do When You See Abuse
  • From 5a2da751fa29ff2fc74f79723c723c4dc90da903 Mon Sep 17 00:00:00 2001 From: orangesurf Date: Thu, 7 Dec 2023 09:55:12 +0000 Subject: [PATCH 288/639] Remove TM & R from logo names --- LICENSE | 4 ++-- frontend/src/app/components/about/about.component.html | 4 ++-- .../trademark-policy/trademark-policy.component.html | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/LICENSE b/LICENSE index c592881f1..d6d6ae2ce 100644 --- a/LICENSE +++ b/LICENSE @@ -17,8 +17,8 @@ to use any trademarks, service marks, logos, or trade names of Mempool Space K.K or any other contributor to The Mempool Open Source Project. The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool -Liquidity™, mempool.space®, the mempool Logo®, the mempool Square logo®, the mempool -Blocks logo™, the mempool.space Vertical Logo™, and the mempool.space Horizontal logo™ +Liquidity™, mempool.space®, the mempool Logo, the mempool Square logo, the mempool +Blocks logo, the mempool.space Vertical Logo, and the mempool.space Horizontal logo are registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries. diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index 926eb73a4..2ab2d4e9c 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -410,7 +410,7 @@ and other shadowy super-coders

    - The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo®, the mempool Square logo®, the mempool Blocks logo™, the mempool.space Vertical Logo™, and the mempool.space Horizontal logo™; are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries. + The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries.

    See our Trademark Policy and Guidelines for more details, published on <https://mempool.space/trademark-policy>. @@ -436,7 +436,7 @@ Trademark Notice

    - Mempool Space K.K.™, The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo®, the mempool Square logo®, the mempool Blocks logo™, the mempool.space Vertical Logo™, and the mempool.space Horizontal logo™; are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries. + Mempool Space K.K.™, The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries.

    While our software is available under an open source software license, the copyright license does not include an implied right or license to use our trademarks. See our Trademark Policy and Guidelines for more details, published on <https://mempool.space/trademark-policy>. diff --git a/frontend/src/app/components/trademark-policy/trademark-policy.component.html b/frontend/src/app/components/trademark-policy/trademark-policy.component.html index 70b9d532d..b1fe4daac 100644 --- a/frontend/src/app/components/trademark-policy/trademark-policy.component.html +++ b/frontend/src/app/components/trademark-policy/trademark-policy.component.html @@ -307,7 +307,7 @@

    Also, if you are using our Marks in a way described in the sections "Uses for Which We Are Granting a License," you must include the following trademark attribution at the foot of the webpage where you have used the Mark (or, if in a book, on the credits page), on any packaging or labeling, and on advertising or marketing materials:

    -

    "The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo®, the mempool Square logo®, the mempool Blocks logo™, the mempool.space Vertical Logo™, and the mempool.space Horizontal logo™; are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries, and are used with permission. Mempool Space K.K. has no affiliation with and does not sponsor or endorse the information provided herein."

    +

    "The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries, and are used with permission. Mempool Space K.K. has no affiliation with and does not sponsor or endorse the information provided herein."

  • What to Do When You See Abuse
  • From dc063873473085f4891038fb492034004e49c11b Mon Sep 17 00:00:00 2001 From: TechMiX Date: Wed, 6 Dec 2023 19:50:33 +0100 Subject: [PATCH 289/639] fix: rtl issues related to sidenav and global footer --- .../global-footer/global-footer.component.html | 2 +- .../global-footer/global-footer.component.scss | 1 - frontend/src/styles.scss | 12 ++++++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.html b/frontend/src/app/shared/components/global-footer/global-footer.component.html index 676db35e5..fba04e605 100644 --- a/frontend/src/app/shared/components/global-footer/global-footer.component.html +++ b/frontend/src/app/shared/components/global-footer/global-footer.component.html @@ -11,7 +11,7 @@ Explore the full Bitcoin ecosystem

    -
    +
    diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.scss b/frontend/src/app/shared/components/global-footer/global-footer.component.scss index 148383cb4..79c7dcfce 100644 --- a/frontend/src/app/shared/components/global-footer/global-footer.component.scss +++ b/frontend/src/app/shared/components/global-footer/global-footer.component.scss @@ -63,7 +63,6 @@ footer .row.main .links .category:not(:first-child) { } footer .site-options { - float: right; margin-top: -20px; } diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index 0e26c4eb3..48d5b5966 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -996,6 +996,18 @@ th { .btn-audit { margin-left: .5em; } + + .sidenav { + @extend .sidenav; + margin-left: 0px !important; + margin-right: -250px; + + .open { + @extend .open; + margin-right: 0px; + right: 0px; + } + } } .scriptmessage { From 9406103ed1d895a15895d0e1d5eada60731b7160 Mon Sep 17 00:00:00 2001 From: TechMiX Date: Thu, 7 Dec 2023 22:49:51 +0100 Subject: [PATCH 290/639] fix: adjust the blockchain container with menu in rtl mode --- frontend/src/styles.scss | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index 48d5b5966..be8cec328 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -1001,12 +1001,21 @@ th { @extend .sidenav; margin-left: 0px !important; margin-right: -250px; + } - .open { - @extend .open; - margin-right: 0px; - right: 0px; - } + .sidenav.open { + margin-right: 0px; + } + + .profile_image_container { + @extend .profile_image_container; + margin-right: 0px !important; + margin-left: 15px; + } + + #blockchain-container.with-menu { + width: calc(100% + 120px); + left: 120px; } } From bbcc683a3c2c9db98b67878d4b09105709c66792 Mon Sep 17 00:00:00 2001 From: TechMiX Date: Fri, 8 Dec 2023 14:06:34 +0100 Subject: [PATCH 291/639] fix: use empty sidenav when service is disabled --- .../src/app/components/master-page/master-page.component.html | 2 +- .../src/app/components/master-page/master-page.component.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/master-page/master-page.component.html b/frontend/src/app/components/master-page/master-page.component.html index dc1cc2c30..f31e262ce 100644 --- a/frontend/src/app/components/master-page/master-page.component.html +++ b/frontend/src/app/components/master-page/master-page.component.html @@ -78,7 +78,7 @@
    -
    +
    diff --git a/frontend/src/app/components/master-page/master-page.component.scss b/frontend/src/app/components/master-page/master-page.component.scss index 79f5e8a12..a40b4ec61 100644 --- a/frontend/src/app/components/master-page/master-page.component.scss +++ b/frontend/src/app/components/master-page/master-page.component.scss @@ -241,7 +241,7 @@ main { } // empty sidenav -.sidenav { +.empty-sidenav { z-index: 1; background-color: transparent; width: 0px; From 42a3a380d5e56ed33a13d5db99757c8ff8e105ec Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 20 Jul 2023 16:25:09 +0900 Subject: [PATCH 292/639] widgetify block fee rates chart --- .../block-fee-rates-graph.component.html | 46 +++++++- .../block-fee-rates-graph.component.scss | 56 ++++++++- .../block-fee-rates-graph.component.ts | 107 +++++++++++++----- frontend/src/app/services/api.service.ts | 4 + 4 files changed, 176 insertions(+), 37 deletions(-) diff --git a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html index 77c35cea8..f5eb5d1cf 100644 --- a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html +++ b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html @@ -1,13 +1,13 @@ - + -
    -
    +
    +
    Block Fee Rates -
    +
    @@ -45,11 +45,45 @@
    -
    +
    +
    +
    Avg Block Fee (1m)
    +

    + +

    +
    +
    +
    ???
    +

    + ??? +

    +
    +
    +
    + +
    -
    \ No newline at end of file +
    + + +
    +
    +
    Avg Block Fee
    +

    + +

    +
    +
    +
    ???
    +

    + +

    +
    +
    +
    \ No newline at end of file diff --git a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.scss b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.scss index f4f4dcc77..21dd458b5 100644 --- a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.scss +++ b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.scss @@ -57,7 +57,54 @@ .chart-widget { width: 100%; height: 100%; - max-height: 270px; + max-height: 238px; +} + +.block-fee-rates { + min-height: 56px; + display: block; + @media (min-width: 485px) { + display: flex; + flex-direction: row; + } + h5 { + margin-bottom: 10px; + } + .item { + width: 50%; + display: inline-block; + margin: 0px auto 20px; + &:nth-child(2) { + order: 2; + @media (min-width: 485px) { + order: 3; + } + } + &:nth-child(3) { + order: 3; + @media (min-width: 485px) { + order: 2; + display: block; + } + @media (min-width: 768px) { + display: none; + } + @media (min-width: 992px) { + display: block; + } + } + .card-title { + font-size: 1rem; + color: #4a68b9; + } + .card-text { + font-size: 18px; + span { + color: #ffffff66; + font-size: 12px; + } + } + } } .formRadioGroup { @@ -85,6 +132,13 @@ } } +.skeleton-loader { + width: 100%; + display: block; + max-width: 80px; + margin: 15px auto 3px; +} + .disabled { pointer-events: none; opacity: 0.5; diff --git a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts index c4d061927..19c51527f 100644 --- a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts +++ b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -1,6 +1,6 @@ -import { ChangeDetectionStrategy, Component, Inject, Input, LOCALE_ID, NgZone, OnInit } from '@angular/core'; -import { EChartsOption } from '../../graphs/echarts'; -import { Observable, Subscription, combineLatest } from 'rxjs'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, LOCALE_ID, NgZone, OnInit } from '@angular/core'; +import { EChartsOption, graphic } from 'echarts'; +import { Observable, Subscription, combineLatest, of } from 'rxjs'; import { map, share, startWith, switchMap, tap } from 'rxjs/operators'; import { ApiService } from '../../services/api.service'; import { SeoService } from '../../services/seo.service'; @@ -29,6 +29,7 @@ import { ActivatedRoute, Router } from '@angular/router'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class BlockFeeRatesGraphComponent implements OnInit { + @Input() widget = false; @Input() right: number | string = 45; @Input() left: number | string = 75; @@ -57,39 +58,48 @@ export class BlockFeeRatesGraphComponent implements OnInit { private router: Router, private zone: NgZone, private route: ActivatedRoute, + private cd: ChangeDetectorRef, ) { this.radioGroupForm = this.formBuilder.group({ dateSpan: '1y' }); this.radioGroupForm.controls.dateSpan.setValue('1y'); } ngOnInit(): void { - this.seoService.setTitle($localize`:@@ed8e33059967f554ff06b4f5b6049c465b92d9b3:Block Fee Rates`); - this.seoService.setDescription($localize`:@@meta.description.bitcoin.graphs.block-fee-rates:See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles.`); - this.miningWindowPreference = this.miningService.getDefaultTimespan('24h'); + if (this.widget) { + this.miningWindowPreference = '1m'; + } else { + this.seoService.setTitle($localize`:@@ed8e33059967f554ff06b4f5b6049c465b92d9b3:Block Fee Rates`); + this.seoService.setDescription($localize`:@@meta.description.bitcoin.graphs.block-fee-rates:See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles.`); + this.miningWindowPreference = this.miningService.getDefaultTimespan('24h'); + } this.radioGroupForm = this.formBuilder.group({ dateSpan: this.miningWindowPreference }); this.radioGroupForm.controls.dateSpan.setValue(this.miningWindowPreference); - this.route - .fragment - .subscribe((fragment) => { - if (['24h', '3d', '1w', '1m', '3m', '6m', '1y', '2y', '3y', 'all'].indexOf(fragment) > -1) { - this.radioGroupForm.controls.dateSpan.setValue(fragment, { emitEvent: false }); - } - }); + if (!this.widget) { + this.route + .fragment + .subscribe((fragment) => { + if (['24h', '3d', '1w', '1m', '3m', '6m', '1y', '2y', '3y', 'all'].indexOf(fragment) > -1) { + this.radioGroupForm.controls.dateSpan.setValue(fragment, { emitEvent: false }); + } + }); + } this.statsObservable$ = combineLatest([ - this.radioGroupForm.get('dateSpan').valueChanges.pipe(startWith(this.radioGroupForm.controls.dateSpan.value)), + this.widget ? of(this.miningWindowPreference) : this.radioGroupForm.get('dateSpan').valueChanges.pipe(startWith(this.radioGroupForm.controls.dateSpan.value)), this.stateService.rateUnits$ ]).pipe( switchMap(([timespan, rateUnits]) => { - this.storageService.setValue('miningWindowPreference', timespan); + if (!this.widget) { + this.storageService.setValue('miningWindowPreference', timespan); + } this.timespan = timespan; this.isLoading = true; return this.apiService.getHistoricalBlockFeeRates$(timespan) .pipe( tap((response) => { // Group by percentile - const seriesData = { + const seriesData = this.widget ? { 'Median': [] } : { 'Min': [], '10th': [], '25th': [], @@ -100,13 +110,17 @@ export class BlockFeeRatesGraphComponent implements OnInit { }; for (const rate of response.body) { const timestamp = rate.timestamp * 1000; - seriesData['Min'].push([timestamp, rate.avgFee_0, rate.avgHeight]); - seriesData['10th'].push([timestamp, rate.avgFee_10, rate.avgHeight]); - seriesData['25th'].push([timestamp, rate.avgFee_25, rate.avgHeight]); - seriesData['Median'].push([timestamp, rate.avgFee_50, rate.avgHeight]); - seriesData['75th'].push([timestamp, rate.avgFee_75, rate.avgHeight]); - seriesData['90th'].push([timestamp, rate.avgFee_90, rate.avgHeight]); - seriesData['Max'].push([timestamp, rate.avgFee_100, rate.avgHeight]); + if (this.widget) { + seriesData['Median'].push([timestamp, rate.avgFee_50, rate.avgHeight]); + } else { + seriesData['Min'].push([timestamp, rate.avgFee_0, rate.avgHeight]); + seriesData['10th'].push([timestamp, rate.avgFee_10, rate.avgHeight]); + seriesData['25th'].push([timestamp, rate.avgFee_25, rate.avgHeight]); + seriesData['Median'].push([timestamp, rate.avgFee_50, rate.avgHeight]); + seriesData['75th'].push([timestamp, rate.avgFee_75, rate.avgHeight]); + seriesData['90th'].push([timestamp, rate.avgFee_90, rate.avgHeight]); + seriesData['Max'].push([timestamp, rate.avgFee_100, rate.avgHeight]); + } } // Prepare chart @@ -135,15 +149,42 @@ export class BlockFeeRatesGraphComponent implements OnInit { }); } + if (this.widget) { + let maResolution = 30; + const medianMa = []; + for (let i = maResolution - 1; i < seriesData['Median'].length; ++i) { + let avg = 0; + for (let y = maResolution - 1; y >= 0; --y) { + avg += seriesData['Median'][i - y][1]; + } + avg /= maResolution; + medianMa.push([seriesData['Median'][i][0], avg]); + } + series.push({ + zlevel: 1, + name: 'MA', + data: medianMa, + type: 'line', + showSymbol: false, + symbol: 'none', + lineStyle: { + width: 3, + } + }); + } + this.prepareChartOptions({ legends: legends, series: series }, rateUnits === 'wu'); + this.isLoading = false; + this.cd.markForCheck(); }), map((response) => { return { blockCount: parseInt(response.headers.get('x-total-count'), 10), + avgMedianRate: response.body.length ? response.body.reduce((acc, rate) => acc + rate.avgFee_50, 0) / response.body.length : 0, }; }), ); @@ -154,16 +195,22 @@ export class BlockFeeRatesGraphComponent implements OnInit { prepareChartOptions(data, weightMode) { this.chartOptions = { - color: ['#D81B60', '#8E24AA', '#1E88E5', '#7CB342', '#FDD835', '#6D4C41', '#546E7A'], + color: this.widget ? ['#6b6b6b', new graphic.LinearGradient(0, 0, 0, 0.65, [ + { offset: 0, color: '#F4511E' }, + { offset: 0.25, color: '#FB8C00' }, + { offset: 0.5, color: '#FFB300' }, + { offset: 0.75, color: '#FDD835' }, + { offset: 1, color: '#7CB342' } + ])] : ['#D81B60', '#8E24AA', '#1E88E5', '#7CB342', '#FDD835', '#6D4C41', '#546E7A'], animation: false, grid: { right: this.right, left: this.left, - bottom: 80, - top: this.isMobile() ? 10 : 50, + bottom: this.widget ? 30 : 80, + top: this.widget ? 20 : (this.isMobile() ? 10 : 50), }, tooltip: { - show: !this.isMobile(), + show: !this.isMobile() && !this.widget, trigger: 'axis', axisPointer: { type: 'line' @@ -201,7 +248,7 @@ export class BlockFeeRatesGraphComponent implements OnInit { }, xAxis: data.series.length === 0 ? undefined : { - name: formatterXAxisLabel(this.locale, this.timespan), + name: this.widget ? undefined : formatterXAxisLabel(this.locale, this.timespan), nameLocation: 'middle', nameTextStyle: { padding: [10, 0, 0, 0], @@ -218,7 +265,7 @@ export class BlockFeeRatesGraphComponent implements OnInit { padding: [0, 5], }, }, - legend: (data.series.length === 0) ? undefined : { + legend: (this.widget || data.series.length === 0) ? undefined : { padding: [10, 75], data: data.legends, selected: JSON.parse(this.storageService.getValue('fee_rates_legend')) ?? { @@ -256,7 +303,7 @@ export class BlockFeeRatesGraphComponent implements OnInit { max: (val) => this.timespan === 'all' ? Math.min(val.max, 5000) : undefined, }, series: data.series, - dataZoom: [{ + dataZoom: this.widget ? null : [{ type: 'inside', realtime: true, zoomLock: true, diff --git a/frontend/src/app/services/api.service.ts b/frontend/src/app/services/api.service.ts index 854d15c2a..e379a8626 100644 --- a/frontend/src/app/services/api.service.ts +++ b/frontend/src/app/services/api.service.ts @@ -1,7 +1,11 @@ import { Injectable } from '@angular/core'; import { HttpClient, HttpParams, HttpResponse } from '@angular/common/http'; import { CpfpInfo, OptimizedMempoolStats, AddressInformation, LiquidPegs, ITranslators, +<<<<<<< HEAD PoolStat, BlockExtended, TransactionStripped, RewardStats, AuditScore, BlockSizesAndWeights, RbfTree, BlockAudit, Acceleration, AccelerationHistoryParams } from '../interfaces/node-api.interface'; +======= + PoolStat, BlockExtended, TransactionStripped, RewardStats, AuditScore, BlockSizesAndWeights, RbfTree, BlockAudit, Acceleration } from '../interfaces/node-api.interface'; +>>>>>>> 9b9adcd43 (widgetify block fee rates chart) import { BehaviorSubject, Observable, catchError, filter, of, shareReplay, take, tap } from 'rxjs'; import { StateService } from './state.service'; import { IBackendInfo, WebsocketResponse } from '../interfaces/websocket.interface'; From 6f97a2ef741bc140c8aeb4ec9440e879324f3d49 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 20 Jul 2023 16:26:42 +0900 Subject: [PATCH 293/639] Add accelerator dashboard --- .../acceleration-stats.component.html | 51 +++++++++ .../acceleration-stats.component.scss | 88 ++++++++++++++ .../acceleration-stats.component.ts | 43 +++++++ .../accelerations-list.component.html | 62 ++++++++++ .../accelerations-list.component.scss | 107 ++++++++++++++++++ .../accelerations-list.component.ts | 53 +++++++++ .../accelerator-dashboard.component.html | 76 +++++++++++++ .../accelerator-dashboard.component.scss | 102 +++++++++++++++++ .../accelerator-dashboard.component.ts | 22 ++++ frontend/src/app/graphs/graphs.module.ts | 2 + .../src/app/graphs/graphs.routing.module.ts | 12 ++ frontend/src/app/shared/shared.module.ts | 6 + 12 files changed, 624 insertions(+) create mode 100644 frontend/src/app/components/acceleration-stats/acceleration-stats.component.html create mode 100644 frontend/src/app/components/acceleration-stats/acceleration-stats.component.scss create mode 100644 frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts create mode 100644 frontend/src/app/components/accelerations-list/accelerations-list.component.html create mode 100644 frontend/src/app/components/accelerations-list/accelerations-list.component.scss create mode 100644 frontend/src/app/components/accelerations-list/accelerations-list.component.ts create mode 100644 frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html create mode 100644 frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss create mode 100644 frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html new file mode 100644 index 000000000..e8ded44fc --- /dev/null +++ b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html @@ -0,0 +1,51 @@ +
    +
    +
    +
    Transactions
    +
    +
    {{ stats.count }}
    +
    accelerated
    +
    +
    +
    +
    Fee delta
    +
    +
    {{ stats.totalFeeDelta | number }} sat
    +
    paid out of band
    +
    +
    +
    +
    Success rate
    +
    +
    {{ stats.successRate.toFixed(2) }} %
    +
    mined in the next block
    +
    +
    +
    +
    + + +
    +
    +
    Miners Reward
    +
    +
    +
    +
    +
    +
    +
    Avg Block Fees
    +
    +
    +
    +
    +
    +
    +
    Avg Tx Fee
    +
    +
    +
    +
    +
    +
    +
    diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.scss b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.scss new file mode 100644 index 000000000..fcc5564a8 --- /dev/null +++ b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.scss @@ -0,0 +1,88 @@ +.card-title { + color: #4a68b9; + font-size: 10px; + margin-bottom: 4px; + font-size: 1rem; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.card-text { + font-size: 22px; + span { + font-size: 11px; + position: relative; + top: -2px; + display: inline-flex; + } + .green-color { + display: block; + } +} + +.stats-container { + display: flex; + justify-content: space-between; + @media (min-width: 376px) { + flex-direction: row; + } + .item { + max-width: 150px; + margin: 0; + width: -webkit-fill-available; + @media (min-width: 376px) { + margin: 0 auto 0px; + } + &:first-child{ + display: none; + @media (min-width: 485px) { + display: block; + } + @media (min-width: 768px) { + display: none; + } + @media (min-width: 992px) { + display: block; + } + } + &:last-child { + margin-bottom: 0; + } + .card-text span { + color: #ffffff66; + font-size: 12px; + top: 0px; + } + .fee-text{ + border-bottom: 1px solid #ffffff1c; + width: fit-content; + margin: auto; + line-height: 1.45; + padding: 0px 2px; + } + .fiat { + display: block; + font-size: 14px !important; + } + } +} + +.loading-container{ + min-height: 76px; +} + +.card-text { + .skeleton-loader { + width: 100%; + display: block; + &:first-child { + max-width: 90px; + margin: 15px auto 3px; + } + &:last-child { + margin: 10px auto 3px; + max-width: 55px; + } + } +} \ No newline at end of file diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts new file mode 100644 index 000000000..fa69b1a9d --- /dev/null +++ b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts @@ -0,0 +1,43 @@ +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; +import { Observable, of } from 'rxjs'; +import { switchMap } from 'rxjs/operators'; +import { ApiService } from '../../services/api.service'; +import { StateService } from '../../services/state.service'; + +@Component({ + selector: 'app-acceleration-stats', + templateUrl: './acceleration-stats.component.html', + styleUrls: ['./acceleration-stats.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AccelerationStatsComponent implements OnInit { + public accelerationStats$: Observable; + private lastBlockHeight: number; + + constructor(private apiService: ApiService, private stateService: StateService) { } + + ngOnInit(): void { + this.accelerationStats$ = this.apiService.getAccelerations$().pipe( + switchMap(accelerations => { + let totalFeeDelta = 0; + let totalMined = 0; + let totalCanceled = 0; + for (const acceleration of accelerations) { + if (acceleration.mined) { + totalMined++; + totalFeeDelta += acceleration.feeDelta; + } else if (acceleration.canceled) { + totalCanceled++; + } + } + return of({ + count: totalMined, + totalFeeDelta, + successRate: (totalMined + totalCanceled > 0) ? ((totalMined / (totalMined + totalCanceled)) * 100) : 0.0, + }); + }) + ); + } + + +} diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/accelerations-list/accelerations-list.component.html new file mode 100644 index 000000000..367b6f33d --- /dev/null +++ b/frontend/src/app/components/accelerations-list/accelerations-list.component.html @@ -0,0 +1,62 @@ + + +
    +

    Accelerations

    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    TXIDFeeFee deltaStatus
    + + + + + {{ acceleration.fee | number }} sat + + {{ acceleration.feeDelta | number }} sat + + Mined + Canceled +
    + + + + + + + +
    + + +
    +
    +
    +
    + +
    diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.scss b/frontend/src/app/components/accelerations-list/accelerations-list.component.scss new file mode 100644 index 000000000..9fd978341 --- /dev/null +++ b/frontend/src/app/components/accelerations-list/accelerations-list.component.scss @@ -0,0 +1,107 @@ +.spinner-border { + height: 25px; + width: 25px; + margin-top: 13px; +} + +.container-xl { + max-width: 1400px; +} +.container-xl.widget { + padding-left: 0px; + padding-bottom: 0px; +} +.container-xl.legacy { + max-width: 1140px; +} + +.container { + max-width: 100%; +} + +tr, td, th { + border: 0px; + padding-top: 0.65rem !important; + padding-bottom: 0.7rem !important; + + .difference { + margin-left: 0.5em; + + &.positive { + color: rgb(66, 183, 71); + } + &.negative { + color: rgb(183, 66, 66); + } + } +} + +.clear-link { + color: white; +} + +.disabled { + pointer-events: none; + opacity: 0.5; +} + +.progress { + background-color: #2d3348; +} + +.txid { + width: 30%; + @media (max-width: 1100px) { + padding-right: 10px; + } + @media (max-width: 875px) { + display: none; + } + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 30%; +} + +.fee { + width: 25%; +} + +.fee-delta { + width: 25%; +} + +.status { + width: 20% +} + +/* Tooltip text */ +.tooltip-custom { + position: relative; +} + +.tooltip-custom .tooltiptext { + visibility: hidden; + color: #fff; + text-align: center; + padding: 5px 0; + border-radius: 6px; + position: absolute; + z-index: 1; + top: -40px; + left: 0; +} + +/* Show the tooltip text when you mouse over the tooltip container */ +.tooltip-custom:hover .tooltiptext { + visibility: visible; +} + +.scriptmessage { + overflow: hidden; + display: inline-block; + text-overflow: ellipsis; + vertical-align: middle; + max-width: 50vw; + text-align: left; +} diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.ts b/frontend/src/app/components/accelerations-list/accelerations-list.component.ts new file mode 100644 index 000000000..10c14a2ad --- /dev/null +++ b/frontend/src/app/components/accelerations-list/accelerations-list.component.ts @@ -0,0 +1,53 @@ +import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef } from '@angular/core'; +import { Observable, catchError, of } from 'rxjs'; +import { Acceleration, BlockExtended } from '../../interfaces/node-api.interface'; +import { ApiService } from '../../services/api.service'; +import { StateService } from '../../services/state.service'; +import { WebsocketService } from '../../services/websocket.service'; + +@Component({ + selector: 'app-accelerations-list', + templateUrl: './accelerations-list.component.html', + styleUrls: ['./accelerations-list.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AccelerationsListComponent implements OnInit { + @Input() widget: boolean = false; + + accelerations$: Observable = undefined; + + isLoading = true; + paginationMaxSize: number; + page = 1; + lastPage = 1; + maxSize = window.innerWidth <= 767.98 ? 3 : 5; + skeletonLines: number[] = []; + + constructor( + private apiService: ApiService, + private websocketService: WebsocketService, + public stateService: StateService, + private cd: ChangeDetectorRef, + ) { + } + + ngOnInit(): void { + if (!this.widget) { + this.websocketService.want(['blocks']); + } + + this.skeletonLines = this.widget === true ? [...Array(6).keys()] : [...Array(15).keys()]; + this.paginationMaxSize = window.matchMedia('(max-width: 670px)').matches ? 3 : 5; + + this.accelerations$ = this.apiService.getAccelerations$().pipe( + catchError((err) => { + this.isLoading = false; + return of([]); + }) + ); + } + + trackByBlock(index: number, block: BlockExtended): number { + return block.height; + } +} \ No newline at end of file diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html new file mode 100644 index 000000000..13954fb95 --- /dev/null +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html @@ -0,0 +1,76 @@ + + +
    + +
    + +
    +
    + Acceleration stats  + (144 blocks) +
    +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    Difficulty Adjustment
    + +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + + + + + + +
    +
    diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss new file mode 100644 index 000000000..4f01f7cad --- /dev/null +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss @@ -0,0 +1,102 @@ +.dashboard-container { + text-align: center; + margin-top: 0.5rem; + .col { + margin-bottom: 1.5rem; + } +} + +.card { + background-color: #1d1f31; +} + +.graph-card { + height: 100%; + @media (min-width: 992px) { + height: 385px; + } +} + +.card-title { + font-size: 1rem; + color: #4a68b9; +} +.card-title > a { + color: #4a68b9; +} + +.card-body.pool-ranking { + padding: 1.25rem 0.25rem 0.75rem 0.25rem; +} +.card-text { + font-size: 22px; +} + +#blockchain-container { + position: relative; + overflow-x: scroll; + overflow-y: hidden; + scrollbar-width: none; + -ms-overflow-style: none; +} + +#blockchain-container::-webkit-scrollbar { + display: none; +} + +.fade-border { + -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 80%, transparent 100%) +} + +.main-title { + position: relative; + color: #ffffff91; + margin-top: -13px; + font-size: 10px; + text-transform: uppercase; + font-weight: 500; + text-align: center; + padding-bottom: 3px; +} + +.more-padding { + padding: 24px 20px !important; +} + +.card-wrapper { + .card { + height: auto !important; + } + .card-body { + display: flex; + flex: inherit; + text-align: center; + flex-direction: column; + justify-content: space-around; + padding: 22px 20px; + } +} + +.skeleton-loader { + width: 100%; + display: block; + &:first-child { + max-width: 90px; + margin: 15px auto 3px; + } + &:last-child { + margin: 10px auto 3px; + max-width: 55px; + } +} + +.card-text { + font-size: 22px; +} + +.title-link, .title-link:hover, .title-link:focus, .title-link:active { + display: block; + margin-bottom: 10px; + text-decoration: none; + color: inherit; +} diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts new file mode 100644 index 000000000..edae81aa1 --- /dev/null +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts @@ -0,0 +1,22 @@ +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; +import { SeoService } from '../../services/seo.service'; +import { WebsocketService } from '../../services/websocket.service'; + +@Component({ + selector: 'app-accelerator-dashboard', + templateUrl: './accelerator-dashboard.component.html', + styleUrls: ['./accelerator-dashboard.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AcceleratorDashboardComponent implements OnInit { + constructor( + private seoService: SeoService, + private websocketService: WebsocketService, + ) { + this.seoService.setTitle($localize`:@@a681a4e2011bb28157689dbaa387de0dd0aa0c11:Accelerator Dashboard`); + } + + ngOnInit(): void { + this.websocketService.want(['blocks', 'mempool-blocks', 'stats']); + } +} diff --git a/frontend/src/app/graphs/graphs.module.ts b/frontend/src/app/graphs/graphs.module.ts index a2160977c..ce5775175 100644 --- a/frontend/src/app/graphs/graphs.module.ts +++ b/frontend/src/app/graphs/graphs.module.ts @@ -19,6 +19,7 @@ import { PoolComponent } from '../components/pool/pool.component'; import { TelevisionComponent } from '../components/television/television.component'; import { DashboardComponent } from '../dashboard/dashboard.component'; import { MiningDashboardComponent } from '../components/mining-dashboard/mining-dashboard.component'; +import { AcceleratorDashboardComponent } from '../components/accelerator-dashboard/accelerator-dashboard.component'; import { HashrateChartComponent } from '../components/hashrate-chart/hashrate-chart.component'; import { HashrateChartPoolsComponent } from '../components/hashrates-chart-pools/hashrate-chart-pools.component'; import { BlockHealthGraphComponent } from '../components/block-health-graph/block-health-graph.component'; @@ -30,6 +31,7 @@ import { CommonModule } from '@angular/common'; MempoolBlockComponent, MiningDashboardComponent, + AcceleratorDashboardComponent, PoolComponent, PoolRankingComponent, TelevisionComponent, diff --git a/frontend/src/app/graphs/graphs.routing.module.ts b/frontend/src/app/graphs/graphs.routing.module.ts index 346bcf7f1..e3d9897b2 100644 --- a/frontend/src/app/graphs/graphs.routing.module.ts +++ b/frontend/src/app/graphs/graphs.routing.module.ts @@ -10,6 +10,7 @@ import { HashrateChartComponent } from '../components/hashrate-chart/hashrate-ch import { HashrateChartPoolsComponent } from '../components/hashrates-chart-pools/hashrate-chart-pools.component'; import { MempoolBlockComponent } from '../components/mempool-block/mempool-block.component'; import { MiningDashboardComponent } from '../components/mining-dashboard/mining-dashboard.component'; +import { AcceleratorDashboardComponent } from '../components/accelerator-dashboard/accelerator-dashboard.component'; import { PoolRankingComponent } from '../components/pool-ranking/pool-ranking.component'; import { PoolComponent } from '../components/pool/pool.component'; import { StartComponent } from '../components/start/start.component'; @@ -37,6 +38,17 @@ const routes: Routes = [ }, ] }, + { + path: 'acceleration', + data: { networks: ['bitcoin'] }, + component: StartComponent, + children: [ + { + path: '', + component: AcceleratorDashboardComponent, + } + ] + }, { path: 'mempool-block/:id', data: { networks: ['bitcoin', 'liquid'] }, diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index 82327c561..bd897ba99 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -85,6 +85,8 @@ import { GlobalFooterComponent } from './components/global-footer/global-footer. import { AcceleratePreviewComponent } from '../components/accelerate-preview/accelerate-preview.component'; import { AccelerateFeeGraphComponent } from '../components/accelerate-preview/accelerate-fee-graph.component'; import { MempoolErrorComponent } from './components/mempool-error/mempool-error.component'; +import { AccelerationsListComponent } from '../components/accelerations-list/accelerations-list.component'; +import { AccelerationStatsComponent } from '../components/acceleration-stats/acceleration-stats.component'; import { BlockViewComponent } from '../components/block-view/block-view.component'; import { EightBlocksComponent } from '../components/eight-blocks/eight-blocks.component'; @@ -190,6 +192,8 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir OnlyVsizeDirective, OnlyWeightDirective, MempoolErrorComponent, + AccelerationsListComponent, + AccelerationStatsComponent, ], imports: [ CommonModule, @@ -300,6 +304,8 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir AcceleratePreviewComponent, AccelerateFeeGraphComponent, MempoolErrorComponent, + AccelerationsListComponent, + AccelerationStatsComponent, MempoolBlockOverviewComponent, ClockchainComponent, From f23bcec10d70bff5663175d689934ecb0901bac6 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 21 Jul 2023 14:11:46 +0900 Subject: [PATCH 294/639] Add acceleration fees graph --- .../accelerator-dashboard.component.html | 6 +++--- frontend/src/app/graphs/graphs.module.ts | 2 ++ frontend/src/app/graphs/graphs.routing.module.ts | 6 ++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html index 13954fb95..7a6060500 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html @@ -24,12 +24,12 @@
    - + diff --git a/frontend/src/app/graphs/graphs.module.ts b/frontend/src/app/graphs/graphs.module.ts index ce5775175..81a1f0c06 100644 --- a/frontend/src/app/graphs/graphs.module.ts +++ b/frontend/src/app/graphs/graphs.module.ts @@ -3,6 +3,7 @@ import { NgxEchartsModule } from 'ngx-echarts'; import { GraphsRoutingModule } from './graphs.routing.module'; import { SharedModule } from '../shared/shared.module'; +import { AccelerationFeesGraphComponent } from '../components/acceleration-fees-graph/acceleration-fees-graph.component'; import { BlockFeesGraphComponent } from '../components/block-fees-graph/block-fees-graph.component'; import { BlockRewardsGraphComponent } from '../components/block-rewards-graph/block-rewards-graph.component'; import { BlockFeeRatesGraphComponent } from '../components/block-fee-rates-graph/block-fee-rates-graph.component'; @@ -38,6 +39,7 @@ import { CommonModule } from '@angular/common'; StatisticsComponent, GraphsComponent, + AccelerationFeesGraphComponent, BlockFeesGraphComponent, BlockRewardsGraphComponent, BlockFeeRatesGraphComponent, diff --git a/frontend/src/app/graphs/graphs.routing.module.ts b/frontend/src/app/graphs/graphs.routing.module.ts index e3d9897b2..a3e84db69 100644 --- a/frontend/src/app/graphs/graphs.routing.module.ts +++ b/frontend/src/app/graphs/graphs.routing.module.ts @@ -17,6 +17,7 @@ import { StartComponent } from '../components/start/start.component'; import { StatisticsComponent } from '../components/statistics/statistics.component'; import { TelevisionComponent } from '../components/television/television.component'; import { DashboardComponent } from '../dashboard/dashboard.component'; +import { AccelerationFeesGraphComponent } from '../components/acceleration-fees-graph/acceleration-fees-graph.component'; const routes: Routes = [ { @@ -105,6 +106,11 @@ const routes: Routes = [ data: { networks: ['bitcoin'] }, component: BlockSizesWeightsGraphComponent, }, + { + path: 'acceleration/fees', + data: { networks: ['bitcoin'] }, + component: AccelerationFeesGraphComponent, + }, { path: 'lightning', data: { preload: true, networks: ['bitcoin'] }, From f86645b50cdf1de369f1aec78bdfe50ec1c06834 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 21 Jul 2023 14:13:18 +0900 Subject: [PATCH 295/639] Add latest block accelerations list --- .../accelerations-list.component.scss | 2 +- .../accelerations-list.component.ts | 11 +++- .../accelerator-dashboard.component.html | 29 +++++++++-- .../accelerator-dashboard.component.scss | 29 +++++++++++ .../accelerator-dashboard.component.ts | 51 +++++++++++++++++++ 5 files changed, 115 insertions(+), 7 deletions(-) diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.scss b/frontend/src/app/components/accelerations-list/accelerations-list.component.scss index 9fd978341..d49ac2609 100644 --- a/frontend/src/app/components/accelerations-list/accelerations-list.component.scss +++ b/frontend/src/app/components/accelerations-list/accelerations-list.component.scss @@ -22,7 +22,7 @@ tr, td, th { border: 0px; padding-top: 0.65rem !important; - padding-bottom: 0.7rem !important; + padding-bottom: 0.8rem !important; .difference { margin-left: 0.5em; diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.ts b/frontend/src/app/components/accelerations-list/accelerations-list.component.ts index 10c14a2ad..0b1cdd3ba 100644 --- a/frontend/src/app/components/accelerations-list/accelerations-list.component.ts +++ b/frontend/src/app/components/accelerations-list/accelerations-list.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef } from '@angular/core'; -import { Observable, catchError, of } from 'rxjs'; +import { Observable, catchError, of, switchMap } from 'rxjs'; import { Acceleration, BlockExtended } from '../../interfaces/node-api.interface'; import { ApiService } from '../../services/api.service'; import { StateService } from '../../services/state.service'; @@ -39,7 +39,14 @@ export class AccelerationsListComponent implements OnInit { this.skeletonLines = this.widget === true ? [...Array(6).keys()] : [...Array(15).keys()]; this.paginationMaxSize = window.matchMedia('(max-width: 670px)').matches ? 3 : 5; - this.accelerations$ = this.apiService.getAccelerations$().pipe( + this.accelerations$ = this.apiService.getAccelerations$('24h').pipe( + switchMap(accelerations => { + if (this.widget) { + return of(accelerations.slice(0, 6)); + } else { + return of(accelerations); + } + }), catchError((err) => { this.isLoading = false; return of([]); diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html index 7a6060500..71baeceb9 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html @@ -58,16 +58,37 @@
    - +
    - -
    Adjustments
    +
    +
    Latest blocks
     
    - + + + + + + + + + + + + + + + +
    HeightPoolMedian feeAccelerations
    {{ block.height }} + + + {{ block.extras.pool.name }} + + {{ block.accelerationCount | number }}
    diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss index 4f01f7cad..1171846fe 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss @@ -100,3 +100,32 @@ text-decoration: none; color: inherit; } + +.lastest-blocks-table { + width: 100%; + text-align: left; + tr, td, th { + border: 0px; + padding-top: 0.65rem !important; + padding-bottom: 0.8rem !important; + } + .table-cell-height { + width: 25%; + } + .table-cell-fee { + width: 25%; + text-align: right; + } + .table-cell-pool { + text-align: left; + width: 30%; + + .pool-name { + margin-left: 1em; + } + } + .table-cell-acceleration-count { + text-align: right; + width: 20%; + } +} \ No newline at end of file diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts index edae81aa1..499984d2e 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts @@ -1,6 +1,14 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { SeoService } from '../../services/seo.service'; import { WebsocketService } from '../../services/websocket.service'; +import { Acceleration, BlockExtended } from '../../interfaces/node-api.interface'; +import { StateService } from '../../services/state.service'; +import { Observable, catchError, combineLatest, of, switchMap } from 'rxjs'; +import { ApiService } from '../../services/api.service'; + +interface AccelerationBlock extends BlockExtended { + accelerationCount: number, +} @Component({ selector: 'app-accelerator-dashboard', @@ -9,14 +17,57 @@ import { WebsocketService } from '../../services/websocket.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class AcceleratorDashboardComponent implements OnInit { + blocks$: Observable; + + loadingBlocks: boolean = true; + constructor( private seoService: SeoService, private websocketService: WebsocketService, + private apiService: ApiService, + private stateService: StateService, ) { this.seoService.setTitle($localize`:@@a681a4e2011bb28157689dbaa387de0dd0aa0c11:Accelerator Dashboard`); } ngOnInit(): void { this.websocketService.want(['blocks', 'mempool-blocks', 'stats']); + + this.blocks$ = combineLatest([ + this.stateService.blocks$.pipe( + switchMap((blocks) => { + if (this.stateService.env.MINING_DASHBOARD === true) { + for (const block of blocks) { + // @ts-ignore: Need to add an extra field for the template + block.extras.pool.logo = `/resources/mining-pools/` + + block.extras.pool.name.toLowerCase().replace(' ', '').replace('.', '') + '.svg'; + } + } + return of(blocks as AccelerationBlock[]); + }) + ), + this.apiService.getAccelerations$('24h').pipe( + catchError((err) => { + this.loadingBlocks = false; + return of([]); + }) + ) + ]).pipe( + switchMap(([blocks, accelerations]) => { + const accelerationsByBlock: { [ hash: string ]: Acceleration[] } = {}; + for (const acceleration of accelerations) { + if (acceleration.mined && !accelerationsByBlock[acceleration.block_hash]) { + accelerationsByBlock[acceleration.block_hash] = []; + } + if (acceleration.mined) { + accelerationsByBlock[acceleration.block_hash].push(acceleration); + } + } + return of(blocks.slice(0, 6).map(block => { + block.accelerationCount = (accelerationsByBlock[block.id] || []).length; + return block; + })); + }) + ); } } From 14ad0c8ecb7d20a329c8f50b1a88f56ee8fc0a85 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 21 Jul 2023 14:13:36 +0900 Subject: [PATCH 296/639] Add more acceleration stats --- .../acceleration-stats.component.html | 6 +++--- .../acceleration-stats.component.ts | 5 +++-- .../accelerator-dashboard.component.html | 18 ++++++++++++++---- .../block-fee-rates-graph.component.ts | 2 +- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html index e8ded44fc..a2f201eb4 100644 --- a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html +++ b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html @@ -27,21 +27,21 @@
    -
    Miners Reward
    +
    Transactions
    -
    Avg Block Fees
    +
    Fee delta
    -
    Avg Tx Fee
    +
    Success rate
    diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts index fa69b1a9d..2d6355940 100644 --- a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts +++ b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { Observable, of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { ApiService } from '../../services/api.service'; @@ -11,13 +11,14 @@ import { StateService } from '../../services/state.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class AccelerationStatsComponent implements OnInit { + @Input() timespan: '24h' | '1w' = '24h'; public accelerationStats$: Observable; private lastBlockHeight: number; constructor(private apiService: ApiService, private stateService: StateService) { } ngOnInit(): void { - this.accelerationStats$ = this.apiService.getAccelerations$().pipe( + this.accelerationStats$ = this.apiService.getAccelerations$(this.timespan).pipe( switchMap(accelerations => { let totalFeeDelta = 0; let totalMined = 0; diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html index 71baeceb9..530cbbb10 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html @@ -4,6 +4,7 @@
    +
    Acceleration stats  @@ -12,16 +13,25 @@
    - +
    - +
    -
    Difficulty Adjustment
    - +
    + Acceleration stats  + (1008 blocks) +
    +
    +
    +
    + +
    +
    +
    diff --git a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts index 19c51527f..0de1e8474 100644 --- a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts +++ b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -210,7 +210,7 @@ export class BlockFeeRatesGraphComponent implements OnInit { top: this.widget ? 20 : (this.isMobile() ? 10 : 50), }, tooltip: { - show: !this.isMobile() && !this.widget, + show: !this.isMobile(), trigger: 'axis', axisPointer: { type: 'line' From 6cf40489e50a3973b4df3a07a38b21c4b280b335 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 21 Jul 2023 14:24:36 +0900 Subject: [PATCH 297/639] tidy up acceleration dashboard --- .../acceleration-stats/acceleration-stats.component.ts | 6 +++--- .../block-fee-rates-graph.component.ts | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts index 2d6355940..8c83c9d9c 100644 --- a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts +++ b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts @@ -2,7 +2,6 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core import { Observable, of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { ApiService } from '../../services/api.service'; -import { StateService } from '../../services/state.service'; @Component({ selector: 'app-acceleration-stats', @@ -13,9 +12,10 @@ import { StateService } from '../../services/state.service'; export class AccelerationStatsComponent implements OnInit { @Input() timespan: '24h' | '1w' = '24h'; public accelerationStats$: Observable; - private lastBlockHeight: number; - constructor(private apiService: ApiService, private stateService: StateService) { } + constructor( + private apiService: ApiService, + ) { } ngOnInit(): void { this.accelerationStats$ = this.apiService.getAccelerations$(this.timespan).pipe( diff --git a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts index 0de1e8474..7f73a197a 100644 --- a/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts +++ b/frontend/src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, LOCALE_ID, NgZone, OnInit } from '@angular/core'; import { EChartsOption, graphic } from 'echarts'; -import { Observable, Subscription, combineLatest, of } from 'rxjs'; +import { Observable, combineLatest, of } from 'rxjs'; import { map, share, startWith, switchMap, tap } from 'rxjs/operators'; import { ApiService } from '../../services/api.service'; import { SeoService } from '../../services/seo.service'; @@ -158,11 +158,11 @@ export class BlockFeeRatesGraphComponent implements OnInit { avg += seriesData['Median'][i - y][1]; } avg /= maResolution; - medianMa.push([seriesData['Median'][i][0], avg]); + medianMa.push([seriesData['Median'][i][0], avg, seriesData['Median'][i][2]]); } series.push({ zlevel: 1, - name: 'MA', + name: 'Moving average', data: medianMa, type: 'line', showSymbol: false, @@ -231,9 +231,9 @@ export class BlockFeeRatesGraphComponent implements OnInit { for (const rate of data.reverse()) { if (weightMode) { - tooltip += `${rate.marker} ${rate.seriesName}: ${rate.data[1] / 4} sats/WU
    `; + tooltip += `${rate.marker} ${rate.seriesName}: ${(rate.data[1] / 4).toFixed(2)} sats/WU
    `; } else { - tooltip += `${rate.marker} ${rate.seriesName}: ${rate.data[1]} sats/vByte
    `; + tooltip += `${rate.marker} ${rate.seriesName}: ${rate.data[1].toFixed(2)} sats/vByte
    `; } } From f409c6712531831f257e156aba0ed18447c042fe Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sat, 22 Jul 2023 15:30:48 +0900 Subject: [PATCH 298/639] update acceleration dashboard to match actual API format --- .../acceleration-stats/acceleration-stats.component.ts | 6 +++--- .../accelerations-list/accelerations-list.component.html | 6 +++--- .../accelerations-list/accelerations-list.component.ts | 2 +- .../accelerator-dashboard.component.ts | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts index 8c83c9d9c..ab423a216 100644 --- a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts +++ b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts @@ -18,16 +18,16 @@ export class AccelerationStatsComponent implements OnInit { ) { } ngOnInit(): void { - this.accelerationStats$ = this.apiService.getAccelerations$(this.timespan).pipe( + this.accelerationStats$ = this.apiService.getAccelerationHistory$(this.timespan).pipe( switchMap(accelerations => { let totalFeeDelta = 0; let totalMined = 0; let totalCanceled = 0; for (const acceleration of accelerations) { - if (acceleration.mined) { + if (acceleration.status === 'completed' || acceleration.status === 'mined') { totalMined++; totalFeeDelta += acceleration.feeDelta; - } else if (acceleration.canceled) { + } else if (acceleration.status === 'failed') { totalCanceled++; } } diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/accelerations-list/accelerations-list.component.html index 367b6f33d..4b37f28c0 100644 --- a/frontend/src/app/components/accelerations-list/accelerations-list.component.html +++ b/frontend/src/app/components/accelerations-list/accelerations-list.component.html @@ -22,14 +22,14 @@
    - {{ acceleration.fee | number }} sat + {{ acceleration.feePaid | number }} sat {{ acceleration.feeDelta | number }} sat - Mined - Canceled + Mined + Canceled
    + Pending Mined Canceled
    From 5a55ba2d28585e6c4345738f77b3cbd1f7c2d7f6 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 3 Dec 2023 08:17:29 +0000 Subject: [PATCH 304/639] Accelerator dashboard pending widget, fee delta fiat values --- .../acceleration-stats.component.html | 24 ++++++-- .../acceleration-stats.component.ts | 60 ++++++++++++------- .../accelerator-dashboard.component.html | 5 +- 3 files changed, 62 insertions(+), 27 deletions(-) diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html index a2f201eb4..2180a1ad6 100644 --- a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html +++ b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html @@ -10,17 +10,26 @@
    Fee delta
    -
    {{ stats.totalFeeDelta | number }} sat
    -
    paid out of band
    +
    {{ stats.totalFeeDelta / 100_000_000 | amountShortener: 4 }} BTC
    + + +
    -
    +
    Success rate
    {{ stats.successRate.toFixed(2) }} %
    mined in the next block
    +
    +
    Total vsize
    +
    +
    +
    {{ (stats.totalVsize / 1_000_000).toFixed(2) }}% of next block
    +
    +
    @@ -40,12 +49,19 @@
    -
    +
    Success rate
    +
    +
    Total vsize
    +
    +
    +
    +
    +
    diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts index ab423a216..4d06a31e2 100644 --- a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts +++ b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts @@ -10,7 +10,7 @@ import { ApiService } from '../../services/api.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class AccelerationStatsComponent implements OnInit { - @Input() timespan: '24h' | '1w' = '24h'; + @Input() timespan: 'now' | '24h' | '1w' = '24h'; public accelerationStats$: Observable; constructor( @@ -18,26 +18,46 @@ export class AccelerationStatsComponent implements OnInit { ) { } ngOnInit(): void { - this.accelerationStats$ = this.apiService.getAccelerationHistory$(this.timespan).pipe( - switchMap(accelerations => { - let totalFeeDelta = 0; - let totalMined = 0; - let totalCanceled = 0; - for (const acceleration of accelerations) { - if (acceleration.status === 'completed' || acceleration.status === 'mined') { - totalMined++; - totalFeeDelta += acceleration.feeDelta; - } else if (acceleration.status === 'failed') { - totalCanceled++; + if (this.timespan === 'now') { + this.accelerationStats$ = this.apiService.getAccelerations$().pipe( + switchMap(accelerations => { + let totalAccelerations = 0; + let totalFeeDelta = 0; + let totalVsize = 0; + for (const acceleration of accelerations) { + totalAccelerations++; + totalFeeDelta += acceleration.feeDelta || 0; + totalVsize += acceleration.effectiveVsize || 0; } - } - return of({ - count: totalMined, - totalFeeDelta, - successRate: (totalMined + totalCanceled > 0) ? ((totalMined / (totalMined + totalCanceled)) * 100) : 0.0, - }); - }) - ); + return of({ + count: totalAccelerations, + totalFeeDelta, + totalVsize, + }); + }) + ); + } else { + this.accelerationStats$ = this.apiService.getAccelerationHistory$(this.timespan).pipe( + switchMap(accelerations => { + let totalFeeDelta = 0; + let totalMined = 0; + let totalCanceled = 0; + for (const acceleration of accelerations) { + if (acceleration.status === 'completed') { + totalMined++; + totalFeeDelta += acceleration.feeDelta || 0; + } else if (acceleration.status === 'failed') { + totalCanceled++; + } + } + return of({ + count: totalMined, + totalFeeDelta, + successRate: (totalMined + totalCanceled > 0) ? ((totalMined / (totalMined + totalCanceled)) * 100) : 0.0, + }); + }) + ); + } } diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html index 039252e3a..155f3c4c6 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html @@ -7,13 +7,12 @@
    - Acceleration stats  - (144 blocks) + Pending accelerations
    - +
    From f071d5e76ac771330c21e56df041eb480347e3d5 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 3 Dec 2023 08:17:59 +0000 Subject: [PATCH 305/639] Accelerator dashboard fix success criteria --- .../acceleration-fees-graph.component.ts | 6 +++--- .../accelerator-dashboard.component.ts | 12 ++++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts index ca3dde69c..cb14db9e8 100644 --- a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts +++ b/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts @@ -72,7 +72,7 @@ export class AccelerationFeesGraphComponent implements OnInit { this.hrStatsObservable$ = this.apiService.getAccelerationHistory$('24h').pipe( map((accelerations) => { return { - avgFeeDelta: accelerations.filter(acc => acc.status === 'mined' || acc.status === 'completed').reduce((total, acc) => total + acc.feeDelta, 0) / accelerations.length + avgFeeDelta: accelerations.filter(acc => acc.status === 'completed').reduce((total, acc) => total + acc.feeDelta, 0) / accelerations.length }; }) ); @@ -87,7 +87,7 @@ export class AccelerationFeesGraphComponent implements OnInit { }), map(([accelerations, blockFeesResponse]) => { return { - avgFeeDelta: accelerations.filter(acc => acc.status === 'mined' || acc.status === 'completed').reduce((total, acc) => total + acc.feeDelta, 0) / accelerations.length + avgFeeDelta: accelerations.filter(acc => acc.status === 'completed').reduce((total, acc) => total + acc.feeDelta, 0) / accelerations.length }; }), ); @@ -132,7 +132,7 @@ export class AccelerationFeesGraphComponent implements OnInit { const blockAccelerations = {}; for (const acceleration of accelerations) { - if (acceleration.status === 'mined' || acceleration.status === 'completed') { + if (acceleration.status === 'completed') { if (!blockAccelerations[acceleration.blockHeight]) { blockAccelerations[acceleration.blockHeight] = []; } diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts index 8257c3306..3a3b3f384 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts @@ -54,12 +54,16 @@ export class AcceleratorDashboardComponent implements OnInit { ) ]).pipe( switchMap(([blocks, accelerations]) => { + const blockMap = {}; + for (const block of blocks) { + blockMap[block.id] = block; + } const accelerationsByBlock: { [ hash: string ]: Acceleration[] } = {}; for (const acceleration of accelerations) { - if (['mined', 'completed'].includes(acceleration.status) && !accelerationsByBlock[acceleration.blockHash]) { - accelerationsByBlock[acceleration.blockHash] = []; - } - if (['mined', 'completed'].includes(acceleration.status)) { + if (['mined', 'completed'].includes(acceleration.status) && acceleration.pools.includes(blockMap[acceleration.blockHash]?.extras.pool.id)) { + if (!accelerationsByBlock[acceleration.blockHash]) { + accelerationsByBlock[acceleration.blockHash] = []; + } accelerationsByBlock[acceleration.blockHash].push(acceleration); } } From 47de84f03a3dcf77e1105c66871efaf7a5ebb999 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 3 Dec 2023 08:25:47 +0000 Subject: [PATCH 306/639] Accelerator dashboard widget titles: latest -> recent --- .../accelerator-dashboard.component.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html index 155f3c4c6..def01fc00 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html +++ b/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html @@ -43,7 +43,7 @@
    - +
    @@ -53,26 +53,26 @@
    - + - +
    -
    Latest blocks
    +
    Recent Blocks
     
    From e34ee3a34d652b7102b3727c9f5a379858175a22 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 7 Dec 2023 06:02:08 +0000 Subject: [PATCH 307/639] Fix rebase issues --- frontend/src/app/services/api.service.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/frontend/src/app/services/api.service.ts b/frontend/src/app/services/api.service.ts index e379a8626..854d15c2a 100644 --- a/frontend/src/app/services/api.service.ts +++ b/frontend/src/app/services/api.service.ts @@ -1,11 +1,7 @@ import { Injectable } from '@angular/core'; import { HttpClient, HttpParams, HttpResponse } from '@angular/common/http'; import { CpfpInfo, OptimizedMempoolStats, AddressInformation, LiquidPegs, ITranslators, -<<<<<<< HEAD PoolStat, BlockExtended, TransactionStripped, RewardStats, AuditScore, BlockSizesAndWeights, RbfTree, BlockAudit, Acceleration, AccelerationHistoryParams } from '../interfaces/node-api.interface'; -======= - PoolStat, BlockExtended, TransactionStripped, RewardStats, AuditScore, BlockSizesAndWeights, RbfTree, BlockAudit, Acceleration } from '../interfaces/node-api.interface'; ->>>>>>> 9b9adcd43 (widgetify block fee rates chart) import { BehaviorSubject, Observable, catchError, filter, of, shareReplay, take, tap } from 'rxjs'; import { StateService } from './state.service'; import { IBackendInfo, WebsocketResponse } from '../interfaces/websocket.interface'; From 8599876b26ee2109c379d4bfd8a5ab1d720360d0 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 7 Dec 2023 08:26:32 +0000 Subject: [PATCH 308/639] Refactor accelerator dashboard --- .../acceleration-stats.component.ts | 64 -------------- .../acceleration-fees-graph.component.html | 12 +-- .../acceleration-fees-graph.component.scss | 0 .../acceleration-fees-graph.component.ts | 35 ++++---- .../acceleration-stats.component.html | 53 +++++++++++ .../acceleration-stats.component.scss | 0 .../acceleration-stats.component.ts | 46 ++++++++++ .../accelerations-list.component.html | 13 +-- .../accelerations-list.component.scss | 0 .../accelerations-list.component.ts | 18 ++-- .../accelerator-dashboard.component.html | 10 +-- .../accelerator-dashboard.component.scss | 4 + .../accelerator-dashboard.component.ts | 35 +++++--- .../pending-stats.component.html} | 26 ++---- .../pending-stats.component.scss | 88 +++++++++++++++++++ .../pending-stats/pending-stats.component.ts | 39 ++++++++ frontend/src/app/graphs/graphs.module.ts | 4 +- .../src/app/graphs/graphs.routing.module.ts | 6 +- .../shared/components/btc/btc.component.html | 8 ++ .../shared/components/btc/btc.component.scss | 0 .../shared/components/btc/btc.component.ts | 44 ++++++++++ frontend/src/app/shared/shared.module.ts | 10 ++- 22 files changed, 373 insertions(+), 142 deletions(-) delete mode 100644 frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts rename frontend/src/app/components/{ => acceleration}/acceleration-fees-graph/acceleration-fees-graph.component.html (84%) rename frontend/src/app/components/{ => acceleration}/acceleration-fees-graph/acceleration-fees-graph.component.scss (100%) rename frontend/src/app/components/{ => acceleration}/acceleration-fees-graph/acceleration-fees-graph.component.ts (87%) create mode 100644 frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.html rename frontend/src/app/components/{ => acceleration}/acceleration-stats/acceleration-stats.component.scss (100%) create mode 100644 frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts rename frontend/src/app/components/{ => acceleration}/accelerations-list/accelerations-list.component.html (82%) rename frontend/src/app/components/{ => acceleration}/accelerations-list/accelerations-list.component.scss (100%) rename frontend/src/app/components/{ => acceleration}/accelerations-list/accelerations-list.component.ts (68%) rename frontend/src/app/components/{ => acceleration}/accelerator-dashboard/accelerator-dashboard.component.html (92%) rename frontend/src/app/components/{ => acceleration}/accelerator-dashboard/accelerator-dashboard.component.scss (97%) rename frontend/src/app/components/{ => acceleration}/accelerator-dashboard/accelerator-dashboard.component.ts (72%) rename frontend/src/app/components/{acceleration-stats/acceleration-stats.component.html => acceleration/pending-stats/pending-stats.component.html} (60%) create mode 100644 frontend/src/app/components/acceleration/pending-stats/pending-stats.component.scss create mode 100644 frontend/src/app/components/acceleration/pending-stats/pending-stats.component.ts create mode 100644 frontend/src/app/shared/components/btc/btc.component.html create mode 100644 frontend/src/app/shared/components/btc/btc.component.scss create mode 100644 frontend/src/app/shared/components/btc/btc.component.ts diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts b/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts deleted file mode 100644 index 4d06a31e2..000000000 --- a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; -import { Observable, of } from 'rxjs'; -import { switchMap } from 'rxjs/operators'; -import { ApiService } from '../../services/api.service'; - -@Component({ - selector: 'app-acceleration-stats', - templateUrl: './acceleration-stats.component.html', - styleUrls: ['./acceleration-stats.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class AccelerationStatsComponent implements OnInit { - @Input() timespan: 'now' | '24h' | '1w' = '24h'; - public accelerationStats$: Observable; - - constructor( - private apiService: ApiService, - ) { } - - ngOnInit(): void { - if (this.timespan === 'now') { - this.accelerationStats$ = this.apiService.getAccelerations$().pipe( - switchMap(accelerations => { - let totalAccelerations = 0; - let totalFeeDelta = 0; - let totalVsize = 0; - for (const acceleration of accelerations) { - totalAccelerations++; - totalFeeDelta += acceleration.feeDelta || 0; - totalVsize += acceleration.effectiveVsize || 0; - } - return of({ - count: totalAccelerations, - totalFeeDelta, - totalVsize, - }); - }) - ); - } else { - this.accelerationStats$ = this.apiService.getAccelerationHistory$(this.timespan).pipe( - switchMap(accelerations => { - let totalFeeDelta = 0; - let totalMined = 0; - let totalCanceled = 0; - for (const acceleration of accelerations) { - if (acceleration.status === 'completed') { - totalMined++; - totalFeeDelta += acceleration.feeDelta || 0; - } else if (acceleration.status === 'failed') { - totalCanceled++; - } - } - return of({ - count: totalMined, - totalFeeDelta, - successRate: (totalMined + totalCanceled > 0) ? ((totalMined / (totalMined + totalCanceled)) * 100) : 0.0, - }); - }) - ); - } - } - - -} diff --git a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html similarity index 84% rename from frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html rename to frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html index 6a56ac6ca..0c15f9f44 100644 --- a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.html +++ b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html @@ -30,15 +30,15 @@
    -
    Avg Fee Delta (24h)
    +
    Avg Out-of-band Fees (24h)

    - {{ stats.avgFeeDelta | number }} sat +

    -
    Avg Fee Delta (1w)
    +
    Avg Out-of-band Fees (1w)

    - {{ stats.avgFeeDelta | number }} sat +

    @@ -55,7 +55,7 @@
    -
    Avg Fee Delta (24h)
    +
    Avg Out-of-band Fees (24h)

    @@ -63,7 +63,7 @@
    -
    Avg Fee Delta (1w)
    +
    Avg Out-of-band Fees (1w)

    diff --git a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.scss b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.scss similarity index 100% rename from frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.scss rename to frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.scss diff --git a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts similarity index 87% rename from frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts rename to frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts index cb14db9e8..b5dc21eb6 100644 --- a/frontend/src/app/components/acceleration-fees-graph/acceleration-fees-graph.component.ts +++ b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts @@ -2,14 +2,15 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, L import { EChartsOption, graphic } from 'echarts'; import { Observable, combineLatest } from 'rxjs'; import { map, startWith, switchMap, tap } from 'rxjs/operators'; -import { ApiService } from '../../services/api.service'; -import { SeoService } from '../../services/seo.service'; +import { ApiService } from '../../../services/api.service'; +import { SeoService } from '../../../services/seo.service'; import { formatNumber } from '@angular/common'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; -import { download, formatterXAxis } from '../../shared/graphs.utils'; -import { StorageService } from '../../services/storage.service'; -import { MiningService } from '../../services/mining.service'; +import { download, formatterXAxis } from '../../../shared/graphs.utils'; +import { StorageService } from '../../../services/storage.service'; +import { MiningService } from '../../../services/mining.service'; import { ActivatedRoute } from '@angular/router'; +import { Acceleration } from '../../../interfaces/node-api.interface'; @Component({ selector: 'app-acceleration-fees-graph', @@ -29,6 +30,7 @@ export class AccelerationFeesGraphComponent implements OnInit { @Input() widget: boolean = false; @Input() right: number | string = 45; @Input() left: number | string = 75; + @Input() accelerations$: Observable; miningWindowPreference: string; radioGroupForm: UntypedFormGroup; @@ -69,16 +71,16 @@ export class AccelerationFeesGraphComponent implements OnInit { this.isLoading = true; this.timespan = this.miningWindowPreference; - this.hrStatsObservable$ = this.apiService.getAccelerationHistory$('24h').pipe( + this.hrStatsObservable$ = (this.accelerations$ || this.apiService.getAccelerationHistory$({ timeframe: '24h' })).pipe( map((accelerations) => { return { - avgFeeDelta: accelerations.filter(acc => acc.status === 'completed').reduce((total, acc) => total + acc.feeDelta, 0) / accelerations.length + avgFeesPaid: accelerations.filter(acc => acc.status === 'completed' && acc.lastUpdated < (Date.now() - (24 * 60 * 60 * 1000))).reduce((total, acc) => total + acc.feePaid, 0) / accelerations.length }; }) ); this.statsObservable$ = combineLatest([ - this.apiService.getAccelerationHistory$(this.miningWindowPreference), + (this.accelerations$ || this.apiService.getAccelerationHistory$({ timeframe: this.miningWindowPreference })), this.apiService.getHistoricalBlockFees$(this.miningWindowPreference), ]).pipe( tap(([accelerations, blockFeesResponse]) => { @@ -87,7 +89,7 @@ export class AccelerationFeesGraphComponent implements OnInit { }), map(([accelerations, blockFeesResponse]) => { return { - avgFeeDelta: accelerations.filter(acc => acc.status === 'completed').reduce((total, acc) => total + acc.feeDelta, 0) / accelerations.length + avgFeesPaid: accelerations.filter(acc => acc.status === 'completed').reduce((total, acc) => total + acc.feePaid, 0) / accelerations.length }; }), ); @@ -107,7 +109,7 @@ export class AccelerationFeesGraphComponent implements OnInit { this.isLoading = true; this.storageService.setValue('miningWindowPreference', timespan); this.timespan = timespan; - return this.apiService.getAccelerationHistory$(); + return this.apiService.getAccelerationHistory$({}); }) ), this.radioGroupForm.get('dateSpan').valueChanges.pipe( @@ -147,15 +149,18 @@ export class AccelerationFeesGraphComponent implements OnInit { last = val.avgHeight; } let totalFeeDelta = 0; + let totalFeePaid = 0; let totalCount = 0; while (last <= val.avgHeight) { totalFeeDelta += (blockAccelerations[last] || []).reduce((total, acc) => total + acc.feeDelta, 0); + totalFeePaid += (blockAccelerations[last] || []).reduce((total, acc) => total + acc.feePaid, 0); totalCount += (blockAccelerations[last] || []).length; last++; } data.push({ ...val, feeDelta: totalFeeDelta, + feePaid: totalFeePaid, accelerations: totalCount, }); } @@ -236,7 +241,7 @@ export class AccelerationFeesGraphComponent implements OnInit { icon: 'roundRect', }, { - name: 'Total fee delta', + name: 'Out-of-band fees paid', inactiveColor: 'rgb(110, 112, 121)', textStyle: { color: 'white', @@ -251,8 +256,8 @@ export class AccelerationFeesGraphComponent implements OnInit { axisLabel: { color: 'rgb(110, 112, 121)', formatter: (val) => { - if (val >= 1_000_000) { - return `${(val / 100_000_000).toPrecision(5)} BTC`; + if (val >= 100_000) { + return `${(val / 100_000_000).toFixed(3)} BTC`; } else { return `${val} sats`; } @@ -303,8 +308,8 @@ export class AccelerationFeesGraphComponent implements OnInit { legendHoverLink: false, zlevel: 1, yAxisIndex: 0, - name: 'Total fee delta', - data: data.map(block => [block.timestamp * 1000, block.feeDelta, block.avgHeight]), + name: 'Out-of-band fees paid', + data: data.map(block => [block.timestamp * 1000, block.feePaid, block.avgHeight]), type: 'line', smooth: 0.25, symbol: 'none', diff --git a/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.html b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.html new file mode 100644 index 000000000..21cd57ae0 --- /dev/null +++ b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.html @@ -0,0 +1,53 @@ +
    +
    +
    +
    Transactions
    +
    +
    {{ stats.count }}
    +
    accelerated
    +
    +
    +
    +
    Out-of-band Fees
    +
    +
    {{ stats.totalFeesPaid / 100_000_000 | amountShortener: 4 }} BTC
    + + + +
    +
    +
    +
    Success rate
    +
    +
    {{ stats.successRate.toFixed(2) }} %
    +
    mined
    +
    +
    +
    +
    + + +
    +
    +
    Transactions
    +
    +
    +
    +
    +
    +
    +
    Out-of-band Fees
    +
    +
    +
    +
    +
    +
    +
    Success rate
    +
    +
    +
    +
    +
    +
    +
    diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.scss b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.scss similarity index 100% rename from frontend/src/app/components/acceleration-stats/acceleration-stats.component.scss rename to frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.scss diff --git a/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts new file mode 100644 index 000000000..51f7360e1 --- /dev/null +++ b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts @@ -0,0 +1,46 @@ +import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; +import { Observable, of } from 'rxjs'; +import { switchMap } from 'rxjs/operators'; +import { ApiService } from '../../../services/api.service'; +import { StateService } from '../../../services/state.service'; +import { Acceleration } from '../../../interfaces/node-api.interface'; + +@Component({ + selector: 'app-acceleration-stats', + templateUrl: './acceleration-stats.component.html', + styleUrls: ['./acceleration-stats.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AccelerationStatsComponent implements OnInit { + @Input() timespan: '24h' | '1w' = '24h'; + @Input() accelerations$: Observable; + public accelerationStats$: Observable; + + constructor( + private apiService: ApiService, + private stateService: StateService, + ) { } + + ngOnInit(): void { + this.accelerationStats$ = this.accelerations$.pipe( + switchMap(accelerations => { + let totalFeesPaid = 0; + let totalSucceeded = 0; + let totalCanceled = 0; + for (const acceleration of accelerations) { + if (acceleration.status === 'completed') { + totalSucceeded++; + totalFeesPaid += acceleration.feePaid || 0; + } else if (acceleration.status === 'failed') { + totalCanceled++; + } + } + return of({ + count: totalSucceeded, + totalFeesPaid, + successRate: (totalSucceeded + totalCanceled > 0) ? ((totalSucceeded / (totalSucceeded + totalCanceled)) * 100) : 0.0, + }); + }) + ); + } +} diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html similarity index 82% rename from frontend/src/app/components/accelerations-list/accelerations-list.component.html rename to frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html index 80f1c1dbf..0ac963446 100644 --- a/frontend/src/app/components/accelerations-list/accelerations-list.component.html +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html @@ -10,19 +10,22 @@
    - - + + - + - + - + - + @@ -321,7 +325,11 @@ - + diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index be8cec328..8a4fe3c9a 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -1191,3 +1191,7 @@ app-global-footer { line-height: 0.5; border-radius: 0.2rem; } + +.info-link fa-icon { + color: rgba(255, 255, 255, 0.4); +} From 7f62a0f9b5109c33d3f04fd46a5277d6c43ad10e Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 12 Jan 2024 10:50:41 +0100 Subject: [PATCH 400/639] [footer] fix css RTL issues --- .../global-footer/global-footer.component.html | 2 +- .../global-footer/global-footer.component.scss | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.html b/frontend/src/app/shared/components/global-footer/global-footer.component.html index ad153293d..232bedafd 100644 --- a/frontend/src/app/shared/components/global-footer/global-footer.component.html +++ b/frontend/src/app/shared/components/global-footer/global-footer.component.html @@ -26,7 +26,7 @@ Sign In - diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.scss b/frontend/src/app/shared/components/global-footer/global-footer.component.scss index 5cb992c28..c2bfe71dd 100644 --- a/frontend/src/app/shared/components/global-footer/global-footer.component.scss +++ b/frontend/src/app/shared/components/global-footer/global-footer.component.scss @@ -132,6 +132,7 @@ footer .row.version p a { footer .sponsor { height: 31px; align-items: center; + margin-right: 5px; margin-left: 5px; max-width: 160px; } @@ -145,9 +146,12 @@ footer .sponsor { } @media (min-width: 901px) { - .language-selector { + :host-context(.ltr-layout) .language-selector { float: right !important; } + :host-context(.rtl-layout) .language-selector { + float: left !important; + } .explore-tagline-desktop { display: block; @@ -217,10 +221,6 @@ footer .sponsor { float: none; margin-top: 15px; } - - footer .selector:not(:last-child) { - margin-right: 10px; - } } @media (max-width: 1147px) { From a23088458bd638cdfe0cda5d73da0c4180653cbe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Jan 2024 10:21:43 +0000 Subject: [PATCH 401/639] Bump follow-redirects from 1.15.3 to 1.15.5 in /frontend Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.5. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.5) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index dfd5b1f72..59bdac54a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -31,7 +31,6 @@ "bootstrap": "~4.6.2", "browserify": "^17.0.0", "clipboard": "^2.0.11", - "cypress-fail-on-console-error": "~5.1.0", "domino": "^2.1.6", "echarts": "~5.4.3", "lightweight-charts": "~3.8.0", @@ -9273,9 +9272,9 @@ "devOptional": true }, "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "funding": [ { "type": "individual", @@ -23993,9 +23992,9 @@ "devOptional": true }, "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "foreach": { "version": "2.0.5", From 46fdb5b30d8fc9c127c1ab292940c358e58d4faf Mon Sep 17 00:00:00 2001 From: softsimon Date: Fri, 12 Jan 2024 18:08:57 +0700 Subject: [PATCH 402/639] Adding dashboard skeleton loaders --- .../app/components/block/block.component.html | 27 +++++++++++++++-- .../app/dashboard/dashboard.component.html | 30 ++++++++++++++++--- 2 files changed, 51 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index b34b39c8c..0c92de7af 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -233,7 +233,9 @@ - + + +
    @@ -245,7 +247,9 @@
    - + + + @@ -452,5 +456,24 @@
    TXIDFeeFee deltaFinal FeeMax Bid Status
    - {{ acceleration.feePaid | number }} sat + + {{ (acceleration.feePaid - acceleration.baseFee - acceleration.vsizeFee) | number }} sat + + ~ {{ acceleration.feeDelta | number }} sat diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.scss b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss similarity index 100% rename from frontend/src/app/components/accelerations-list/accelerations-list.component.scss rename to frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss diff --git a/frontend/src/app/components/accelerations-list/accelerations-list.component.ts b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts similarity index 68% rename from frontend/src/app/components/accelerations-list/accelerations-list.component.ts rename to frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts index efc900bd5..0c0002782 100644 --- a/frontend/src/app/components/accelerations-list/accelerations-list.component.ts +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts @@ -1,9 +1,9 @@ import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef } from '@angular/core'; -import { Observable, catchError, of, switchMap } from 'rxjs'; -import { Acceleration, BlockExtended } from '../../interfaces/node-api.interface'; -import { ApiService } from '../../services/api.service'; -import { StateService } from '../../services/state.service'; -import { WebsocketService } from '../../services/websocket.service'; +import { Observable, catchError, of, switchMap, tap } from 'rxjs'; +import { Acceleration, BlockExtended } from '../../../interfaces/node-api.interface'; +import { ApiService } from '../../../services/api.service'; +import { StateService } from '../../../services/state.service'; +import { WebsocketService } from '../../../services/websocket.service'; @Component({ selector: 'app-accelerations-list', @@ -13,8 +13,9 @@ import { WebsocketService } from '../../services/websocket.service'; }) export class AccelerationsListComponent implements OnInit { @Input() widget: boolean = false; + @Input() accelerations$: Observable; - accelerations$: Observable = undefined; + accelerationList$: Observable = undefined; isLoading = true; paginationMaxSize: number; @@ -39,7 +40,7 @@ export class AccelerationsListComponent implements OnInit { this.skeletonLines = this.widget === true ? [...Array(6).keys()] : [...Array(15).keys()]; this.paginationMaxSize = window.matchMedia('(max-width: 670px)').matches ? 3 : 5; - this.accelerations$ = this.apiService.getAccelerationHistory$().pipe( + this.accelerationList$ = (this.apiService.getAccelerationHistory$({ timeframe: '1m' }) || this.accelerations$).pipe( switchMap(accelerations => { if (this.widget) { return of(accelerations.slice(-6).reverse()); @@ -50,6 +51,9 @@ export class AccelerationsListComponent implements OnInit { catchError((err) => { this.isLoading = false; return of([]); + }), + tap(() => { + this.isLoading = false; }) ); } diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html similarity index 92% rename from frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html rename to frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html index def01fc00..b43d27f05 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.html +++ b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html @@ -4,7 +4,7 @@
    - +
    Pending accelerations @@ -12,7 +12,7 @@
    - +
    @@ -27,7 +27,7 @@
    - +
    @@ -37,7 +37,7 @@
    @@ -62,7 +62,7 @@   - +
    diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss similarity index 97% rename from frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss rename to frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss index 1171846fe..6d863fb60 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.scss +++ b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss @@ -120,6 +120,10 @@ text-align: left; width: 30%; + @media (max-width: 875px) { + display: none; + } + .pool-name { margin-left: 1em; } diff --git a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts similarity index 72% rename from frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts rename to frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts index 3a3b3f384..00b3d303b 100644 --- a/frontend/src/app/components/accelerator-dashboard/accelerator-dashboard.component.ts +++ b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts @@ -1,10 +1,10 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; -import { SeoService } from '../../services/seo.service'; -import { WebsocketService } from '../../services/websocket.service'; -import { Acceleration, BlockExtended } from '../../interfaces/node-api.interface'; -import { StateService } from '../../services/state.service'; -import { Observable, catchError, combineLatest, of, switchMap } from 'rxjs'; -import { ApiService } from '../../services/api.service'; +import { SeoService } from '../../../services/seo.service'; +import { WebsocketService } from '../../../services/websocket.service'; +import { Acceleration, BlockExtended } from '../../../interfaces/node-api.interface'; +import { StateService } from '../../../services/state.service'; +import { Observable, Subject, catchError, combineLatest, distinctUntilChanged, of, share, switchMap, tap } from 'rxjs'; +import { ApiService } from '../../../services/api.service'; interface AccelerationBlock extends BlockExtended { accelerationCount: number, @@ -18,7 +18,7 @@ interface AccelerationBlock extends BlockExtended { }) export class AcceleratorDashboardComponent implements OnInit { blocks$: Observable; - + accelerations$: Observable; loadingBlocks: boolean = true; constructor( @@ -33,7 +33,19 @@ export class AcceleratorDashboardComponent implements OnInit { ngOnInit(): void { this.websocketService.want(['blocks', 'mempool-blocks', 'stats']); + this.accelerations$ = this.stateService.chainTip$.pipe( + distinctUntilChanged(), + switchMap((chainTip) => { + return this.apiService.getAccelerationHistory$({ timeframe: '1w' }); + }), + catchError((e) => { + return of([]); + }), + share(), + ); + this.blocks$ = combineLatest([ + this.accelerations$, this.stateService.blocks$.pipe( switchMap((blocks) => { if (this.stateService.env.MINING_DASHBOARD === true) { @@ -44,16 +56,13 @@ export class AcceleratorDashboardComponent implements OnInit { } } return of(blocks as AccelerationBlock[]); - }) - ), - this.apiService.getAccelerationHistory$('24h').pipe( - catchError((err) => { + }), + tap(() => { this.loadingBlocks = false; - return of([]); }) ) ]).pipe( - switchMap(([blocks, accelerations]) => { + switchMap(([accelerations, blocks]) => { const blockMap = {}; for (const block of blocks) { blockMap[block.id] = block; diff --git a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html similarity index 60% rename from frontend/src/app/components/acceleration-stats/acceleration-stats.component.html rename to frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html index 2180a1ad6..5b7bc356a 100644 --- a/frontend/src/app/components/acceleration-stats/acceleration-stats.component.html +++ b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html @@ -8,22 +8,15 @@
    -
    Fee delta
    +
    Avg Max Bid
    -
    {{ stats.totalFeeDelta / 100_000_000 | amountShortener: 4 }} BTC
    +
    {{ stats.avgFeeDelta / 100_000_000 | amountShortener: 4 }} BTC
    - +
    -
    -
    Success rate
    -
    -
    {{ stats.successRate.toFixed(2) }} %
    -
    mined in the next block
    -
    -
    -
    +
    Total vsize
    @@ -43,20 +36,13 @@
    -
    Fee delta
    +
    Avg Max Bid
    -
    -
    Success rate
    -
    -
    -
    -
    -
    -
    +
    Total vsize
    diff --git a/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.scss b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.scss new file mode 100644 index 000000000..fcc5564a8 --- /dev/null +++ b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.scss @@ -0,0 +1,88 @@ +.card-title { + color: #4a68b9; + font-size: 10px; + margin-bottom: 4px; + font-size: 1rem; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.card-text { + font-size: 22px; + span { + font-size: 11px; + position: relative; + top: -2px; + display: inline-flex; + } + .green-color { + display: block; + } +} + +.stats-container { + display: flex; + justify-content: space-between; + @media (min-width: 376px) { + flex-direction: row; + } + .item { + max-width: 150px; + margin: 0; + width: -webkit-fill-available; + @media (min-width: 376px) { + margin: 0 auto 0px; + } + &:first-child{ + display: none; + @media (min-width: 485px) { + display: block; + } + @media (min-width: 768px) { + display: none; + } + @media (min-width: 992px) { + display: block; + } + } + &:last-child { + margin-bottom: 0; + } + .card-text span { + color: #ffffff66; + font-size: 12px; + top: 0px; + } + .fee-text{ + border-bottom: 1px solid #ffffff1c; + width: fit-content; + margin: auto; + line-height: 1.45; + padding: 0px 2px; + } + .fiat { + display: block; + font-size: 14px !important; + } + } +} + +.loading-container{ + min-height: 76px; +} + +.card-text { + .skeleton-loader { + width: 100%; + display: block; + &:first-child { + max-width: 90px; + margin: 15px auto 3px; + } + &:last-child { + margin: 10px auto 3px; + max-width: 55px; + } + } +} \ No newline at end of file diff --git a/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.ts b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.ts new file mode 100644 index 000000000..dd3adacf8 --- /dev/null +++ b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.ts @@ -0,0 +1,39 @@ +import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; +import { Observable, of } from 'rxjs'; +import { switchMap } from 'rxjs/operators'; +import { ApiService } from '../../../services/api.service'; + +@Component({ + selector: 'app-pending-stats', + templateUrl: './pending-stats.component.html', + styleUrls: ['./pending-stats.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class PendingStatsComponent implements OnInit { + public accelerationStats$: Observable; + + constructor( + private apiService: ApiService, + ) { } + + ngOnInit(): void { + this.accelerationStats$ = this.apiService.getAccelerations$().pipe( + switchMap(accelerations => { + let totalAccelerations = 0; + let totalFeeDelta = 0; + let totalVsize = 0; + for (const acceleration of accelerations) { + totalAccelerations++; + totalFeeDelta += acceleration.feeDelta || 0; + totalVsize += acceleration.effectiveVsize || 0; + } + return of({ + count: totalAccelerations, + totalFeeDelta, + avgFeeDelta: totalAccelerations ? totalFeeDelta / totalAccelerations : 0, + totalVsize, + }); + }) + ); + } +} diff --git a/frontend/src/app/graphs/graphs.module.ts b/frontend/src/app/graphs/graphs.module.ts index 81a1f0c06..85905d1f1 100644 --- a/frontend/src/app/graphs/graphs.module.ts +++ b/frontend/src/app/graphs/graphs.module.ts @@ -3,7 +3,7 @@ import { NgxEchartsModule } from 'ngx-echarts'; import { GraphsRoutingModule } from './graphs.routing.module'; import { SharedModule } from '../shared/shared.module'; -import { AccelerationFeesGraphComponent } from '../components/acceleration-fees-graph/acceleration-fees-graph.component'; +import { AccelerationFeesGraphComponent } from '../components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component'; import { BlockFeesGraphComponent } from '../components/block-fees-graph/block-fees-graph.component'; import { BlockRewardsGraphComponent } from '../components/block-rewards-graph/block-rewards-graph.component'; import { BlockFeeRatesGraphComponent } from '../components/block-fee-rates-graph/block-fee-rates-graph.component'; @@ -20,7 +20,7 @@ import { PoolComponent } from '../components/pool/pool.component'; import { TelevisionComponent } from '../components/television/television.component'; import { DashboardComponent } from '../dashboard/dashboard.component'; import { MiningDashboardComponent } from '../components/mining-dashboard/mining-dashboard.component'; -import { AcceleratorDashboardComponent } from '../components/accelerator-dashboard/accelerator-dashboard.component'; +import { AcceleratorDashboardComponent } from '../components/acceleration/accelerator-dashboard/accelerator-dashboard.component'; import { HashrateChartComponent } from '../components/hashrate-chart/hashrate-chart.component'; import { HashrateChartPoolsComponent } from '../components/hashrates-chart-pools/hashrate-chart-pools.component'; import { BlockHealthGraphComponent } from '../components/block-health-graph/block-health-graph.component'; diff --git a/frontend/src/app/graphs/graphs.routing.module.ts b/frontend/src/app/graphs/graphs.routing.module.ts index 12eeb6e4c..0f217eb6e 100644 --- a/frontend/src/app/graphs/graphs.routing.module.ts +++ b/frontend/src/app/graphs/graphs.routing.module.ts @@ -10,15 +10,15 @@ import { HashrateChartComponent } from '../components/hashrate-chart/hashrate-ch import { HashrateChartPoolsComponent } from '../components/hashrates-chart-pools/hashrate-chart-pools.component'; import { MempoolBlockComponent } from '../components/mempool-block/mempool-block.component'; import { MiningDashboardComponent } from '../components/mining-dashboard/mining-dashboard.component'; -import { AcceleratorDashboardComponent } from '../components/accelerator-dashboard/accelerator-dashboard.component'; +import { AcceleratorDashboardComponent } from '../components/acceleration/accelerator-dashboard/accelerator-dashboard.component'; import { PoolRankingComponent } from '../components/pool-ranking/pool-ranking.component'; import { PoolComponent } from '../components/pool/pool.component'; import { StartComponent } from '../components/start/start.component'; import { StatisticsComponent } from '../components/statistics/statistics.component'; import { TelevisionComponent } from '../components/television/television.component'; import { DashboardComponent } from '../dashboard/dashboard.component'; -import { AccelerationFeesGraphComponent } from '../components/acceleration-fees-graph/acceleration-fees-graph.component'; -import { AccelerationsListComponent } from '../components/accelerations-list/accelerations-list.component'; +import { AccelerationFeesGraphComponent } from '../components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component'; +import { AccelerationsListComponent } from '../components/acceleration/accelerations-list/accelerations-list.component'; const routes: Routes = [ { diff --git a/frontend/src/app/shared/components/btc/btc.component.html b/frontend/src/app/shared/components/btc/btc.component.html new file mode 100644 index 000000000..c13a8ff31 --- /dev/null +++ b/frontend/src/app/shared/components/btc/btc.component.html @@ -0,0 +1,8 @@ +{{ valueOverride }} +‎{{ addPlus && satoshis >= 0 ? '+' : '' }}{{ value | number }} + + L- + tL- + t- + s-{{ unit }} + \ No newline at end of file diff --git a/frontend/src/app/shared/components/btc/btc.component.scss b/frontend/src/app/shared/components/btc/btc.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/frontend/src/app/shared/components/btc/btc.component.ts b/frontend/src/app/shared/components/btc/btc.component.ts new file mode 100644 index 000000000..4e62b07ff --- /dev/null +++ b/frontend/src/app/shared/components/btc/btc.component.ts @@ -0,0 +1,44 @@ +import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core'; +import { Subscription } from 'rxjs'; +import { StateService } from '../../../services/state.service'; + +@Component({ + selector: 'app-btc', + templateUrl: './btc.component.html', + styleUrls: ['./btc.component.scss'] +}) +export class BtcComponent implements OnInit, OnChanges { + @Input() satoshis: number; + @Input() addPlus = false; + @Input() valueOverride: string | undefined = undefined; + + value: number; + unit: string; + + network = ''; + stateSubscription: Subscription; + + constructor( + private stateService: StateService, + ) { } + + ngOnInit() { + this.stateSubscription = this.stateService.networkChanged$.subscribe((network) => this.network = network); + } + + ngOnDestroy() { + if (this.stateSubscription) { + this.stateSubscription.unsubscribe(); + } + } + + ngOnChanges(changes: SimpleChanges): void { + if (this.satoshis >= 1_000_000) { + this.value = (this.satoshis / 100_000_000); + this.unit = 'BTC' + } else { + this.value = Math.round(this.satoshis); + this.unit = 'sats' + } + } +} diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index bd897ba99..52123f995 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -73,6 +73,7 @@ import { IndexingProgressComponent } from '../components/indexing-progress/index import { SvgImagesComponent } from '../components/svg-images/svg-images.component'; import { ChangeComponent } from '../components/change/change.component'; import { SatsComponent } from './components/sats/sats.component'; +import { BtcComponent } from './components/btc/btc.component'; import { FeeRateComponent } from './components/fee-rate/fee-rate.component'; import { TruncateComponent } from './components/truncate/truncate.component'; import { SearchResultsComponent } from '../components/search-form/search-results/search-results.component'; @@ -85,8 +86,9 @@ import { GlobalFooterComponent } from './components/global-footer/global-footer. import { AcceleratePreviewComponent } from '../components/accelerate-preview/accelerate-preview.component'; import { AccelerateFeeGraphComponent } from '../components/accelerate-preview/accelerate-fee-graph.component'; import { MempoolErrorComponent } from './components/mempool-error/mempool-error.component'; -import { AccelerationsListComponent } from '../components/accelerations-list/accelerations-list.component'; -import { AccelerationStatsComponent } from '../components/acceleration-stats/acceleration-stats.component'; +import { AccelerationsListComponent } from '../components/acceleration/accelerations-list/accelerations-list.component'; +import { PendingStatsComponent } from '../components/acceleration/pending-stats/pending-stats.component'; +import { AccelerationStatsComponent } from '../components/acceleration/acceleration-stats/acceleration-stats.component'; import { BlockViewComponent } from '../components/block-view/block-view.component'; import { EightBlocksComponent } from '../components/eight-blocks/eight-blocks.component'; @@ -169,6 +171,7 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir SvgImagesComponent, ChangeComponent, SatsComponent, + BtcComponent, FeeRateComponent, TruncateComponent, SearchResultsComponent, @@ -194,6 +197,7 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir MempoolErrorComponent, AccelerationsListComponent, AccelerationStatsComponent, + PendingStatsComponent, ], imports: [ CommonModule, @@ -291,6 +295,7 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir SvgImagesComponent, ChangeComponent, SatsComponent, + BtcComponent, FeeRateComponent, TruncateComponent, SearchResultsComponent, @@ -306,6 +311,7 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir MempoolErrorComponent, AccelerationsListComponent, AccelerationStatsComponent, + PendingStatsComponent, MempoolBlockOverviewComponent, ClockchainComponent, From 42f6f0c1224fc0bf56f566c6a1025c1d9ef4b8d5 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 7 Dec 2023 11:12:20 +0000 Subject: [PATCH 309/639] Redesign accelerator dashboard --- .../accelerations-list.component.html | 14 ++- .../accelerations-list.component.scss | 10 ++ .../accelerations-list.component.ts | 9 +- .../accelerator-dashboard.component.html | 69 ++++------- .../accelerator-dashboard.component.scss | 13 +++ .../accelerator-dashboard.component.ts | 38 ++++++- .../pending-stats.component.html | 2 +- .../pending-stats/pending-stats.component.ts | 4 +- .../block-overview-graph.component.ts | 9 +- .../block-overview-graph/block-scene.ts | 107 ++++++++++++++++-- .../block-overview-graph/tx-view.ts | 86 +------------- .../components/block-overview-graph/utils.ts | 29 +++++ .../mempool-block-overview.component.html | 1 + .../mempool-block-overview.component.ts | 3 + 14 files changed, 243 insertions(+), 151 deletions(-) create mode 100644 frontend/src/app/components/block-overview-graph/utils.ts diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html index 0ac963446..a64c4724b 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html @@ -1,20 +1,18 @@ - -

    Accelerations

    -
    - +
    +
    - + - - + + - - + + - @@ -104,13 +104,13 @@ - + - - + From b3a68a0db2adde67a73e1fb79f407bffcf60bab4 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 15 Dec 2023 15:04:26 +0000 Subject: [PATCH 345/639] Smoother goggles color change transition --- .../block-overview-graph/block-overview-graph.component.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts b/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts index 716ba540e..8a449a121 100644 --- a/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts +++ b/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts @@ -121,6 +121,7 @@ export class BlockOverviewGraphComponent implements AfterViewInit, OnDestroy, On } else { this.scene.setColorFunction(this.overrideColors); } + this.start(); } ngOnDestroy(): void { From 9e88f5ecf8c591b0046e454d186cd8f626d83842 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 15 Dec 2023 16:58:10 +0100 Subject: [PATCH 346/639] [typo] platinium -> platinum --- frontend/src/app/components/menu/menu.component.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/menu/menu.component.scss b/frontend/src/app/components/menu/menu.component.scss index 8a2006a4e..99377a564 100644 --- a/frontend/src/app/components/menu/menu.component.scss +++ b/frontend/src/app/components/menu/menu.component.scss @@ -85,6 +85,6 @@ background-color: #f1c40f; } -.badge-platinium { +.badge-platinum { background-color: #653b9c; } \ No newline at end of file From 60144695136e09620e31163d70cc7e5d2fd5641a Mon Sep 17 00:00:00 2001 From: softsimon Date: Fri, 15 Dec 2023 23:09:24 +0700 Subject: [PATCH 347/639] Acceleration sounds --- .../accelerate-preview.component.ts | 3 +++ .../transaction/transaction.component.ts | 6 +++++- frontend/src/app/services/audio.service.ts | 2 +- .../resources/sounds/ascend-chime-cartoon.mp3 | Bin 0 -> 17105 bytes .../sounds/wind-chimes-harp-ascend.mp3 | Bin 0 -> 63185 bytes 5 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 frontend/src/resources/sounds/ascend-chime-cartoon.mp3 create mode 100644 frontend/src/resources/sounds/wind-chimes-harp-ascend.mp3 diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts index f2224841a..d8ebb3830 100644 --- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts +++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts @@ -4,6 +4,7 @@ import { Subscription, catchError, of, tap } from 'rxjs'; import { StorageService } from '../../services/storage.service'; import { Transaction } from '../../interfaces/electrs.interface'; import { nextRoundNumber } from '../../shared/common.utils'; +import { AudioService } from '../../services/audio.service'; export type AccelerationEstimate = { txSummary: TxSummary; @@ -63,6 +64,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges constructor( private apiService: ApiService, private storageService: StorageService, + private audioService: AudioService, private cd: ChangeDetectorRef ) { } @@ -186,6 +188,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges this.userBid ).subscribe({ next: () => { + this.audioService.playSound('ascend-chime-cartoon'); this.showSuccess = true; this.scrollToPreviewWithTimeout('successAlert', 'center'); this.estimateSubscription.unsubscribe(); diff --git a/frontend/src/app/components/transaction/transaction.component.ts b/frontend/src/app/components/transaction/transaction.component.ts index ae3a950bd..f110c0435 100644 --- a/frontend/src/app/components/transaction/transaction.component.ts +++ b/frontend/src/app/components/transaction/transaction.component.ts @@ -439,7 +439,11 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { block_time: block.timestamp, }; this.stateService.markBlock$.next({ blockHeight: block.height }); - this.audioService.playSound('magic'); + if (this.accelerationInfo && ['accelerating', 'mined', 'completed'].includes(this.accelerationInfo.status)) { + this.audioService.playSound('wind-chimes-harp-ascend'); + } else { + this.audioService.playSound('magic'); + } this.fetchAcceleration$.next(block.id); } }); diff --git a/frontend/src/app/services/audio.service.ts b/frontend/src/app/services/audio.service.ts index a0b27d168..5b5ffbf07 100644 --- a/frontend/src/app/services/audio.service.ts +++ b/frontend/src/app/services/audio.service.ts @@ -13,7 +13,7 @@ export class AudioService { } catch (e) {} } - public playSound(name: 'magic' | 'chime' | 'cha-ching' | 'bright-harmony') { + public playSound(name: 'magic' | 'chime' | 'cha-ching' | 'bright-harmony' | 'wind-chimes-harp-ascend' | 'ascend-chime-cartoon') { if (this.isPlaying || !this.audio) { return; } diff --git a/frontend/src/resources/sounds/ascend-chime-cartoon.mp3 b/frontend/src/resources/sounds/ascend-chime-cartoon.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..614274324de204817ae044281e13bce0d748356c GIT binary patch literal 17105 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 vMeg4QasMR2|H8l(|Jy|FKhNs_jAf1dj<+^*+r literal 0 HcmV?d00001 From c2f52ac1f31a1674d7e6457c0c5bee9fd719a0d4 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 17 Dec 2023 09:57:15 +0000 Subject: [PATCH 348/639] Avoid repeated tx classification work --- backend/src/api/common.ts | 31 +++++++++++++++++++++---------- backend/src/mempool.interfaces.ts | 1 + 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/backend/src/api/common.ts b/backend/src/api/common.ts index 751bab5a3..4cd2b0873 100644 --- a/backend/src/api/common.ts +++ b/backend/src/api/common.ts @@ -222,7 +222,25 @@ export class Common { } static getTransactionFlags(tx: TransactionExtended): number { - let flags = 0n; + let flags = tx.flags ? BigInt(tx.flags) : 0n; + + // Update variable flags (CPFP, RBF) + if (tx.ancestors?.length) { + flags |= TransactionFlags.cpfp_child; + } + if (tx.descendants?.length) { + flags |= TransactionFlags.cpfp_parent; + } + if (rbfCache.getRbfTree(tx.txid)) { + flags |= TransactionFlags.replacement; + } + + // Already processed static flags, no need to do it again + if (tx.flags) { + return Number(flags); + } + + // Process static flags if (tx.version === 1) { flags |= TransactionFlags.v1; } else if (tx.version === 2) { @@ -306,15 +324,7 @@ export class Common { if (hasFakePubkey) { flags |= TransactionFlags.fake_pubkey; } - if (tx.ancestors?.length) { - flags |= TransactionFlags.cpfp_child; - } - if (tx.descendants?.length) { - flags |= TransactionFlags.cpfp_parent; - } - if (rbfCache.getRbfTree(tx.txid)) { - flags |= TransactionFlags.replacement; - } + // fast but bad heuristic to detect possible coinjoins // (at least 5 inputs and 5 outputs, less than half of which are unique amounts, with no address reuse) const addressReuse = Object.values(reusedAddresses).reduce((acc, count) => Math.max(acc, count), 0) > 1; @@ -335,6 +345,7 @@ export class Common { static classifyTransaction(tx: TransactionExtended): TransactionClassified { const flags = this.getTransactionFlags(tx); + tx.flags = flags; return { ...this.stripTransaction(tx), flags, diff --git a/backend/src/mempool.interfaces.ts b/backend/src/mempool.interfaces.ts index 4a630f1e4..d5dfcbf14 100644 --- a/backend/src/mempool.interfaces.ts +++ b/backend/src/mempool.interfaces.ts @@ -95,6 +95,7 @@ export interface TransactionExtended extends IEsploraApi.Transaction { }; acceleration?: boolean; uid?: number; + flags?: number; } export interface MempoolTransactionExtended extends TransactionExtended { From a8fd2ac9dc2cb46cc8e7d99a767cffa824b89175 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 17 Dec 2023 10:45:26 +0000 Subject: [PATCH 349/639] Preserve tx replacement flag --- backend/src/api/common.ts | 2 +- backend/src/api/disk-cache.ts | 1 + backend/src/api/rbf-cache.ts | 13 +++++++++---- backend/src/api/redis-cache.ts | 1 + backend/src/mempool.interfaces.ts | 1 + 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/backend/src/api/common.ts b/backend/src/api/common.ts index 4cd2b0873..358a98c98 100644 --- a/backend/src/api/common.ts +++ b/backend/src/api/common.ts @@ -231,7 +231,7 @@ export class Common { if (tx.descendants?.length) { flags |= TransactionFlags.cpfp_parent; } - if (rbfCache.getRbfTree(tx.txid)) { + if (tx.replacement) { flags |= TransactionFlags.replacement; } diff --git a/backend/src/api/disk-cache.ts b/backend/src/api/disk-cache.ts index 093f07f0d..202f8f4cb 100644 --- a/backend/src/api/disk-cache.ts +++ b/backend/src/api/disk-cache.ts @@ -256,6 +256,7 @@ class DiskCache { txs: rbfData.rbf.txs.map(([txid, entry]) => ({ value: entry })), trees: rbfData.rbf.trees, expiring: rbfData.rbf.expiring.map(([txid, value]) => ({ key: txid, value })), + mempool: memPool.getMempool(), }); } } catch (e) { diff --git a/backend/src/api/rbf-cache.ts b/backend/src/api/rbf-cache.ts index ad1762485..a087abbe0 100644 --- a/backend/src/api/rbf-cache.ts +++ b/backend/src/api/rbf-cache.ts @@ -97,6 +97,8 @@ class RbfCache { return; } + newTxExtended.replacement = true; + const newTx = Common.stripTransaction(newTxExtended) as RbfTransaction; const newTime = newTxExtended.firstSeen || (Date.now() / 1000); newTx.rbf = newTxExtended.vin.some((v) => v.sequence < 0xfffffffe); @@ -368,14 +370,14 @@ class RbfCache { }; } - public async load({ txs, trees, expiring }): Promise { + public async load({ txs, trees, expiring, mempool }): Promise { try { txs.forEach(txEntry => { this.txs.set(txEntry.value.txid, txEntry.value); }); this.staleCount = 0; for (const deflatedTree of trees) { - await this.importTree(deflatedTree.root, deflatedTree.root, deflatedTree, this.txs); + await this.importTree(mempool, deflatedTree.root, deflatedTree.root, deflatedTree, this.txs); } expiring.forEach(expiringEntry => { if (this.txs.has(expiringEntry.key)) { @@ -413,7 +415,7 @@ class RbfCache { return deflated; } - async importTree(root, txid, deflated, txs: Map, mined: boolean = false): Promise { + async importTree(mempool, root, txid, deflated, txs: Map, mined: boolean = false): Promise { const treeInfo = deflated[txid]; const replaces: RbfTree[] = []; @@ -426,9 +428,12 @@ class RbfCache { // recursively reconstruct child trees for (const childId of treeInfo.replaces) { - const replaced = await this.importTree(root, childId, deflated, txs, mined); + const replaced = await this.importTree(mempool, root, childId, deflated, txs, mined); if (replaced) { this.replacedBy.set(replaced.tx.txid, txid); + if (mempool[replaced.tx.txid]) { + mempool[replaced.tx.txid].replacement = true; + } replaces.push(replaced); if (replaced.mined) { mined = true; diff --git a/backend/src/api/redis-cache.ts b/backend/src/api/redis-cache.ts index 82ce34ad1..edfd2142b 100644 --- a/backend/src/api/redis-cache.ts +++ b/backend/src/api/redis-cache.ts @@ -222,6 +222,7 @@ class RedisCache { txs: rbfTxs, trees: rbfTrees.map(loadedTree => { loadedTree.value.key = loadedTree.key; return loadedTree.value; }), expiring: rbfExpirations, + mempool: memPool.getMempool(), }); } diff --git a/backend/src/mempool.interfaces.ts b/backend/src/mempool.interfaces.ts index d5dfcbf14..c93372ded 100644 --- a/backend/src/mempool.interfaces.ts +++ b/backend/src/mempool.interfaces.ts @@ -94,6 +94,7 @@ export interface TransactionExtended extends IEsploraApi.Transaction { vsize: number, }; acceleration?: boolean; + replacement?: boolean; uid?: number; flags?: number; } From bc89fd5b7c87ca8a1e5d05ce2d2ed8b87c5d7b95 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 15 Dec 2023 13:28:55 +0000 Subject: [PATCH 350/639] Goggles icon, beta tag and info tooltip --- .../block-filters.component.html | 8 +++-- .../block-filters.component.scss | 14 ++++++++ .../components/svg-icons/goggles.component.ts | 34 +++++++++++++++++++ frontend/src/app/shared/shared.module.ts | 6 +++- 4 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 frontend/src/app/shared/components/svg-icons/goggles.component.ts diff --git a/frontend/src/app/components/block-filters/block-filters.component.html b/frontend/src/app/components/block-filters/block-filters.component.html index 90b66ddc3..876a72ad1 100644 --- a/frontend/src/app/components/block-filters/block-filters.component.html +++ b/frontend/src/app/components/block-filters/block-filters.component.html @@ -1,7 +1,11 @@
    + + beta + +
    -
    diff --git a/frontend/src/app/components/block-filters/block-filters.component.scss b/frontend/src/app/components/block-filters/block-filters.component.scss index 20b565293..6406a1d93 100644 --- a/frontend/src/app/components/block-filters/block-filters.component.scss +++ b/frontend/src/app/components/block-filters/block-filters.component.scss @@ -20,7 +20,21 @@ margin-left: 0.5em; } + .info-badges { + display: flex; + flex-direction: row; + align-items: center; + float: right; + + &:hover, &:active { + text-decoration: none; + } + } + .menu-toggle { + width: 2em; + height: 2em; + padding: 0px 1px; opacity: 0; cursor: pointer; color: white; diff --git a/frontend/src/app/shared/components/svg-icons/goggles.component.ts b/frontend/src/app/shared/components/svg-icons/goggles.component.ts new file mode 100644 index 000000000..b045e6acb --- /dev/null +++ b/frontend/src/app/shared/components/svg-icons/goggles.component.ts @@ -0,0 +1,34 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'app-goggles-icon', + template: ` + + + + + + + `, +}) +export class GogglesIconComponent { + @Input() width: string = '100%'; + @Input() height: string = '100%'; +} diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index 9bcfb932c..f772c3fd3 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -5,6 +5,7 @@ import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontaweso import { faFilter, faAngleDown, faAngleUp, faAngleRight, faAngleLeft, faBolt, faChartArea, faCogs, faCubes, faHammer, faDatabase, faExchangeAlt, faInfoCircle, faLink, faList, faSearch, faCaretUp, faCaretDown, faTachometerAlt, faThList, faTint, faTv, faClock, faAngleDoubleDown, faSortUp, faAngleDoubleUp, faChevronDown, faFileAlt, faRedoAlt, faArrowAltCircleRight, faExternalLinkAlt, faBook, faListUl, faDownload, faQrcode, faArrowRightArrowLeft, faArrowsRotate, faCircleLeft, faFastForward, faWallet, faUserClock, faWrench, faUserFriends, faQuestionCircle, faHistory, faSignOutAlt, faKey, faSuitcase, faIdCardAlt, faNetworkWired, faUserCheck, faCircleCheck, faUserCircle, faCheck } from '@fortawesome/free-solid-svg-icons'; +import { GogglesIconComponent } from './components/svg-icons/goggles.component'; import { InfiniteScrollModule } from 'ngx-infinite-scroll'; import { MenuComponent } from '../components/menu/menu.component'; import { PreviewTitleComponent } from '../components/master-page-preview/preview-title.component'; @@ -200,6 +201,7 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir AccelerationsListComponent, AccelerationStatsComponent, PendingStatsComponent, + GogglesIconComponent, ], imports: [ CommonModule, @@ -322,7 +324,9 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir ClockFaceComponent, OnlyVsizeDirective, - OnlyWeightDirective + OnlyWeightDirective, + + GogglesIconComponent, ] }) export class SharedModule { From 8dbf879c37fc593531b2aa6d198fb611ebe6ba45 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 15 Dec 2023 13:29:29 +0000 Subject: [PATCH 351/639] Add Goggles FAQ entry --- .../src/app/docs/api-docs/api-docs-data.ts | 7 ++ .../app/docs/api-docs/api-docs.component.html | 89 +++++++++++++++++++ .../app/docs/api-docs/api-docs.component.scss | 41 +++++++++ 3 files changed, 137 insertions(+) diff --git a/frontend/src/app/docs/api-docs/api-docs-data.ts b/frontend/src/app/docs/api-docs/api-docs-data.ts index ce0b7eaef..97be0c2b1 100644 --- a/frontend/src/app/docs/api-docs/api-docs-data.ts +++ b/frontend/src/app/docs/api-docs/api-docs-data.ts @@ -8911,6 +8911,13 @@ export const faqData = [ fragment: "what-is-block-health", title: "What is block health?", }, + { + type: "endpoint", + category: "advanced", + showConditions: bitcoinNetworks, + fragment: "how-do-mempool-goggles-work", + title: "How do Mempool Goggles work?", + }, { type: "category", category: "self-hosting", diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index 49493d210..49b11ad7b 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -279,6 +279,95 @@

    Because of this feature's resource usage and availability requirements, it is only supported on official mempool.space instances.

    + +

    Mempool Goggles are a set of filters that can be applied to the mempool block visualizations to highlight different types of transactions.

    +

    There are currently 25 different Mempool Goggles filters, grouped into six categories:

    +
    +
    Features
    +
    +
    +
    RBF enabled
    +
    The transaction opts-in to BIP-125 replaceability.
    +
    RBF disabled
    +
    The transaction does not opt-in to BIP-125 replaceability.
    +
    Version 1
    +
    The default version for most transactions.
    +
    Version 2
    +
    Required for transactions which use OP_CHECKSEQUENCEVERIFY relative timelocks.
    +
    +
    + +
    Address Types
    +
    +
    +
    P2PK
    +
    Pay-to-public-key. A legacy output format most commonly found in old coinbase transactions.
    +
    Bare multisig
    +
    A legacy form of multisig, most commonly used for data embedding schemes (see also "Fake pubkey").
    +
    P2PKH
    +
    Pay-to-public-key-hash. A legacy address type that locks outputs to a public key.
    +
    P2SH
    +
    Pay-to-script-hash. A legacy address type that locks outputs to a redeem script.
    +
    P2WPKH
    +
    Pay-to-witness-public-key-hash. The SegWit version of P2PKH.
    +
    P2WSH
    +
    Pay-to-witness-script-hash. The SegWit version of P2SH.
    +
    Taproot
    +
    Addresses using the SegWit V1 format added in the Taproot upgrade.
    +
    +
    + +
    Behavior
    +
    +
    +
    Paid for by child
    +
    The transaction's effective fee rate has been increased by a higher rate CPFP child.
    +
    Pays for parent
    +
    The transaction bumps the effective fee rate of a lower rate CPFP ancestor.
    +
    Replacement
    +
    The transaction replaced a prior version via RBF.
    +
    +
    + +
    Data
    +
    + Different methods of embedding arbitrary data in a Bitcoin transaction. +
    +
    OP_RETURN
    +
    Fake pubkey
    +
    Data may be embedded in an invalid public key in a P2PK or Bare multisig output. This is a heuristic filter and can be prone to false positives and false negatives.
    +
    Inscription
    +
    Data is embedded in the witness script of a taproot input.
    +
    +
    + +
    Heuristics
    +
    + These filters match common types of transactions according to subjective criteria. +
    +
    Coinjoin
    +
    A type of collaborative privacy-improving transaction.
    +
    Consolidation
    +
    The transaction condenses many inputs into a few outputs.
    +
    Batch payment
    +
    The transaction sends coins from a few inputs to many outputs.
    +
    +
    + +
    Sighash Flags
    +
    + Different ways of signing inputs to Bitcoin transactions. Note that selecting multiple sighash filters will highlight transactions in which each sighash flag is used, but not necessarily in the same input. +
    +
    sighash_all
    +
    sighash_none
    +
    sighash_single
    +
    sighash_default
    +
    sighash_anyonecanpay
    +
    +
    +
    +
    + The official mempool.space website is operated by The Mempool Open Source Project. See more information on our About page. There are also many unofficial instances of this website operated by individual members of the Bitcoin community. diff --git a/frontend/src/app/docs/api-docs/api-docs.component.scss b/frontend/src/app/docs/api-docs/api-docs.component.scss index f90274046..8a4150262 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.scss +++ b/frontend/src/app/docs/api-docs/api-docs.component.scss @@ -389,3 +389,44 @@ h3 { margin-bottom: 4rem; } } + +/* styles for nested definition lists */ +dl { + margin: 0; + padding: 0; +} + +dt { + font-weight: bold; + color: #4a68b9; + padding: 5px 0; +} + +dd { + padding: 2px 0; + + & > dl { + padding-left: 1em; + border-left: 2px solid #4a68b9; + margin-left: 1em; + margin-top: 5px; + } + + & > dl > dt { + display: inline; + font-weight: normal; + color: #e83e8c; + font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New; + text-transform: uppercase; + + &:before { + content: ""; + display: block; + } + } + + & > dl > dd { + display: inline; + margin-left: 1em; + } +} From 78857102f8cdaea05411e5cdfc38d8a7aeb7588e Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 17 Dec 2023 10:56:11 +0000 Subject: [PATCH 352/639] Move goggles icon inside generic svg-images component --- .../block-filters.component.html | 2 +- .../svg-images/svg-images.component.html | 8 +++++ .../components/svg-icons/goggles.component.ts | 34 ------------------- frontend/src/app/shared/shared.module.ts | 4 --- 4 files changed, 9 insertions(+), 39 deletions(-) delete mode 100644 frontend/src/app/shared/components/svg-icons/goggles.component.ts diff --git a/frontend/src/app/components/block-filters/block-filters.component.html b/frontend/src/app/components/block-filters/block-filters.component.html index 876a72ad1..7b1c2f9e5 100644 --- a/frontend/src/app/components/block-filters/block-filters.component.html +++ b/frontend/src/app/components/block-filters/block-filters.component.html @@ -5,7 +5,7 @@
    diff --git a/frontend/src/app/components/svg-images/svg-images.component.html b/frontend/src/app/components/svg-images/svg-images.component.html index 5e8d7d29f..11dfe1d79 100644 --- a/frontend/src/app/components/svg-images/svg-images.component.html +++ b/frontend/src/app/components/svg-images/svg-images.component.html @@ -84,6 +84,14 @@ + + + + + + + + diff --git a/frontend/src/app/shared/components/svg-icons/goggles.component.ts b/frontend/src/app/shared/components/svg-icons/goggles.component.ts deleted file mode 100644 index b045e6acb..000000000 --- a/frontend/src/app/shared/components/svg-icons/goggles.component.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Component, Input } from '@angular/core'; - -@Component({ - selector: 'app-goggles-icon', - template: ` - - - - - - - `, -}) -export class GogglesIconComponent { - @Input() width: string = '100%'; - @Input() height: string = '100%'; -} diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index f772c3fd3..f092e81bc 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -5,7 +5,6 @@ import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontaweso import { faFilter, faAngleDown, faAngleUp, faAngleRight, faAngleLeft, faBolt, faChartArea, faCogs, faCubes, faHammer, faDatabase, faExchangeAlt, faInfoCircle, faLink, faList, faSearch, faCaretUp, faCaretDown, faTachometerAlt, faThList, faTint, faTv, faClock, faAngleDoubleDown, faSortUp, faAngleDoubleUp, faChevronDown, faFileAlt, faRedoAlt, faArrowAltCircleRight, faExternalLinkAlt, faBook, faListUl, faDownload, faQrcode, faArrowRightArrowLeft, faArrowsRotate, faCircleLeft, faFastForward, faWallet, faUserClock, faWrench, faUserFriends, faQuestionCircle, faHistory, faSignOutAlt, faKey, faSuitcase, faIdCardAlt, faNetworkWired, faUserCheck, faCircleCheck, faUserCircle, faCheck } from '@fortawesome/free-solid-svg-icons'; -import { GogglesIconComponent } from './components/svg-icons/goggles.component'; import { InfiniteScrollModule } from 'ngx-infinite-scroll'; import { MenuComponent } from '../components/menu/menu.component'; import { PreviewTitleComponent } from '../components/master-page-preview/preview-title.component'; @@ -201,7 +200,6 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir AccelerationsListComponent, AccelerationStatsComponent, PendingStatsComponent, - GogglesIconComponent, ], imports: [ CommonModule, @@ -325,8 +323,6 @@ import { OnlyVsizeDirective, OnlyWeightDirective } from './components/weight-dir OnlyVsizeDirective, OnlyWeightDirective, - - GogglesIconComponent, ] }) export class SharedModule { From 75b3bc62494b702f8101c6dacee4c432f921e69d Mon Sep 17 00:00:00 2001 From: natsee Date: Sun, 17 Dec 2023 19:15:23 +0100 Subject: [PATCH 353/639] Expand toggle for RBF history view --- .../rbf-timeline/rbf-timeline.component.html | 17 ++++++++++++++--- .../rbf-timeline/rbf-timeline.component.scss | 6 ++++++ .../rbf-timeline/rbf-timeline.component.ts | 6 ++++++ 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html index a2012d45f..8a750e624 100644 --- a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html +++ b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html @@ -1,7 +1,7 @@
    -
    -
    +
    +
    @@ -13,7 +13,7 @@
    -
    +
    +
    + + + + +
    @@ -72,3 +81,5 @@ [isConnector]="hoverConnector" > -->
    + +{{ x }} remaining \ No newline at end of file diff --git a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss index be7aef2d6..8afc3f026 100644 --- a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss +++ b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss @@ -34,6 +34,12 @@ &::-webkit-scrollbar { display: none; } + + .toggle-wrapper { + width: 100%; + text-align: center; + margin: 1.25em 0 0; + } } .intervals, .nodes { diff --git a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.ts b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.ts index 474da7326..687a7dbfd 100644 --- a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.ts +++ b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.ts @@ -25,7 +25,9 @@ function isTimelineCell(val: RbfTree | TimelineCell): boolean { export class RbfTimelineComponent implements OnInit, OnChanges { @Input() replacements: RbfTree; @Input() txid: string; + @Input() rowLimit: number = 5; // If explicitly set to 0, all timelines rows will be displayed by default rows: TimelineCell[][] = []; + timelineExpanded: boolean = this.rowLimit === 0; hoverInfo: RbfTree | null = null; tooltipPosition = null; @@ -191,6 +193,10 @@ export class RbfTimelineComponent implements OnInit, OnChanges { return rows; } + toggleTimeline(expand: boolean): void { + this.timelineExpanded = expand; + } + scrollToSelected() { const node = document.getElementById('node-' + this.txid); if (node) { From f72683dc197f34ce5a46b4e60bd1b9c51c909024 Mon Sep 17 00:00:00 2001 From: orangesurf Date: Mon, 18 Dec 2023 09:18:55 +0000 Subject: [PATCH 354/639] Add Mempool Goggles TM --- LICENSE | 8 ++++---- frontend/src/app/components/about/about.component.html | 2 +- .../trademark-policy/trademark-policy.component.html | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/LICENSE b/LICENSE index e5b707840..a5267e2e0 100644 --- a/LICENSE +++ b/LICENSE @@ -12,10 +12,10 @@ or any other contributor to The Mempool Open Source Project. The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full -Bitcoin ecosystem™, the mempool Logo, the mempool Square logo, the mempool Blocks -logo, the mempool Blocks 3 | 2 logo, the mempool.space Vertical Logo, and the -mempool.space Horizontal logo are registered trademarks or trademarks of Mempool -Space K.K in Japan, the United States, and/or other countries. +Bitcoin ecosystem™, Mempool Goggles™, the mempool Logo, the mempool Square logo, +the mempool Blocks logo, the mempool Blocks 3 | 2 logo, the mempool.space Vertical +Logo, and the mempool.space Horizontal logo are registered trademarks or trademarks +of MempoolSpace K.K in Japan, the United States, and/or other countries. See our full Trademark Policy and Guidelines for more details, published on . diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index 98dcb4c31..b1a3069a6 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -422,7 +422,7 @@ Trademark Notice

    - The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem™, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool Blocks 3 | 2 logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries. + The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem™, Mempool Goggles™, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool Blocks 3 | 2 logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries.

    While our software is available under an open source software license, the copyright license does not include an implied right or license to use our trademarks. See our Trademark Policy and Guidelines for more details, published on <https://mempool.space/trademark-policy>. diff --git a/frontend/src/app/components/trademark-policy/trademark-policy.component.html b/frontend/src/app/components/trademark-policy/trademark-policy.component.html index 9d08c634d..b60e10f7b 100644 --- a/frontend/src/app/components/trademark-policy/trademark-policy.component.html +++ b/frontend/src/app/components/trademark-policy/trademark-policy.component.html @@ -62,6 +62,7 @@

    +
    TXID Final Fee Max Bid Status
    @@ -62,5 +60,11 @@
    + + +
    + There are no accelerations show here yet! +
    +
    diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss index d49ac2609..55cecdcbd 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss @@ -105,3 +105,13 @@ tr, td, th { max-width: 50vw; text-align: left; } + +.no-data { + color: rgba(255, 255, 255, 0.4); + display: flex; + height: 280px; + width: 100%; + flex-direction: row; + align-items: center; + justify-content: center; +} diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts index 0c0002782..ddd89d31c 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts @@ -13,6 +13,7 @@ import { WebsocketService } from '../../../services/websocket.service'; }) export class AccelerationsListComponent implements OnInit { @Input() widget: boolean = false; + @Input() pending: boolean = false; @Input() accelerations$: Observable; accelerationList$: Observable = undefined; @@ -40,8 +41,14 @@ export class AccelerationsListComponent implements OnInit { this.skeletonLines = this.widget === true ? [...Array(6).keys()] : [...Array(15).keys()]; this.paginationMaxSize = window.matchMedia('(max-width: 670px)').matches ? 3 : 5; - this.accelerationList$ = (this.apiService.getAccelerationHistory$({ timeframe: '1m' }) || this.accelerations$).pipe( + const accelerationObservable$ = this.accelerations$ || (this.pending ? this.apiService.getAccelerations$() : this.apiService.getAccelerationHistory$({ timeframe: '1m' })); + this.accelerationList$ = accelerationObservable$.pipe( switchMap(accelerations => { + if (this.pending) { + for (const acceleration of accelerations) { + acceleration.status = acceleration.status || 'accelerating'; + } + } if (this.widget) { return of(accelerations.slice(-6).reverse()); } else { diff --git a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html index b43d27f05..0dbba3219 100644 --- a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html +++ b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html @@ -12,7 +12,7 @@
    - +
    @@ -27,7 +27,18 @@
    - + +
    +
    +
    + + + +
    +
    +
    +
    +
    @@ -43,64 +54,28 @@
    - -
    -
    -
    - - + +
    +
    +
    +
    Pending Accelerations
    +
    - +
    - - - -
    -
    -
    - -
    Recent Blocks
    -   - -
    - - - - - - - - - - - - - - - -
    HeightPoolMedian feeAccelerations
    {{ block.height }} - - - {{ block.extras.pool.name }} - - {{ block.accelerationCount | number }}
    -
    -
    -
    -
    diff --git a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss index 6d863fb60..0d1c3b1c0 100644 --- a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss +++ b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss @@ -132,4 +132,17 @@ text-align: right; width: 20%; } +} + +.card { + height: 385px; +} +.list-card { + height: 410px; +} + +.mempool-block-wrapper { + max-height: 380px; + max-width: 380px; + margin: auto; } \ No newline at end of file diff --git a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts index 00b3d303b..c3a40730b 100644 --- a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts +++ b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts @@ -3,8 +3,15 @@ import { SeoService } from '../../../services/seo.service'; import { WebsocketService } from '../../../services/websocket.service'; import { Acceleration, BlockExtended } from '../../../interfaces/node-api.interface'; import { StateService } from '../../../services/state.service'; -import { Observable, Subject, catchError, combineLatest, distinctUntilChanged, of, share, switchMap, tap } from 'rxjs'; +import { Observable, Subject, catchError, combineLatest, distinctUntilChanged, interval, map, of, share, startWith, switchMap, tap } from 'rxjs'; import { ApiService } from '../../../services/api.service'; +import { Color } from '../../block-overview-graph/sprite-types'; +import { hexToColor } from '../../block-overview-graph/utils'; +import TxView from '../../block-overview-graph/tx-view'; +import { feeLevels, mempoolFeeColors } from '../../../app.constants'; + +const acceleratedColor: Color = hexToColor('8F5FF6'); +const normalColors = mempoolFeeColors.map(hex => hexToColor(hex + '5F')); interface AccelerationBlock extends BlockExtended { accelerationCount: number, @@ -19,6 +26,8 @@ interface AccelerationBlock extends BlockExtended { export class AcceleratorDashboardComponent implements OnInit { blocks$: Observable; accelerations$: Observable; + pendingAccelerations$: Observable; + minedAccelerations$: Observable; loadingBlocks: boolean = true; constructor( @@ -33,6 +42,17 @@ export class AcceleratorDashboardComponent implements OnInit { ngOnInit(): void { this.websocketService.want(['blocks', 'mempool-blocks', 'stats']); + this.pendingAccelerations$ = interval(30000).pipe( + startWith(true), + switchMap(() => { + return this.apiService.getAccelerations$(); + }), + catchError((e) => { + return of([]); + }), + share(), + ); + this.accelerations$ = this.stateService.chainTip$.pipe( distinctUntilChanged(), switchMap((chainTip) => { @@ -44,6 +64,12 @@ export class AcceleratorDashboardComponent implements OnInit { share(), ); + this.minedAccelerations$ = this.accelerations$.pipe( + map(accelerations => { + return accelerations.filter(acc => ['mined', 'completed'].includes(acc.status)) + }) + ); + this.blocks$ = combineLatest([ this.accelerations$, this.stateService.blocks$.pipe( @@ -83,4 +109,14 @@ export class AcceleratorDashboardComponent implements OnInit { }) ); } + + getAcceleratorColor(tx: TxView): Color { + if (tx.status === 'accelerated' || tx.acc) { + return acceleratedColor; + } else { + const rate = tx.fee / tx.vsize; // color by simple single-tx fee rate + const feeLevelIndex = feeLevels.findIndex((feeLvl) => Math.max(1, rate) < feeLvl) - 1; + return normalColors[feeLevelIndex] || normalColors[mempoolFeeColors.length - 1]; + } + } } diff --git a/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html index 5b7bc356a..c94bbf43a 100644 --- a/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html +++ b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html @@ -20,7 +20,7 @@
    Total vsize
    -
    {{ (stats.totalVsize / 1_000_000).toFixed(2) }}% of next block
    +
    {{ (stats.totalVsize / 1_000_000 * 100).toFixed(2) }}% of next block
    diff --git a/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.ts b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.ts index dd3adacf8..f344c37a0 100644 --- a/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.ts +++ b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.ts @@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core import { Observable, of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { ApiService } from '../../../services/api.service'; +import { Acceleration } from '../../../interfaces/node-api.interface'; @Component({ selector: 'app-pending-stats', @@ -10,6 +11,7 @@ import { ApiService } from '../../../services/api.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class PendingStatsComponent implements OnInit { + @Input() accelerations$: Observable; public accelerationStats$: Observable; constructor( @@ -17,7 +19,7 @@ export class PendingStatsComponent implements OnInit { ) { } ngOnInit(): void { - this.accelerationStats$ = this.apiService.getAccelerations$().pipe( + this.accelerationStats$ = (this.accelerations$ || this.apiService.getAccelerations$()).pipe( switchMap(accelerations => { let totalAccelerations = 0; let totalFeeDelta = 0; diff --git a/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts b/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts index 68d2a1bf3..1fc173a2d 100644 --- a/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts +++ b/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts @@ -4,7 +4,7 @@ import { FastVertexArray } from './fast-vertex-array'; import BlockScene from './block-scene'; import TxSprite from './tx-sprite'; import TxView from './tx-view'; -import { Position } from './sprite-types'; +import { Color, Position } from './sprite-types'; import { Price } from '../../services/price.service'; import { StateService } from '../../services/state.service'; import { Subscription } from 'rxjs'; @@ -27,6 +27,7 @@ export class BlockOverviewGraphComponent implements AfterViewInit, OnDestroy, On @Input() unavailable: boolean = false; @Input() auditHighlighting: boolean = false; @Input() blockConversion: Price; + @Input() overrideColors: ((tx: TxView) => Color) | null = null; @Output() txClickEvent = new EventEmitter<{ tx: TransactionStripped, keyModifier: boolean}>(); @Output() txHoverEvent = new EventEmitter(); @Output() readyEvent = new EventEmitter(); @@ -91,6 +92,9 @@ export class BlockOverviewGraphComponent implements AfterViewInit, OnDestroy, On if (changes.auditHighlighting) { this.setHighlightingEnabled(this.auditHighlighting); } + if (changes.overrideColor) { + this.scene.setColorFunction(this.overrideColors); + } } ngOnDestroy(): void { @@ -228,7 +232,8 @@ export class BlockOverviewGraphComponent implements AfterViewInit, OnDestroy, On } else { this.scene = new BlockScene({ width: this.displayWidth, height: this.displayHeight, resolution: this.resolution, blockLimit: this.blockLimit, orientation: this.orientation, flip: this.flip, vertexArray: this.vertexArray, - highlighting: this.auditHighlighting, animationDuration: this.animationDuration, animationOffset: this.animationOffset }); + highlighting: this.auditHighlighting, animationDuration: this.animationDuration, animationOffset: this.animationOffset, + colorFunction: this.overrideColors }); this.start(); } } diff --git a/frontend/src/app/components/block-overview-graph/block-scene.ts b/frontend/src/app/components/block-overview-graph/block-scene.ts index 2569a3bb2..77b7c2e05 100644 --- a/frontend/src/app/components/block-overview-graph/block-scene.ts +++ b/frontend/src/app/components/block-overview-graph/block-scene.ts @@ -1,12 +1,26 @@ import { FastVertexArray } from './fast-vertex-array'; import TxView from './tx-view'; import { TransactionStripped } from '../../interfaces/websocket.interface'; -import { Position, Square, ViewUpdateParams } from './sprite-types'; +import { Color, Position, Square, ViewUpdateParams } from './sprite-types'; +import { feeLevels, mempoolFeeColors } from '../../app.constants'; +import { darken, desaturate, hexToColor } from './utils'; + +const feeColors = mempoolFeeColors.map(hexToColor); +const auditFeeColors = feeColors.map((color) => darken(desaturate(color, 0.3), 0.9)); +const marginalFeeColors = feeColors.map((color) => darken(desaturate(color, 0.8), 1.1)); +const auditColors = { + censored: hexToColor('f344df'), + missing: darken(desaturate(hexToColor('f344df'), 0.3), 0.7), + added: hexToColor('0099ff'), + selected: darken(desaturate(hexToColor('0099ff'), 0.3), 0.7), + accelerated: hexToColor('8F5FF6'), +}; export default class BlockScene { scene: { count: number, offset: { x: number, y: number}}; vertexArray: FastVertexArray; txs: { [key: string]: TxView }; + getColor: ((tx: TxView) => Color) = defaultColorFunction; orientation: string; flip: boolean; animationDuration: number = 1000; @@ -26,11 +40,11 @@ export default class BlockScene { animateUntil = 0; dirty: boolean; - constructor({ width, height, resolution, blockLimit, animationDuration, animationOffset, orientation, flip, vertexArray, highlighting }: + constructor({ width, height, resolution, blockLimit, animationDuration, animationOffset, orientation, flip, vertexArray, highlighting, colorFunction }: { width: number, height: number, resolution: number, blockLimit: number, animationDuration: number, animationOffset: number, - orientation: string, flip: boolean, vertexArray: FastVertexArray, highlighting: boolean } + orientation: string, flip: boolean, vertexArray: FastVertexArray, highlighting: boolean, colorFunction: ((tx: TxView) => Color) | null } ) { - this.init({ width, height, resolution, blockLimit, animationDuration, animationOffset, orientation, flip, vertexArray, highlighting }); + this.init({ width, height, resolution, blockLimit, animationDuration, animationOffset, orientation, flip, vertexArray, highlighting, colorFunction }); } resize({ width = this.width, height = this.height, animate = true }: { width?: number, height?: number, animate: boolean }): void { @@ -63,6 +77,14 @@ export default class BlockScene { } } + setColorFunction(colorFunction: ((tx: TxView) => Color) | null): void { + this.getColor = colorFunction; + this.dirty = true; + if (this.initialised && this.scene) { + this.updateColors(performance.now(), 50); + } + } + // Destroy the current layout and clean up graphics sprites without any exit animation destroy(): void { Object.values(this.txs).forEach(tx => tx.destroy()); @@ -86,7 +108,7 @@ export default class BlockScene { this.applyTxUpdate(txView, { display: { position: txView.screenPosition, - color: txView.getColor() + color: this.getColor(txView) }, duration: 0 }); @@ -217,9 +239,9 @@ export default class BlockScene { this.animateUntil = Math.max(this.animateUntil, tx.setHighlight(value)); } - private init({ width, height, resolution, blockLimit, animationDuration, animationOffset, orientation, flip, vertexArray, highlighting }: + private init({ width, height, resolution, blockLimit, animationDuration, animationOffset, orientation, flip, vertexArray, highlighting, colorFunction }: { width: number, height: number, resolution: number, blockLimit: number, animationDuration: number, animationOffset: number, - orientation: string, flip: boolean, vertexArray: FastVertexArray, highlighting: boolean } + orientation: string, flip: boolean, vertexArray: FastVertexArray, highlighting: boolean, colorFunction: ((tx: TxView) => Color) | null } ): void { this.animationDuration = animationDuration || 1000; this.configAnimationOffset = animationOffset; @@ -228,6 +250,7 @@ export default class BlockScene { this.flip = flip; this.vertexArray = vertexArray; this.highlightingEnabled = highlighting; + this.getColor = colorFunction || defaultColorFunction; this.scene = { count: 0, @@ -261,9 +284,23 @@ export default class BlockScene { } } + private updateColor(tx: TxView, startTime: number, delay: number, animate: boolean = true, duration: number = 500): void { + if (tx.dirty || this.dirty) { + const txColor = this.getColor(tx); + this.applyTxUpdate(tx, { + display: { + color: txColor, + }, + start: startTime, + delay, + duration: animate ? duration : 0, + }); + } + } + private setTxOnScreen(tx: TxView, startTime: number, delay: number = 50, direction: string = 'left', animate: boolean = true): void { if (!tx.initialised) { - const txColor = tx.getColor(); + const txColor = this.getColor(tx); this.applyTxUpdate(tx, { display: { position: { @@ -321,6 +358,15 @@ export default class BlockScene { this.dirty = false; } + private updateColors(startTime: number, delay: number = 50, animate: boolean = true, duration: number = 500): void { + const ids = this.getTxList(); + startTime = startTime || performance.now(); + for (const id of ids) { + this.updateColor(this.txs[id], startTime, delay, animate, duration); + } + this.dirty = false; + } + private remove(id: string, startTime: number, direction: string = 'left'): TxView | void { const tx = this.txs[id]; if (tx) { @@ -858,3 +904,48 @@ class BlockLayout { function feeRateDescending(a: TxView, b: TxView) { return b.feerate - a.feerate; } + +function defaultColorFunction(tx: TxView): Color { + const rate = tx.fee / tx.vsize; // color by simple single-tx fee rate + const feeLevelIndex = feeLevels.findIndex((feeLvl) => Math.max(1, rate) < feeLvl) - 1; + const feeLevelColor = feeColors[feeLevelIndex] || feeColors[mempoolFeeColors.length - 1]; + // Normal mode + if (!tx.scene?.highlightingEnabled) { + if (tx.acc) { + return auditColors.accelerated; + } else { + return feeLevelColor; + } + return feeLevelColor; + } + // Block audit + switch(tx.status) { + case 'censored': + return auditColors.censored; + case 'missing': + case 'sigop': + case 'rbf': + return marginalFeeColors[feeLevelIndex] || marginalFeeColors[mempoolFeeColors.length - 1]; + case 'fresh': + case 'freshcpfp': + return auditColors.missing; + case 'added': + return auditColors.added; + case 'selected': + return marginalFeeColors[feeLevelIndex] || marginalFeeColors[mempoolFeeColors.length - 1]; + case 'accelerated': + return auditColors.accelerated; + case 'found': + if (tx.context === 'projected') { + return auditFeeColors[feeLevelIndex] || auditFeeColors[mempoolFeeColors.length - 1]; + } else { + return feeLevelColor; + } + default: + if (tx.acc) { + return auditColors.accelerated; + } else { + return feeLevelColor; + } + } +} \ No newline at end of file diff --git a/frontend/src/app/components/block-overview-graph/tx-view.ts b/frontend/src/app/components/block-overview-graph/tx-view.ts index db2c4f6ae..4e2d855e6 100644 --- a/frontend/src/app/components/block-overview-graph/tx-view.ts +++ b/frontend/src/app/components/block-overview-graph/tx-view.ts @@ -2,24 +2,13 @@ import TxSprite from './tx-sprite'; import { FastVertexArray } from './fast-vertex-array'; import { TransactionStripped } from '../../interfaces/websocket.interface'; import { SpriteUpdateParams, Square, Color, ViewUpdateParams } from './sprite-types'; -import { feeLevels, mempoolFeeColors } from '../../app.constants'; +import { hexToColor } from './utils'; import BlockScene from './block-scene'; const hoverTransitionTime = 300; const defaultHoverColor = hexToColor('1bd8f4'); const defaultHighlightColor = hexToColor('800080'); -const feeColors = mempoolFeeColors.map(hexToColor); -const auditFeeColors = feeColors.map((color) => darken(desaturate(color, 0.3), 0.9)); -const marginalFeeColors = feeColors.map((color) => darken(desaturate(color, 0.8), 1.1)); -const auditColors = { - censored: hexToColor('f344df'), - missing: darken(desaturate(hexToColor('f344df'), 0.3), 0.7), - added: hexToColor('0099ff'), - selected: darken(desaturate(hexToColor('0099ff'), 0.3), 0.7), - accelerated: hexToColor('8F5FF6'), -}; - // convert from this class's update format to TxSprite's update format function toSpriteUpdate(params: ViewUpdateParams): SpriteUpdateParams { return { @@ -195,77 +184,4 @@ export default class TxView implements TransactionStripped { this.dirty = false; return performance.now() + hoverTransitionTime; } - - getColor(): Color { - const rate = this.fee / this.vsize; // color by simple single-tx fee rate - const feeLevelIndex = feeLevels.findIndex((feeLvl) => Math.max(1, rate) < feeLvl) - 1; - const feeLevelColor = feeColors[feeLevelIndex] || feeColors[mempoolFeeColors.length - 1]; - // Normal mode - if (!this.scene?.highlightingEnabled) { - if (this.acc) { - return auditColors.accelerated; - } else { - return feeLevelColor; - } - return feeLevelColor; - } - // Block audit - switch(this.status) { - case 'censored': - return auditColors.censored; - case 'missing': - case 'sigop': - case 'rbf': - return marginalFeeColors[feeLevelIndex] || marginalFeeColors[mempoolFeeColors.length - 1]; - case 'fresh': - case 'freshcpfp': - return auditColors.missing; - case 'added': - return auditColors.added; - case 'selected': - return marginalFeeColors[feeLevelIndex] || marginalFeeColors[mempoolFeeColors.length - 1]; - case 'accelerated': - return auditColors.accelerated; - case 'found': - if (this.context === 'projected') { - return auditFeeColors[feeLevelIndex] || auditFeeColors[mempoolFeeColors.length - 1]; - } else { - return feeLevelColor; - } - default: - if (this.acc) { - return auditColors.accelerated; - } else { - return feeLevelColor; - } - } - } -} - -function hexToColor(hex: string): Color { - return { - r: parseInt(hex.slice(0, 2), 16) / 255, - g: parseInt(hex.slice(2, 4), 16) / 255, - b: parseInt(hex.slice(4, 6), 16) / 255, - a: 1 - }; -} - -function desaturate(color: Color, amount: number): Color { - const gray = (color.r + color.g + color.b) / 6; - return { - r: color.r + ((gray - color.r) * amount), - g: color.g + ((gray - color.g) * amount), - b: color.b + ((gray - color.b) * amount), - a: color.a, - }; -} - -function darken(color: Color, amount: number): Color { - return { - r: color.r * amount, - g: color.g * amount, - b: color.b * amount, - a: color.a, - } } diff --git a/frontend/src/app/components/block-overview-graph/utils.ts b/frontend/src/app/components/block-overview-graph/utils.ts new file mode 100644 index 000000000..a0bb8e868 --- /dev/null +++ b/frontend/src/app/components/block-overview-graph/utils.ts @@ -0,0 +1,29 @@ +import { Color } from './sprite-types'; + +export function hexToColor(hex: string): Color { + return { + r: parseInt(hex.slice(0, 2), 16) / 255, + g: parseInt(hex.slice(2, 4), 16) / 255, + b: parseInt(hex.slice(4, 6), 16) / 255, + a: hex.length > 6 ? parseInt(hex.slice(6, 8), 16) / 255 : 1 + }; +} + +export function desaturate(color: Color, amount: number): Color { + const gray = (color.r + color.g + color.b) / 6; + return { + r: color.r + ((gray - color.r) * amount), + g: color.g + ((gray - color.g) * amount), + b: color.b + ((gray - color.b) * amount), + a: color.a, + }; +} + +export function darken(color: Color, amount: number): Color { + return { + r: color.r * amount, + g: color.g * amount, + b: color.b * amount, + a: color.a, + } +} \ No newline at end of file diff --git a/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.html b/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.html index 503f2e38d..1e0cba48c 100644 --- a/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.html +++ b/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.html @@ -5,5 +5,6 @@ [blockLimit]="stateService.blockVSize" [orientation]="timeLtr ? 'right' : 'left'" [flip]="true" + [overrideColors]="overrideColors" (txClickEvent)="onTxClick($event)" > diff --git a/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts b/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts index 226be5210..09eac989e 100644 --- a/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts +++ b/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts @@ -8,6 +8,8 @@ import { switchMap, filter } from 'rxjs/operators'; import { WebsocketService } from '../../services/websocket.service'; import { RelativeUrlPipe } from '../../shared/pipes/relative-url/relative-url.pipe'; import { Router } from '@angular/router'; +import { Color } from '../block-overview-graph/sprite-types'; +import TxView from '../block-overview-graph/tx-view'; @Component({ selector: 'app-mempool-block-overview', @@ -16,6 +18,7 @@ import { Router } from '@angular/router'; }) export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChanges, AfterViewInit { @Input() index: number; + @Input() overrideColors: ((tx: TxView) => Color) | null = null; @Output() txPreviewEvent = new EventEmitter(); @ViewChild('blockGraph') blockGraph: BlockOverviewGraphComponent; From aff44d90d5ebc678f86e9caeadd5e82376c33e09 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 8 Dec 2023 13:03:08 +0000 Subject: [PATCH 310/639] Rerefactor acceleration dashboard --- .../acceleration-fees-graph.component.html | 33 +--- .../acceleration-fees-graph.component.scss | 57 +------ .../acceleration-fees-graph.component.ts | 145 ++++++++++-------- .../acceleration-stats.component.ts | 2 +- .../accelerations-list.component.html | 57 ++++--- .../accelerations-list.component.scss | 14 +- .../accelerator-dashboard.component.html | 24 ++- .../accelerator-dashboard.component.ts | 2 +- 8 files changed, 158 insertions(+), 176 deletions(-) diff --git a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html index 0c15f9f44..9ae0ddade 100644 --- a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html +++ b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html @@ -28,19 +28,8 @@
    -
    -
    -
    Avg Out-of-band Fees (24h)
    -

    - -

    -
    -
    -
    Avg Out-of-band Fees (1w)
    -

    - -

    -
    +
    +
    Out-of-band Fees Per Block
    @@ -50,22 +39,4 @@
    -
    - - -
    -
    Avg Out-of-band Fees (24h)
    -

    - -

    -
    -
    - -
    -
    Avg Out-of-band Fees (1w)
    -

    - -

    -
    -
    diff --git a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.scss b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.scss index 2ffcc6374..c4b4335ee 100644 --- a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.scss +++ b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.scss @@ -56,61 +56,16 @@ .chart-widget { width: 100%; height: 100%; - max-height: 238px; + max-height: 290px; } -.acceleration-fees { - min-height: 56px; - display: block; - @media (min-width: 485px) { - display: flex; - flex-direction: row; - } - h5 { - margin-bottom: 10px; - } - .item { - width: 50%; - display: inline-block; - margin: 0px auto 20px; - &:nth-child(2) { - order: 2; - @media (min-width: 485px) { - order: 3; - } - } - &:nth-child(3) { - order: 3; - @media (min-width: 485px) { - order: 2; - display: block; - } - @media (min-width: 768px) { - display: none; - } - @media (min-width: 992px) { - display: block; - } - } - .card-title { - font-size: 1rem; - color: #4a68b9; - } - .card-text { - font-size: 18px; - span { - color: #ffffff66; - font-size: 12px; - } - } - } +h5 { + margin-bottom: 10px; } -.skeleton-loader { - width: 100%; - display: block; - max-width: 80px; - margin: 15px auto 3px; +.card-title { + font-size: 1rem; + color: #4a68b9; } .disabled { diff --git a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts index b5dc21eb6..d27b10690 100644 --- a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts +++ b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts @@ -1,12 +1,12 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, LOCALE_ID, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, LOCALE_ID, OnDestroy, OnInit } from '@angular/core'; import { EChartsOption, graphic } from 'echarts'; -import { Observable, combineLatest } from 'rxjs'; -import { map, startWith, switchMap, tap } from 'rxjs/operators'; +import { Observable, Subscription, combineLatest } from 'rxjs'; +import { map, max, startWith, switchMap, tap } from 'rxjs/operators'; import { ApiService } from '../../../services/api.service'; import { SeoService } from '../../../services/seo.service'; import { formatNumber } from '@angular/common'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; -import { download, formatterXAxis } from '../../../shared/graphs.utils'; +import { download, formatterXAxis, formatterXAxisLabel, formatterXAxisTimeCategory } from '../../../shared/graphs.utils'; import { StorageService } from '../../../services/storage.service'; import { MiningService } from '../../../services/mining.service'; import { ActivatedRoute } from '@angular/router'; @@ -26,7 +26,7 @@ import { Acceleration } from '../../../interfaces/node-api.interface'; `], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class AccelerationFeesGraphComponent implements OnInit { +export class AccelerationFeesGraphComponent implements OnInit, OnDestroy { @Input() widget: boolean = false; @Input() right: number | string = 45; @Input() left: number | string = 75; @@ -42,6 +42,7 @@ export class AccelerationFeesGraphComponent implements OnInit { hrStatsObservable$: Observable; statsObservable$: Observable; + statsSubscription: Subscription; isLoading = true; formatNumber = formatNumber; timespan = ''; @@ -66,26 +67,17 @@ export class AccelerationFeesGraphComponent implements OnInit { ngOnInit(): void { this.seoService.setTitle($localize`:@@6c453b11fd7bd159ae30bc381f367bc736d86909:Acceleration Fees`); + this.isLoading = true; if (this.widget) { - this.miningWindowPreference = '1w'; - this.isLoading = true; + this.miningWindowPreference = '1m'; this.timespan = this.miningWindowPreference; - this.hrStatsObservable$ = (this.accelerations$ || this.apiService.getAccelerationHistory$({ timeframe: '24h' })).pipe( - map((accelerations) => { - return { - avgFeesPaid: accelerations.filter(acc => acc.status === 'completed' && acc.lastUpdated < (Date.now() - (24 * 60 * 60 * 1000))).reduce((total, acc) => total + acc.feePaid, 0) / accelerations.length - }; - }) - ); - this.statsObservable$ = combineLatest([ (this.accelerations$ || this.apiService.getAccelerationHistory$({ timeframe: this.miningWindowPreference })), this.apiService.getHistoricalBlockFees$(this.miningWindowPreference), ]).pipe( tap(([accelerations, blockFeesResponse]) => { this.prepareChartOptions(accelerations, blockFeesResponse.body); - this.isLoading = false; }), map(([accelerations, blockFeesResponse]) => { return { @@ -121,11 +113,13 @@ export class AccelerationFeesGraphComponent implements OnInit { ]).pipe( tap(([accelerations, blockFeesResponse]) => { this.prepareChartOptions(accelerations, blockFeesResponse.body); - this.isLoading = false; - this.cd.markForCheck(); }) ); } + this.statsSubscription = this.statsObservable$.subscribe(() => { + this.isLoading = false; + this.cd.markForCheck(); + }); } prepareChartOptions(accelerations, blockFees) { @@ -143,6 +137,8 @@ export class AccelerationFeesGraphComponent implements OnInit { } let last = null; + let minValue = Infinity; + let maxValue = 0; const data = []; for (const val of blockFees) { if (last == null) { @@ -151,31 +147,29 @@ export class AccelerationFeesGraphComponent implements OnInit { let totalFeeDelta = 0; let totalFeePaid = 0; let totalCount = 0; + let blockCount = 0; while (last <= val.avgHeight) { + blockCount++; totalFeeDelta += (blockAccelerations[last] || []).reduce((total, acc) => total + acc.feeDelta, 0); totalFeePaid += (blockAccelerations[last] || []).reduce((total, acc) => total + acc.feePaid, 0); totalCount += (blockAccelerations[last] || []).length; last++; } + minValue = Math.min(minValue, val.avgFees); + maxValue = Math.max(maxValue, val.avgFees); data.push({ ...val, feeDelta: totalFeeDelta, - feePaid: totalFeePaid, - accelerations: totalCount, + avgFeePaid: (totalFeePaid / blockCount), + accelerations: totalCount / blockCount, }); } this.chartOptions = { title: title, color: [ - '#1E88E5', - new graphic.LinearGradient(0, 0, 0, 0.65, [ - { offset: 0, color: '#F4511E' }, - { offset: 0.25, color: '#FB8C00' }, - { offset: 0.5, color: '#FFB300' }, - { offset: 0.75, color: '#FDD835' }, - { offset: 1, color: '#7CB342' } - ]), + '#8F5FF6', + '#6b6b6b', ], animation: false, grid: { @@ -205,11 +199,11 @@ export class AccelerationFeesGraphComponent implements OnInit { let tooltip = ` ${formatterXAxis(this.locale, this.timespan, parseInt(data[0].axisValue, 10))}
    `; - for (const tick of data) { - if (tick.seriesIndex === 1) { + for (const tick of data.reverse()) { + if (tick.data[1] >= 1_000_000) { + tooltip += `${tick.marker} ${tick.seriesName}: ${formatNumber(tick.data[1] / 100_000_000, this.locale, '1.0-3')} BTC
    `; + } else { tooltip += `${tick.marker} ${tick.seriesName}: ${formatNumber(tick.data[1], this.locale, '1.0-0')} sats
    `; - } else if (tick.seriesIndex === 0) { - tooltip += `${tick.marker} ${tick.seriesName}: ${formatNumber(tick.data[1], this.locale, '1.0-0')}
    `; } } @@ -224,24 +218,35 @@ export class AccelerationFeesGraphComponent implements OnInit { }, xAxis: data.length === 0 ? undefined : { - type: 'time', - splitNumber: this.isMobile() ? 5 : 10, + name: this.widget ? undefined : formatterXAxisLabel(this.locale, this.timespan), + nameLocation: 'middle', + nameTextStyle: { + padding: [10, 0, 0, 0], + }, + type: 'category', + boundaryGap: false, + axisLine: { onZero: true }, axisLabel: { + formatter: val => formatterXAxisTimeCategory(this.locale, this.timespan, parseInt(val, 10)), + align: 'center', + fontSize: 11, + lineHeight: 12, hideOverlap: true, - } + padding: [0, 5], + }, }, - legend: (this.widget || data.length === 0) ? undefined : { + legend: { data: [ { - name: 'Total accelerations', + name: 'In-band fees per block', inactiveColor: 'rgb(110, 112, 121)', - textStyle: { + textStyle: { color: 'white', }, icon: 'roundRect', }, { - name: 'Out-of-band fees paid', + name: 'Out-of-band fees per block', inactiveColor: 'rgb(110, 112, 121)', textStyle: { color: 'white', @@ -249,6 +254,11 @@ export class AccelerationFeesGraphComponent implements OnInit { icon: 'roundRect', }, ], + selected: { + 'In-band fees per block': false, + 'Out-of-band fees per block': true, + }, + show: !this.widget, }, yAxis: data.length === 0 ? undefined : [ { @@ -288,35 +298,23 @@ export class AccelerationFeesGraphComponent implements OnInit { series: data.length === 0 ? undefined : [ { legendHoverLink: false, - zlevel: 0, - yAxisIndex: 1, - name: 'Total accelerations', - data: data.map(block => [block.timestamp * 1000, block.accelerations, block.avgHeight]), - type: 'line', - symbol: 'none', - areaStyle: { - color: '#1E88E5', - opacity: 0.5 - }, - lineStyle: { - width: 1, - opacity: 1, - }, - step: 'middle', + zlevel: 1, + name: 'Out-of-band fees per block', + data: data.map(block => [block.timestamp * 1000, block.avgFeePaid, block.avgHeight]), + stack: 'Total', + type: 'bar', + barWidth: '100%', + large: true, }, { legendHoverLink: false, - zlevel: 1, - yAxisIndex: 0, - name: 'Out-of-band fees paid', - data: data.map(block => [block.timestamp * 1000, block.feePaid, block.avgHeight]), - type: 'line', - smooth: 0.25, - symbol: 'none', - lineStyle: { - width: 2, - opacity: 1, - } + zlevel: 0, + name: 'In-band fees per block', + data: data.map(block => [block.timestamp * 1000, block.avgFees, block.avgHeight]), + stack: 'Total', + type: 'bar', + barWidth: '100%', + large: true, }, ], dataZoom: (this.widget || data.length === 0 )? undefined : [{ @@ -344,6 +342,17 @@ export class AccelerationFeesGraphComponent implements OnInit { } }, }], + visualMap: { + type: 'continuous', + min: minValue, + max: maxValue, + dimension: 1, + seriesIndex: 1, + show: false, + inRange: { + color: ['#F4511E7f', '#FB8C007f', '#FFB3007f', '#FDD8357f', '#7CB3427f'].reverse() // Gradient color range + } + }, }; } @@ -372,4 +381,10 @@ export class AccelerationFeesGraphComponent implements OnInit { this.chartOptions.backgroundColor = 'none'; this.chartInstance.setOption(this.chartOptions); } + + ngOnDestroy(): void { + if (this.statsSubscription) { + this.statsSubscription.unsubscribe(); + } + } } diff --git a/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts index 51f7360e1..d83303619 100644 --- a/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts +++ b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts @@ -12,7 +12,7 @@ import { Acceleration } from '../../../interfaces/node-api.interface'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class AccelerationStatsComponent implements OnInit { - @Input() timespan: '24h' | '1w' = '24h'; + @Input() timespan: '24h' | '1w' | '1m' = '24h'; @Input() accelerations$: Observable; public accelerationStats$: Observable; diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html index a64c4724b..4a864b024 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html @@ -8,9 +8,16 @@ - - - + + + + + + + + + + @@ -19,20 +26,33 @@ - - - - + + + + + + + + + + + @@ -63,7 +83,8 @@
    - There are no accelerations show here yet! + There are no active accelerations yet! + There are no accelerations show here yet!
    diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss index 55cecdcbd..69aae18cc 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss @@ -50,7 +50,7 @@ tr, td, th { } .txid { - width: 30%; + width: 25%; @media (max-width: 1100px) { padding-right: 10px; } @@ -64,10 +64,18 @@ tr, td, th { } .fee { - width: 25%; + width: 35%; } -.fee-delta { +.block { + width: 20%; +} + +.bid { + width: 30%; +} + +.time { width: 25%; } diff --git a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html index 0dbba3219..91b721db6 100644 --- a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html +++ b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html @@ -7,7 +7,7 @@
    - Pending accelerations + Active accelerations
    @@ -18,16 +18,16 @@
    - +
    Acceleration stats  - (1008 blocks) + (1 month)
    - +
    @@ -54,11 +54,23 @@
    - + + + +
    -
    Pending Accelerations
    +
    diff --git a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts index c3a40730b..79a77a600 100644 --- a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts +++ b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.ts @@ -56,7 +56,7 @@ export class AcceleratorDashboardComponent implements OnInit { this.accelerations$ = this.stateService.chainTip$.pipe( distinctUntilChanged(), switchMap((chainTip) => { - return this.apiService.getAccelerationHistory$({ timeframe: '1w' }); + return this.apiService.getAccelerationHistory$({ timeframe: '1m' }); }), catchError((e) => { return of([]); From d38381af8b0a60170ff69ab805ac3e758dcdfa09 Mon Sep 17 00:00:00 2001 From: orangesurf Date: Fri, 8 Dec 2023 13:08:43 +0000 Subject: [PATCH 311/639] Changes following feedback --- frontend/src/app/components/about/about.component.html | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index 2ab2d4e9c..34817b51c 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -409,9 +409,6 @@ Mempool Space K.K.
    and other shadowy super-coders
    -

    - The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries. -

    See our Trademark Policy and Guidelines for more details, published on <https://mempool.space/trademark-policy>.

    @@ -436,7 +433,7 @@ Trademark Notice

    - Mempool Space K.K.™, The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries. + The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries.

    While our software is available under an open source software license, the copyright license does not include an implied right or license to use our trademarks. See our Trademark Policy and Guidelines for more details, published on <https://mempool.space/trademark-policy>. From 2cddc5fdd8d55d15e6ca2ea436d111671b67af7c Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 8 Dec 2023 13:23:51 +0000 Subject: [PATCH 312/639] accelerations: not yet --- .../accelerations-list/accelerations-list.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html index 4a864b024..32012d363 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html @@ -83,8 +83,8 @@

    - There are no active accelerations yet! - There are no accelerations show here yet! + There are no active accelerations + There are no recent accelerations
    From 5ac432556b7a029689e5373e4b71dc2efa767e64 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 8 Dec 2023 17:00:36 +0100 Subject: [PATCH 313/639] [mining] show proper message when we have less than 2 weeks worth of mining pool hashrate data --- frontend/src/app/components/pool/pool.component.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/components/pool/pool.component.ts b/frontend/src/app/components/pool/pool.component.ts index e52abe433..4457814c3 100644 --- a/frontend/src/app/components/pool/pool.component.ts +++ b/frontend/src/app/components/pool/pool.component.ts @@ -115,13 +115,13 @@ export class PoolComponent implements OnInit { prepareChartOptions(data) { let title: object; - if (data.length === 0) { + if (data.length <= 1) { title = { textStyle: { color: 'grey', fontSize: 15 }, - text: $localize`:@@23555386d8af1ff73f297e89dd4af3f4689fb9dd:Indexing blocks`, + text: $localize`Not enough data yet`, left: 'center', top: 'center' }; @@ -172,14 +172,14 @@ export class PoolComponent implements OnInit { `; }.bind(this) }, - xAxis: data.length === 0 ? undefined : { + xAxis: data.length <= 1 ? undefined : { type: 'time', splitNumber: (this.isMobile()) ? 5 : 10, axisLabel: { hideOverlap: true, } }, - yAxis: data.length === 0 ? undefined : [ + yAxis: data.length <= 1 ? undefined : [ { min: (value) => { return value.min * 0.9; @@ -198,7 +198,7 @@ export class PoolComponent implements OnInit { } }, ], - series: data.length === 0 ? undefined : [ + series: data.length <= 1 ? undefined : [ { zlevel: 0, name: 'Hashrate', @@ -211,7 +211,7 @@ export class PoolComponent implements OnInit { }, }, ], - dataZoom: data.length === 0 ? undefined : [{ + dataZoom: data.length <= 1 ? undefined : [{ type: 'inside', realtime: true, zoomLock: true, From a4810b8be0438f512336a9ab93450f755d33fc09 Mon Sep 17 00:00:00 2001 From: Armin Sabouri Date: Fri, 17 Nov 2023 15:23:52 -0500 Subject: [PATCH 314/639] fix: incorrect `HTTP_PORT` docker compose field in docker README.md The override is [BACKEND_HTTP_PORT defined here](https://github.com/mempool/mempool/blob/59c513f2a52a96d125944b42230e1fb7b13b130e/docker/backend/start.sh#L7) --- docker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/README.md b/docker/README.md index 8dc1f264a..444324af8 100644 --- a/docker/README.md +++ b/docker/README.md @@ -124,7 +124,7 @@ Corresponding `docker-compose.yml` overrides: environment: MEMPOOL_NETWORK: "" MEMPOOL_BACKEND: "" - MEMPOOL_HTTP_PORT: "" + BACKEND_HTTP_PORT: "" MEMPOOL_SPAWN_CLUSTER_PROCS: "" MEMPOOL_API_URL_PREFIX: "" MEMPOOL_POLL_RATE_MS: "" From 88d2a3a50d35418bf05ab555c92f361bdbe271f0 Mon Sep 17 00:00:00 2001 From: Armin Sabouri Date: Fri, 17 Nov 2023 15:31:39 -0500 Subject: [PATCH 315/639] sign CLA for 0xBEEFCAF3 --- contributors/0xBEEFCAF3.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 contributors/0xBEEFCAF3.txt diff --git a/contributors/0xBEEFCAF3.txt b/contributors/0xBEEFCAF3.txt new file mode 100644 index 000000000..e00999be1 --- /dev/null +++ b/contributors/0xBEEFCAF3.txt @@ -0,0 +1,3 @@ +I hereby accept the terms of the Contributor License Agreement in the CONTRIBUTING.md file of the mempool/mempool git repository as of November 17, 2023. + +Signed: 0xBEEFCAF3 From e5df1571da468afcaea57c53241ee233baadf37d Mon Sep 17 00:00:00 2001 From: softsimon Date: Sat, 9 Dec 2023 22:33:02 +0700 Subject: [PATCH 316/639] Acceleration tab --- .../src/app/components/master-page/master-page.component.html | 4 ++++ frontend/src/app/shared/shared.module.ts | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/master-page/master-page.component.html b/frontend/src/app/components/master-page/master-page.component.html index f31e262ce..c6af2c282 100644 --- a/frontend/src/app/components/master-page/master-page.component.html +++ b/frontend/src/app/components/master-page/master-page.component.html @@ -48,6 +48,10 @@ -

    - See our Trademark Policy and Guidelines for more details, published on <https://mempool.space/trademark-policy>. -

    The Mempool Open Source Project is free software; you can redistribute it and/or modify it under the terms of (at your option) either:

    @@ -433,7 +430,7 @@ Trademark Notice

    - The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries. + The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem™, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool Blocks 3 | 2 logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries.

    While our software is available under an open source software license, the copyright license does not include an implied right or license to use our trademarks. See our Trademark Policy and Guidelines for more details, published on <https://mempool.space/trademark-policy>. diff --git a/frontend/src/app/components/trademark-policy/trademark-policy.component.html b/frontend/src/app/components/trademark-policy/trademark-policy.component.html index b1fe4daac..9d08c634d 100644 --- a/frontend/src/app/components/trademark-policy/trademark-policy.component.html +++ b/frontend/src/app/components/trademark-policy/trademark-policy.component.html @@ -60,6 +60,8 @@

    + +
    TXIDFinal FeeMax BidStatusFee RateAcceleration BidRequestedOut-of-band FeeBlockStatus
    - {{ (acceleration.feePaid - acceleration.baseFee - acceleration.vsizeFee) | number }} sat - - ~ - - {{ acceleration.feeDelta | number }} sat - - Pending - Mined - Canceled - + + + {{ (acceleration.feeDelta) | number }} sat + + + + {{ (acceleration.feePaid) | number }} sat + + ~ + + {{ acceleration.blockHeight }} + + Pending + Mined + Canceled +
    Mempool Enterprise
    Mempool Liquidity
    mempool.space
    Be your own explorer
    Explore the full Bitcoin ecosystem
    @@ -92,11 +94,16 @@

    The mempool Square Logo



    - +

    The mempool Blocks Logo



    + +

    +

    The mempool Blocks 3 | 2 Logo

    +

    +
    @@ -307,8 +314,7 @@

    Also, if you are using our Marks in a way described in the sections "Uses for Which We Are Granting a License," you must include the following trademark attribution at the foot of the webpage where you have used the Mark (or, if in a book, on the credits page), on any packaging or labeling, and on advertising or marketing materials:

    -

    "The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries, and are used with permission. Mempool Space K.K. has no affiliation with and does not sponsor or endorse the information provided herein."

    - +

    "The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem™, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool Blocks 3 | 2 logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries, and are used with permission. Mempool Space K.K. has no affiliation with and does not sponsor or endorse the information provided herein."

  • What to Do When You See Abuse

  • diff --git a/frontend/src/resources/mempool-blocks-2-3-logo.jpeg b/frontend/src/resources/mempool-blocks-2-3-logo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9ec0525d38b36c3a4d68f2fecbf4e3bb45d721e2 GIT binary patch literal 12166 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 literal 0 HcmV?d00001 From ed215aa4cd0755d8c59348a88ca30816639c3da9 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 12 Dec 2023 09:07:27 +0100 Subject: [PATCH 319/639] [menu] only add space after @ username if username already contains @ --- frontend/src/app/components/menu/menu.component.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/menu/menu.component.html b/frontend/src/app/components/menu/menu.component.html index 1cc7bdd03..0f5163ac4 100644 --- a/frontend/src/app/components/menu/menu.component.html +++ b/frontend/src/app/components/menu/menu.component.html @@ -3,7 +3,12 @@
    +  ({{ (node.capacity / totalCapacity * 100) | number:'1.1-1' }}%) {{ node.channels | number }} +  ({{ (node?.channels / totalChannels * 100) | number:'1.1-1' }}%) diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss index 3547c447f..89f144135 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss @@ -41,6 +41,11 @@ tr, td, th { } } +.capacity-ratio { + font-size: 12px; + color: darkgrey; +} + .fiat { width: 15%; @media (min-width: 768px) and (max-width: 991px) { diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts index 054fa2f3c..780b9d1cd 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts @@ -14,11 +14,14 @@ import { LightningApiService } from '../../lightning-api.service'; }) export class TopNodesPerCapacity implements OnInit { @Input() nodes$: Observable; + @Input() statistics$: Observable; @Input() widget: boolean = false; topNodesPerCapacity$: Observable; skeletonRows: number[] = []; currency$: Observable; + totalCapacity: number; + totalChannels: number; constructor( private apiService: LightningApiService, @@ -59,6 +62,11 @@ export class TopNodesPerCapacity implements OnInit { }) ); } + + this.statistics$?.subscribe((data) => { + this.totalCapacity = data.latest.total_capacity; + this.totalChannels = data.latest.channel_count; + }); } } diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html index 94a887bb3..76b032552 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html @@ -27,9 +27,11 @@ {{ node.channels ? (node.channels | number) : '~' }} +  ({{ (node?.channels / totalChannels * 100) | number:'1.1-1' }}%) +  ({{ (node.capacity / totalCapacity * 100) | number:'1.1-1' }}%) diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss index a42599d69..63d65bcf8 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss @@ -44,6 +44,11 @@ tr, td, th { } } +.capacity-ratio { + font-size: 12px; + color: darkgrey; +} + .geolocation { @media (min-width: 768px) and (max-width: 991px) { display: none !important; diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts index 3de177cc7..f2d00f6f0 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts @@ -14,11 +14,14 @@ import { LightningApiService } from '../../lightning-api.service'; }) export class TopNodesPerChannels implements OnInit { @Input() nodes$: Observable; + @Input() statistics$: Observable; @Input() widget: boolean = false; topNodesPerChannels$: Observable; skeletonRows: number[] = []; currency$: Observable; + totalChannels: number; + totalCapacity: number; constructor( private apiService: LightningApiService, @@ -65,6 +68,11 @@ export class TopNodesPerChannels implements OnInit { }) ); } + + this.statistics$?.subscribe((data) => { + this.totalChannels = data.latest.channel_count; + this.totalCapacity = data.latest.total_capacity; + }); } } From 97053ab5cfe4b68961bfa9ee4cefb976e6f7cb7e Mon Sep 17 00:00:00 2001 From: natsee Date: Wed, 13 Dec 2023 15:13:01 +0100 Subject: [PATCH 330/639] Update contributor agreement file --- contributors/{ncois.txt => natsee.txt} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename contributors/{ncois.txt => natsee.txt} (91%) diff --git a/contributors/ncois.txt b/contributors/natsee.txt similarity index 91% rename from contributors/ncois.txt rename to contributors/natsee.txt index 04a436613..c391ce823 100644 --- a/contributors/ncois.txt +++ b/contributors/natsee.txt @@ -1,3 +1,3 @@ I hereby accept the terms of the Contributor License Agreement in the CONTRIBUTING.md file of the mempool/mempool git repository as of November 16, 2023. -Signed: ncois +Signed: natsee From 7cb58ed98854fea8941882762add04f17beaf136 Mon Sep 17 00:00:00 2001 From: takuabonn Date: Wed, 13 Dec 2023 21:48:41 +0900 Subject: [PATCH 331/639] update to use cachedRequest --- .../app/lightning/lightning-api.service.ts | 44 ++++++++++++++++++- .../nodes-networks-chart.component.ts | 4 +- .../lightning-statistics-chart.component.ts | 4 +- 3 files changed, 47 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/lightning/lightning-api.service.ts b/frontend/src/app/lightning/lightning-api.service.ts index fda93d446..ee55fb75d 100644 --- a/frontend/src/app/lightning/lightning-api.service.ts +++ b/frontend/src/app/lightning/lightning-api.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; import { HttpClient, HttpParams } from '@angular/common/http'; -import { Observable } from 'rxjs'; +import { BehaviorSubject, Observable, catchError, filter, of, shareReplay, take, tap } from 'rxjs'; import { StateService } from '../services/state.service'; import { IChannel, INodesRanking, IOldestNodes, ITopNodesPerCapacity, ITopNodesPerChannels } from '../interfaces/node-api.interface'; @@ -9,6 +9,8 @@ import { IChannel, INodesRanking, IOldestNodes, ITopNodesPerCapacity, ITopNodesP }) export class LightningApiService { private apiBasePath = ''; // network path is /testnet, etc. or '' for mainnet + + private requestCache = new Map, expiry: number }>; constructor( private httpClient: HttpClient, @@ -23,6 +25,46 @@ export class LightningApiService { }); } + private generateCacheKey(functionName: string, params: any[]): string { + return functionName + JSON.stringify(params); + } + + // delete expired cache entries + private cleanExpiredCache(): void { + this.requestCache.forEach((value, key) => { + if (value.expiry < Date.now()) { + this.requestCache.delete(key); + } + }); + } + + cachedRequest Observable>( + apiFunction: F, + expireAfter: number, // in ms + ...params: Parameters + ): Observable { + this.cleanExpiredCache(); + + const cacheKey = this.generateCacheKey(apiFunction.name, params); + if (!this.requestCache.has(cacheKey)) { + const subject = new BehaviorSubject(null); + this.requestCache.set(cacheKey, { subject, expiry: Date.now() + expireAfter }); + + apiFunction.bind(this)(...params).pipe( + tap(data => { + subject.next(data as T); + }), + catchError((error) => { + subject.error(error); + return of(null); + }), + shareReplay(1), + ).subscribe(); + } + + return this.requestCache.get(cacheKey).subject.asObservable().pipe(filter(val => val !== null), take(1)); + } + getNode$(publicKey: string): Observable { return this.httpClient.get(this.apiBasePath + '/api/v1/lightning/nodes/' + publicKey); } diff --git a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts index 7352d884d..30f786b16 100644 --- a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts +++ b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -82,9 +82,9 @@ export class NodesNetworksChartComponent implements OnInit { firstRun = false; this.miningWindowPreference = timespan; this.isLoading = true; - return this.lightningApiService.listStatistics$(timespan) + return this.lightningApiService.cachedRequest(this.lightningApiService.listStatistics$, 250, timespan) .pipe( - tap((response) => { + tap((response:any) => { const data = response.body; const chartData = { tor_nodes: data.map(val => [val.added * 1000, val.tor_nodes]), diff --git a/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts b/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts index 7417a35cd..0e4f66ca0 100644 --- a/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts +++ b/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -81,9 +81,9 @@ export class LightningStatisticsChartComponent implements OnInit { firstRun = false; this.miningWindowPreference = timespan; this.isLoading = true; - return this.lightningApiService.listStatistics$(timespan) + return this.lightningApiService.cachedRequest(this.lightningApiService.listStatistics$, 250, timespan) .pipe( - tap((response) => { + tap((response:any) => { const data = response.body; this.prepareChartOptions({ channel_count: data.map(val => [val.added * 1000, val.channel_count]), From 1fb3de9dc3b15aaf8cbad31d0fbc8268d468159e Mon Sep 17 00:00:00 2001 From: takuabonn Date: Wed, 13 Dec 2023 23:26:14 +0900 Subject: [PATCH 332/639] update contributors --- contributors/takuabonn.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 contributors/takuabonn.txt diff --git a/contributors/takuabonn.txt b/contributors/takuabonn.txt new file mode 100644 index 000000000..331019e91 --- /dev/null +++ b/contributors/takuabonn.txt @@ -0,0 +1,3 @@ +I hereby accept the terms of the Contributor License Agreement in the CONTRIBUTING.md file of the mempool/mempool git repository as of December 13, 2023. + +Signed: takuabonn \ No newline at end of file From ce195c913397dfca81a120f005b2e2175f19d238 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 13 Dec 2023 16:15:55 +0000 Subject: [PATCH 333/639] Fix ECDSA DER signature detection --- backend/src/api/common.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/api/common.ts b/backend/src/api/common.ts index 00f4328ce..42dae7eb0 100644 --- a/backend/src/api/common.ts +++ b/backend/src/api/common.ts @@ -171,8 +171,8 @@ export class Common { // heuristic to detect probable DER signatures return (w.length >= 18 && w.startsWith('30') // minimum DER signature length is 8 bytes + sighash flag (see https://mempool.space/testnet/tx/c6c232a36395fa338da458b86ff1327395a9afc28c5d2daa4273e410089fd433) - && ['01, 02, 03, 81, 82, 83'].includes(w.slice(-2)) // signature must end with a valid sighash flag - && (w.length === parseInt(w.slice(2, 4), 16) + 6) // second byte encodes the combined length of the R and S components + && ['01', '02', '03', '81', '82', '83'].includes(w.slice(-2)) // signature must end with a valid sighash flag + && (w.length === (2 * parseInt(w.slice(2, 4), 16)) + 6) // second byte encodes the combined length of the R and S components ); } From 464cffb5c1c5be14d4f88ae55cef0ff5c41192c3 Mon Sep 17 00:00:00 2001 From: natsee Date: Thu, 14 Dec 2023 12:22:00 +0100 Subject: [PATCH 334/639] Add LN statistics interface --- .../src/app/interfaces/node-api.interface.ts | 23 +++++++++++++++++++ .../channels-statistics.component.ts | 3 ++- .../lightning-dashboard.component.ts | 4 ++-- .../node-statistics.component.ts | 3 ++- .../nodes-ranking/nodes-ranking.component.ts | 3 ++- .../top-nodes-per-capacity.component.ts | 4 ++-- .../top-nodes-per-channels.component.ts | 4 ++-- 7 files changed, 35 insertions(+), 9 deletions(-) diff --git a/frontend/src/app/interfaces/node-api.interface.ts b/frontend/src/app/interfaces/node-api.interface.ts index 862272330..37d2f29ed 100644 --- a/frontend/src/app/interfaces/node-api.interface.ts +++ b/frontend/src/app/interfaces/node-api.interface.ts @@ -254,6 +254,29 @@ export interface INodesRanking { topByChannels: ITopNodesPerChannels[]; } +export interface INodesStatisticsEntry { + added: string; + avg_base_fee_mtokens: number; + avg_capacity: number; + avg_fee_rate: number; + channel_count: number; + clearnet_nodes: number; + clearnet_tor_nodes: number; + id: number; + med_base_fee_mtokens: number; + med_capacity: number; + med_fee_rate: number; + node_count: number; + tor_nodes: number; + total_capacity: number; + unannounced_nodes: number; +} + +export interface INodesStatistics { + latest: INodesStatisticsEntry; + previous: INodesStatisticsEntry; +} + export interface IOldestNodes { publicKey: string, alias: string, diff --git a/frontend/src/app/lightning/channels-statistics/channels-statistics.component.ts b/frontend/src/app/lightning/channels-statistics/channels-statistics.component.ts index 4059e9420..f2b78f53c 100644 --- a/frontend/src/app/lightning/channels-statistics/channels-statistics.component.ts +++ b/frontend/src/app/lightning/channels-statistics/channels-statistics.component.ts @@ -1,5 +1,6 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; +import { INodesStatistics } from '../../interfaces/node-api.interface'; @Component({ selector: 'app-channels-statistics', @@ -8,7 +9,7 @@ import { Observable } from 'rxjs'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ChannelsStatisticsComponent implements OnInit { - @Input() statistics$: Observable; + @Input() statistics$: Observable; mode: string = 'avg'; constructor() { } diff --git a/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts b/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts index 26a67cee6..dece98ddb 100644 --- a/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts +++ b/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts @@ -1,7 +1,7 @@ import { AfterViewInit, ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { share } from 'rxjs/operators'; -import { INodesRanking } from '../../interfaces/node-api.interface'; +import { INodesRanking, INodesStatistics } from '../../interfaces/node-api.interface'; import { SeoService } from '../../services/seo.service'; import { StateService } from '../../services/state.service'; import { LightningApiService } from '../lightning-api.service'; @@ -13,7 +13,7 @@ import { LightningApiService } from '../lightning-api.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class LightningDashboardComponent implements OnInit, AfterViewInit { - statistics$: Observable; + statistics$: Observable; nodesRanking$: Observable; officialMempoolSpace = this.stateService.env.OFFICIAL_MEMPOOL_SPACE; diff --git a/frontend/src/app/lightning/node-statistics/node-statistics.component.ts b/frontend/src/app/lightning/node-statistics/node-statistics.component.ts index c42720427..338e17ab8 100644 --- a/frontend/src/app/lightning/node-statistics/node-statistics.component.ts +++ b/frontend/src/app/lightning/node-statistics/node-statistics.component.ts @@ -1,5 +1,6 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; +import { INodesStatistics } from '../../interfaces/node-api.interface'; @Component({ selector: 'app-node-statistics', @@ -8,7 +9,7 @@ import { Observable } from 'rxjs'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class NodeStatisticsComponent implements OnInit { - @Input() statistics$: Observable; + @Input() statistics$: Observable; constructor() { } diff --git a/frontend/src/app/lightning/nodes-ranking/nodes-ranking.component.ts b/frontend/src/app/lightning/nodes-ranking/nodes-ranking.component.ts index e59e89786..8a1eae3dc 100644 --- a/frontend/src/app/lightning/nodes-ranking/nodes-ranking.component.ts +++ b/frontend/src/app/lightning/nodes-ranking/nodes-ranking.component.ts @@ -3,6 +3,7 @@ import { ActivatedRoute } from '@angular/router'; import { LightningApiService } from '../lightning-api.service'; import { share } from 'rxjs/operators'; import { Observable } from 'rxjs'; +import { INodesStatistics } from '../../interfaces/node-api.interface'; @Component({ selector: 'app-nodes-ranking', @@ -12,7 +13,7 @@ import { Observable } from 'rxjs'; }) export class NodesRanking implements OnInit { type: string; - statistics$: Observable; + statistics$: Observable; constructor( private route: ActivatedRoute, diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts index 780b9d1cd..a52ba9398 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { map, Observable } from 'rxjs'; -import { INodesRanking, ITopNodesPerCapacity } from '../../../interfaces/node-api.interface'; +import { INodesRanking, INodesStatistics, ITopNodesPerCapacity } from '../../../interfaces/node-api.interface'; import { SeoService } from '../../../services/seo.service'; import { StateService } from '../../../services/state.service'; import { GeolocationData } from '../../../shared/components/geolocation/geolocation.component'; @@ -14,7 +14,7 @@ import { LightningApiService } from '../../lightning-api.service'; }) export class TopNodesPerCapacity implements OnInit { @Input() nodes$: Observable; - @Input() statistics$: Observable; + @Input() statistics$: Observable; @Input() widget: boolean = false; topNodesPerCapacity$: Observable; diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts index f2d00f6f0..ca1b6d6a4 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { map, Observable } from 'rxjs'; -import { INodesRanking, ITopNodesPerChannels } from '../../../interfaces/node-api.interface'; +import { INodesRanking, INodesStatistics, ITopNodesPerChannels } from '../../../interfaces/node-api.interface'; import { SeoService } from '../../../services/seo.service'; import { StateService } from '../../../services/state.service'; import { GeolocationData } from '../../../shared/components/geolocation/geolocation.component'; @@ -14,7 +14,7 @@ import { LightningApiService } from '../../lightning-api.service'; }) export class TopNodesPerChannels implements OnInit { @Input() nodes$: Observable; - @Input() statistics$: Observable; + @Input() statistics$: Observable; @Input() widget: boolean = false; topNodesPerChannels$: Observable; From 512589dc79fde70a1dec5f6ed443b4b1d84aa789 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 14 Dec 2023 11:26:17 +0000 Subject: [PATCH 335/639] Add fake pubkey filter --- backend/src/api/common.ts | 32 ++++++++-- backend/src/mempool.interfaces.ts | 2 +- backend/src/utils/secp256k1.ts | 74 ++++++++++++++++++++++++ frontend/src/app/shared/filters.utils.ts | 6 +- 4 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 backend/src/utils/secp256k1.ts diff --git a/backend/src/api/common.ts b/backend/src/api/common.ts index 42dae7eb0..751bab5a3 100644 --- a/backend/src/api/common.ts +++ b/backend/src/api/common.ts @@ -6,6 +6,7 @@ import { NodeSocket } from '../repositories/NodesSocketsRepository'; import { isIP } from 'net'; import rbfCache from './rbf-cache'; import transactionUtils from './transaction-utils'; +import { isPoint } from '../utils/secp256k1'; export class Common { static nativeAssetId = config.MEMPOOL.NETWORK === 'liquidtestnet' ? '144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49' @@ -211,6 +212,15 @@ export class Common { } } + static isBurnKey(pubkey: string): boolean { + return [ + '022222222222222222222222222222222222222222222222222222222222222222', + '033333333333333333333333333333333333333333333333333333333333333333', + '020202020202020202020202020202020202020202020202020202020202020202', + '030303030303030303030303030303030303030303030303030303030303030303', + ].includes(pubkey); + } + static getTransactionFlags(tx: TransactionExtended): number { let flags = 0n; if (tx.version === 1) { @@ -249,8 +259,8 @@ export class Common { flags |= this.setSchnorrSighashFlags(flags, vin.witness); } else if (vin.witness) { flags |= this.setSegwitSighashFlags(flags, vin.witness); - } else if (vin.scriptsig_asm) { - flags |= this.setLegacySighashFlags(flags, vin.scriptsig_asm); + } else if (vin.scriptsig?.length) { + flags |= this.setLegacySighashFlags(flags, vin.scriptsig_asm || transactionUtils.convertScriptSigAsm(vin.scriptsig)); } if (vin.prevout?.scriptpubkey_address) { @@ -263,12 +273,23 @@ export class Common { } else { flags |= TransactionFlags.no_rbf; } + let hasFakePubkey = false; for (const vout of tx.vout) { switch (vout.scriptpubkey_type) { - case 'p2pk': flags |= TransactionFlags.p2pk; break; + case 'p2pk': { + flags |= TransactionFlags.p2pk; + // detect fake pubkey (i.e. not a valid DER point on the secp256k1 curve) + hasFakePubkey = hasFakePubkey || !isPoint(vout.scriptpubkey.slice(2, -2)); + } break; case 'multisig': { flags |= TransactionFlags.p2ms; - // TODO - detect fake multisig data embedding + // detect fake pubkeys (i.e. not valid DER points on the secp256k1 curve) + const asm = vout.scriptpubkey_asm || transactionUtils.convertScriptSigAsm(vout.scriptpubkey); + for (const key of (asm?.split(' ') || [])) { + if (!hasFakePubkey && !key.startsWith('OP_')) { + hasFakePubkey = hasFakePubkey || this.isBurnKey(key) || !isPoint(key); + } + } } break; case 'p2pkh': flags |= TransactionFlags.p2pkh; break; case 'p2sh': flags |= TransactionFlags.p2sh; break; @@ -282,6 +303,9 @@ export class Common { } outValues[vout.value || Math.random()] = (outValues[vout.value || Math.random()] || 0) + 1; } + if (hasFakePubkey) { + flags |= TransactionFlags.fake_pubkey; + } if (tx.ancestors?.length) { flags |= TransactionFlags.cpfp_child; } diff --git a/backend/src/mempool.interfaces.ts b/backend/src/mempool.interfaces.ts index f50274304..4a630f1e4 100644 --- a/backend/src/mempool.interfaces.ts +++ b/backend/src/mempool.interfaces.ts @@ -215,7 +215,7 @@ export const TransactionFlags = { replacement: 0b00000100_00000000_00000000n, // data op_return: 0b00000001_00000000_00000000_00000000n, - fake_multisig: 0b00000010_00000000_00000000_00000000n, + fake_pubkey: 0b00000010_00000000_00000000_00000000n, inscription: 0b00000100_00000000_00000000_00000000n, // heuristics coinjoin: 0b00000001_00000000_00000000_00000000_00000000n, diff --git a/backend/src/utils/secp256k1.ts b/backend/src/utils/secp256k1.ts new file mode 100644 index 000000000..cc731f17d --- /dev/null +++ b/backend/src/utils/secp256k1.ts @@ -0,0 +1,74 @@ +function powMod(x: bigint, power: number, modulo: bigint): bigint { + for (let i = 0; i < power; i++) { + x = (x * x) % modulo; + } + return x; +} + +function sqrtMod(x: bigint, P: bigint): bigint { + const b2 = (x * x * x) % P; + const b3 = (b2 * b2 * x) % P; + const b6 = (powMod(b3, 3, P) * b3) % P; + const b9 = (powMod(b6, 3, P) * b3) % P; + const b11 = (powMod(b9, 2, P) * b2) % P; + const b22 = (powMod(b11, 11, P) * b11) % P; + const b44 = (powMod(b22, 22, P) * b22) % P; + const b88 = (powMod(b44, 44, P) * b44) % P; + const b176 = (powMod(b88, 88, P) * b88) % P; + const b220 = (powMod(b176, 44, P) * b44) % P; + const b223 = (powMod(b220, 3, P) * b3) % P; + const t1 = (powMod(b223, 23, P) * b22) % P; + const t2 = (powMod(t1, 6, P) * b2) % P; + const root = powMod(t2, 2, P); + return root; +} + +const curveP = BigInt(`0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F`); + +/** + * This function tells whether the point given is a DER encoded point on the ECDSA curve. + * @param {string} pointHex The point as a hex string (*must not* include a '0x' prefix) + * @returns {boolean} true if the point is on the SECP256K1 curve + */ +export function isPoint(pointHex: string): boolean { + if ( + !( + // is uncompressed + ( + (pointHex.length === 130 && pointHex.startsWith('04')) || + // OR is compressed + (pointHex.length === 66 && + (pointHex.startsWith('02') || pointHex.startsWith('03'))) + ) + ) + ) { + return false; + } + + // Function modified slightly from noble-curves + + + // Now we know that pointHex is a 33 or 65 byte hex string. + const isCompressed = pointHex.length === 66; + + const x = BigInt(`0x${pointHex.slice(2, 66)}`); + if (x >= curveP) { + return false; + } + + if (!isCompressed) { + const y = BigInt(`0x${pointHex.slice(66, 130)}`); + if (y >= curveP) { + return false; + } + // Just check y^2 = x^3 + 7 (secp256k1 curve) + return (y * y) % curveP === (x * x * x + 7n) % curveP; + } else { + // Get unaltered y^2 (no mod p) + const ySquared = (x * x * x + 7n) % curveP; + // Try to sqrt it, it will round down if not perfect root + const y = sqrtMod(ySquared, curveP); + // If we square and it's equal, then it was a perfect root and valid point. + return (y * y) % curveP === ySquared; + } +} \ No newline at end of file diff --git a/frontend/src/app/shared/filters.utils.ts b/frontend/src/app/shared/filters.utils.ts index 4a8cb6a15..0b652a192 100644 --- a/frontend/src/app/shared/filters.utils.ts +++ b/frontend/src/app/shared/filters.utils.ts @@ -29,7 +29,7 @@ export const TransactionFlags = { replacement: 0b00000100_00000000_00000000n, // data op_return: 0b00000001_00000000_00000000_00000000n, - fake_multisig: 0b00000010_00000000_00000000_00000000n, + fake_pubkey: 0b00000010_00000000_00000000_00000000n, inscription: 0b00000100_00000000_00000000_00000000n, // heuristics coinjoin: 0b00000001_00000000_00000000_00000000_00000000n, @@ -64,7 +64,7 @@ export const TransactionFilters: { [key: string]: Filter } = { replacement: { key: 'replacement', label: 'Replacement', flag: TransactionFlags.replacement, important: true }, /* data */ op_return: { key: 'op_return', label: 'OP_RETURN', flag: TransactionFlags.op_return, important: true }, - // fake_multisig: { key: 'fake_multisig', label: 'Fake multisig', flag: TransactionFlags.fake_multisig }, + fake_pubkey: { key: 'fake_pubkey', label: 'Fake pubkey', flag: TransactionFlags.fake_pubkey }, inscription: { key: 'inscription', label: 'Inscription', flag: TransactionFlags.inscription, important: true }, /* heuristics */ coinjoin: { key: 'coinjoin', label: 'Coinjoin', flag: TransactionFlags.coinjoin, important: true }, @@ -82,7 +82,7 @@ export const FilterGroups: { label: string, filters: Filter[]}[] = [ { label: 'Features', filters: ['rbf', 'no_rbf', 'v1', 'v2', 'multisig'] }, { label: 'Address Types', filters: ['p2pk', 'p2ms', 'p2pkh', 'p2sh', 'p2wpkh', 'p2wsh', 'p2tr'] }, { label: 'Behavior', filters: ['cpfp_parent', 'cpfp_child', 'replacement'] }, - { label: 'Data', filters: ['op_return', 'fake_multisig', 'inscription'] }, + { label: 'Data', filters: ['op_return', 'fake_pubkey', 'inscription'] }, { label: 'Heuristics', filters: ['coinjoin', 'consolidation', 'batch_payout'] }, { label: 'Sighash Flags', filters: ['sighash_all', 'sighash_none', 'sighash_single', 'sighash_default', 'sighash_acp'] }, ].map(group => ({ label: group.label, filters: group.filters.map(filter => TransactionFilters[filter] || null).filter(f => f != null) })); \ No newline at end of file From b0c02b16ff22058779a525ba9a02c0c34093a6ca Mon Sep 17 00:00:00 2001 From: natsee Date: Wed, 13 Dec 2023 19:22:46 +0100 Subject: [PATCH 336/639] Search result: do not offer Go to block --- .../app/components/search-form/search-form.component.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index a99dc084e..446d8be5a 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -174,7 +174,7 @@ export class SearchFormComponent implements OnInit { const addressPrefixSearchResults = result[0]; const lightningResults = result[1]; - const matchesBlockHeight = this.regexBlockheight.test(searchText); + const matchesBlockHeight = this.regexBlockheight.test(searchText) && parseInt(searchText) <= this.stateService.latestBlockHeight; const matchesDateTime = this.regexDate.test(searchText) && new Date(searchText).toString() !== 'Invalid Date'; const matchesUnixTimestamp = this.regexUnixTimestamp.test(searchText); const matchesTxId = this.regexTransaction.test(searchText) && !this.regexBlockhash.test(searchText); @@ -217,7 +217,7 @@ export class SearchFormComponent implements OnInit { selectedResult(result: any): void { if (typeof result === 'string') { this.search(result); - } else if (typeof result === 'number') { + } else if (typeof result === 'number' && result <= this.stateService.latestBlockHeight) { this.navigate('/block/', result.toString()); } else if (result.alias) { this.navigate('/lightning/node/', result.public_key); @@ -232,8 +232,10 @@ export class SearchFormComponent implements OnInit { this.isSearching = true; if (!this.regexTransaction.test(searchText) && this.regexAddress.test(searchText)) { this.navigate('/address/', searchText); - } else if (this.regexBlockhash.test(searchText) || this.regexBlockheight.test(searchText)) { + } else if (this.regexBlockhash.test(searchText)) { this.navigate('/block/', searchText); + } else if (this.regexBlockheight.test(searchText)) { + parseInt(searchText) <= this.stateService.latestBlockHeight ? this.navigate('/block/', searchText) : this.isSearching = false; } else if (this.regexTransaction.test(searchText)) { const matches = this.regexTransaction.exec(searchText); if (this.network === 'liquid' || this.network === 'liquidtestnet') { From 16b9ca6c4096e76fbd73f3feba6b1ed662c0ab68 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 14 Dec 2023 13:30:19 +0000 Subject: [PATCH 337/639] Fix CI unit test circular dependency --- backend/src/api/fee-api.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/src/api/fee-api.ts b/backend/src/api/fee-api.ts index 5260e959a..0cab5a295 100644 --- a/backend/src/api/fee-api.ts +++ b/backend/src/api/fee-api.ts @@ -1,8 +1,10 @@ import { MempoolBlock } from '../mempool.interfaces'; -import { Common } from './common'; +import config from '../config'; import mempool from './mempool'; import projectedBlocks from './mempool-blocks'; +const isLiquid = config.MEMPOOL.NETWORK === 'liquid' || config.MEMPOOL.NETWORK === 'liquidtestnet'; + interface RecommendedFees { fastestFee: number, halfHourFee: number, @@ -14,8 +16,8 @@ interface RecommendedFees { class FeeApi { constructor() { } - defaultFee = Common.isLiquid() ? 0.1 : 1; - minimumIncrement = Common.isLiquid() ? 0.1 : 1; + defaultFee = isLiquid ? 0.1 : 1; + minimumIncrement = isLiquid ? 0.1 : 1; public getRecommendedFee(): RecommendedFees { const pBlocks = projectedBlocks.getMempoolBlocks(); From 3eb6241c987a25bf320e06cb1ed70d007ef4bc33 Mon Sep 17 00:00:00 2001 From: natsee Date: Thu, 14 Dec 2023 12:29:21 +0100 Subject: [PATCH 338/639] Delete variables and use observables in top nodes components --- .../top-nodes-per-capacity.component.html | 8 ++-- .../top-nodes-per-capacity.component.ts | 42 +++++++++++------- .../top-nodes-per-channels.component.html | 8 ++-- .../top-nodes-per-channels.component.ts | 44 ++++++++++++------- 4 files changed, 63 insertions(+), 39 deletions(-) diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html index 56fb091ee..27af80564 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html @@ -16,8 +16,8 @@ Last update Location
    -  ({{ (node.capacity / totalCapacity * 100) | number:'1.1-1' }}%) +  ({{ (node?.capacity / data.statistics.totalCapacity * 100) | number:'1.1-1' }}%) {{ node.channels | number }} -  ({{ (node?.channels / totalChannels * 100) | number:'1.1-1' }}%) +  ({{ (node?.channels / data.statistics.totalChannels * 100) | number:'1.1-1' }}%) diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts index a52ba9398..0b8c03bbd 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; -import { map, Observable } from 'rxjs'; +import { combineLatest, map, Observable } from 'rxjs'; import { INodesRanking, INodesStatistics, ITopNodesPerCapacity } from '../../../interfaces/node-api.interface'; import { SeoService } from '../../../services/seo.service'; import { StateService } from '../../../services/state.service'; @@ -17,11 +17,9 @@ export class TopNodesPerCapacity implements OnInit { @Input() statistics$: Observable; @Input() widget: boolean = false; - topNodesPerCapacity$: Observable; + topNodesPerCapacity$: Observable<{ nodes: ITopNodesPerCapacity[]; statistics: { totalCapacity: number; totalChannels?: number; } }>; skeletonRows: number[] = []; currency$: Observable; - totalCapacity: number; - totalChannels: number; constructor( private apiService: LightningApiService, @@ -42,8 +40,12 @@ export class TopNodesPerCapacity implements OnInit { } if (this.widget === false) { - this.topNodesPerCapacity$ = this.apiService.getTopNodesByCapacity$().pipe( - map((ranking) => { + this.topNodesPerCapacity$ = combineLatest([ + this.apiService.getTopNodesByCapacity$(), + this.statistics$ + ]) + .pipe( + map(([ranking, statistics]) => { for (const i in ranking) { ranking[i].geolocation = { country: ranking[i].country?.en, @@ -52,21 +54,31 @@ export class TopNodesPerCapacity implements OnInit { iso: ranking[i].iso_code, }; } - return ranking; + return { + nodes: ranking, + statistics: { + totalCapacity: statistics.latest.total_capacity, + totalChannels: statistics.latest.channel_count, + } + } }) ); } else { - this.topNodesPerCapacity$ = this.nodes$.pipe( - map((ranking) => { - return ranking.topByCapacity.slice(0, 6); + this.topNodesPerCapacity$ = combineLatest([ + this.nodes$, + this.statistics$ + ]) + .pipe( + map(([ranking, statistics]) => { + return { + nodes: ranking.topByCapacity.slice(0, 6), + statistics: { + totalCapacity: statistics.latest.total_capacity, + } + } }) ); } - - this.statistics$?.subscribe((data) => { - this.totalCapacity = data.latest.total_capacity; - this.totalChannels = data.latest.channel_count; - }); } } diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html index 76b032552..87f7f1ad2 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html @@ -16,8 +16,8 @@ Last update Location
    {{ node.channels ? (node.channels | number) : '~' }} -  ({{ (node?.channels / totalChannels * 100) | number:'1.1-1' }}%) +  ({{ (node?.channels / data.statistics.totalChannels * 100) | number:'1.1-1' }}%) -  ({{ (node.capacity / totalCapacity * 100) | number:'1.1-1' }}%) +  ({{ (node.capacity / data.statistics.totalCapacity * 100) | number:'1.1-1' }}%) diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts index ca1b6d6a4..56d55a5d3 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; -import { map, Observable } from 'rxjs'; +import { combineLatest, map, Observable } from 'rxjs'; import { INodesRanking, INodesStatistics, ITopNodesPerChannels } from '../../../interfaces/node-api.interface'; import { SeoService } from '../../../services/seo.service'; import { StateService } from '../../../services/state.service'; @@ -17,12 +17,10 @@ export class TopNodesPerChannels implements OnInit { @Input() statistics$: Observable; @Input() widget: boolean = false; - topNodesPerChannels$: Observable; + topNodesPerChannels$: Observable<{ nodes: ITopNodesPerChannels[]; statistics: { totalChannels: number; totalCapacity?: number; } }>; skeletonRows: number[] = []; currency$: Observable; - totalChannels: number; - totalCapacity: number; - + constructor( private apiService: LightningApiService, private stateService: StateService, @@ -40,8 +38,12 @@ export class TopNodesPerChannels implements OnInit { this.seoService.setTitle($localize`:@@c50bf442cf99f6fc5f8b687c460f33234b879869:Connectivity Ranking`); this.seoService.setDescription($localize`:@@meta.description.lightning.ranking.channels:See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more.`); - this.topNodesPerChannels$ = this.apiService.getTopNodesByChannels$().pipe( - map((ranking) => { + this.topNodesPerChannels$ = combineLatest([ + this.apiService.getTopNodesByChannels$(), + this.statistics$ + ]) + .pipe( + map(([ranking, statistics]) => { for (const i in ranking) { ranking[i].geolocation = { country: ranking[i].country?.en, @@ -50,12 +52,22 @@ export class TopNodesPerChannels implements OnInit { iso: ranking[i].iso_code, }; } - return ranking; + return { + nodes: ranking, + statistics: { + totalChannels: statistics.latest.channel_count, + totalCapacity: statistics.latest.total_capacity, + } + } }) ); } else { - this.topNodesPerChannels$ = this.nodes$.pipe( - map((ranking) => { + this.topNodesPerChannels$ = combineLatest([ + this.nodes$, + this.statistics$ + ]) + .pipe( + map(([ranking, statistics]) => { for (const i in ranking.topByChannels) { ranking.topByChannels[i].geolocation = { country: ranking.topByChannels[i].country?.en, @@ -64,15 +76,15 @@ export class TopNodesPerChannels implements OnInit { iso: ranking.topByChannels[i].iso_code, }; } - return ranking.topByChannels.slice(0, 6); + return { + nodes: ranking.topByChannels.slice(0, 6), + statistics: { + totalChannels: statistics.latest.channel_count, + } + } }) ); } - - this.statistics$?.subscribe((data) => { - this.totalChannels = data.latest.channel_count; - this.totalCapacity = data.latest.total_capacity; - }); } } From 2e531413fa23b4ba93ff92877053bfb29b18aca3 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 14 Dec 2023 18:09:04 +0000 Subject: [PATCH 339/639] Disable filter UI on mined blocks --- .../block-overview-graph/block-overview-graph.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/block-overview-graph/block-overview-graph.component.html b/frontend/src/app/components/block-overview-graph/block-overview-graph.component.html index 251b84a73..9f5e7cb47 100644 --- a/frontend/src/app/components/block-overview-graph/block-overview-graph.component.html +++ b/frontend/src/app/components/block-overview-graph/block-overview-graph.component.html @@ -13,6 +13,6 @@ [auditEnabled]="auditHighlighting" [blockConversion]="blockConversion" > - + From 100936e551815894c76c3576308a3393bcb53f32 Mon Sep 17 00:00:00 2001 From: orangesurf Date: Fri, 15 Dec 2023 10:04:04 +0000 Subject: [PATCH 340/639] Changes following feedback --- LICENSE | 2 +- frontend/src/app/components/about/about.component.html | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/LICENSE b/LICENSE index f65965c7c..e5b707840 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ The Mempool Open Source Project® -Copyright (c) 2019-2023 The Mempool Space K.K. and other shadowy super-coders +Copyright (c) 2019-2023 Mempool Space K.K. and other shadowy super-coders This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index 98365e91f..98dcb4c31 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -430,9 +430,7 @@
    From 445d600633a36511c2d46e46b9dc88470500af81 Mon Sep 17 00:00:00 2001 From: orangesurf Date: Fri, 15 Dec 2023 10:37:16 +0000 Subject: [PATCH 341/639] Changes following feedback --- frontend/src/app/components/about/about.component.html | 6 +----- .../components/global-footer/global-footer.component.html | 1 + 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index 98dcb4c31..a6b5d010d 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -416,7 +416,7 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the full license terms for more details.

    - This program incorporates software and other components licensed from third parties. See the full list of Third-Party Licenses for legal notices from those projects. + This program incorporates software and other components licensed from third parties. See the full list of Third-Party Licenses for legal notices from those projects.

    Trademark Notice
    @@ -429,10 +429,6 @@

    - -
    diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.html b/frontend/src/app/shared/components/global-footer/global-footer.component.html index fba04e605..e98edbed0 100644 --- a/frontend/src/app/shared/components/global-footer/global-footer.component.html +++ b/frontend/src/app/shared/components/global-footer/global-footer.component.html @@ -77,6 +77,7 @@

    Terms of Service

    Privacy Policy

    Trademark Policy

    +

    Third-party Licenses

    Pool Hashrate BlocksAvg Health Avg Block Fees Empty Blocks {{ pool.name }}{{ pool.name }} {{ pool.lastEstimatedHashrate }} {{ miningStats.miningUnits.hashrateUnit }} {{ pool.blockCount }} ({{ pool.share }}%) + Date: Fri, 15 Dec 2023 14:48:17 +0100 Subject: [PATCH 343/639] [menu] show og rank and active subscription in menu --- .../app/components/menu/menu.component.html | 16 +++++++--- .../app/components/menu/menu.component.scss | 32 +++++++++++++++++++ .../src/app/services/services-api.service.ts | 1 + 3 files changed, 44 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/components/menu/menu.component.html b/frontend/src/app/components/menu/menu.component.html index 0f5163ac4..c72016ef5 100644 --- a/frontend/src/app/components/menu/menu.component.html +++ b/frontend/src/app/components/menu/menu.component.html @@ -2,13 +2,19 @@
    Hash{{ block.id | shortenString : 13 }} {{ block.id | shortenString : 13 }}
    Timestamp
    mempool.space
    Be your own explorer
    Explore the full Bitcoin ecosystem
    Mempool Goggles
    @@ -314,7 +315,7 @@

    Also, if you are using our Marks in a way described in the sections "Uses for Which We Are Granting a License," you must include the following trademark attribution at the foot of the webpage where you have used the Mark (or, if in a book, on the credits page), on any packaging or labeling, and on advertising or marketing materials:

    -

    "The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem™, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool Blocks 3 | 2 logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries, and are used with permission. Mempool Space K.K. has no affiliation with and does not sponsor or endorse the information provided herein."

    +

    "The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem™, Mempool Goggles™, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool Blocks 3 | 2 logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries, and are used with permission. Mempool Space K.K. has no affiliation with and does not sponsor or endorse the information provided herein."

  • What to Do When You See Abuse

  • From 03b78015ba012201929609c3ba51876d590c122e Mon Sep 17 00:00:00 2001 From: orangesurf Date: Mon, 18 Dec 2023 09:22:28 +0000 Subject: [PATCH 355/639] Remove redundant semicolons --- frontend/src/app/components/about/about.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index b1a3069a6..dd2a4ead2 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -422,7 +422,7 @@ Trademark Notice

    - The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem™, Mempool Goggles™, the mempool logo;, the mempool Square logo;, the mempool Blocks logo;, the mempool Blocks 3 | 2 logo;, the mempool.space Vertical Logo;, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries. + The Mempool Open Source Project®, Mempool Accelerator™, Mempool Enterprise®, Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem™, Mempool Goggles™, the mempool logo, the mempool Square logo, the mempool Blocks logo, the mempool Blocks 3 | 2 logo, the mempool.space Vertical Logo, and the mempool.space Horizontal logo are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries.

    While our software is available under an open source software license, the copyright license does not include an implied right or license to use our trademarks. See our Trademark Policy and Guidelines for more details, published on <https://mempool.space/trademark-policy>. From 59f8a7199c45665107c5ff4fed441d0d67211348 Mon Sep 17 00:00:00 2001 From: orangesurf Date: Mon, 18 Dec 2023 09:35:14 +0000 Subject: [PATCH 356/639] Fix space --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index a5267e2e0..b6a09390a 100644 --- a/LICENSE +++ b/LICENSE @@ -15,7 +15,7 @@ Mempool Liquidity™, mempool.space®, Be your own explorer™, Explore the full Bitcoin ecosystem™, Mempool Goggles™, the mempool Logo, the mempool Square logo, the mempool Blocks logo, the mempool Blocks 3 | 2 logo, the mempool.space Vertical Logo, and the mempool.space Horizontal logo are registered trademarks or trademarks -of MempoolSpace K.K in Japan, the United States, and/or other countries. +of Mempool Space K.K in Japan, the United States, and/or other countries. See our full Trademark Policy and Guidelines for more details, published on . From bd07773b8d928b0715a7c45cde510ef019f5ca5d Mon Sep 17 00:00:00 2001 From: Pedro Date: Mon, 18 Dec 2023 12:05:05 +0000 Subject: [PATCH 357/639] Dot the i's on liquid logo --- .../liquid/liquid-network-preview.png | Bin 98482 -> 98357 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/frontend/src/resources/liquid/liquid-network-preview.png b/frontend/src/resources/liquid/liquid-network-preview.png index 72942110cd0e3dd4cf040d41d1456d9bde5ca25c..a66e9bb7aeb83f8394d2dadff914abfa499f293e 100644 GIT binary patch literal 98357 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%0AcU;~|o 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 Tk*a}-)-d;b-NA;5i%wKQX1)QuN zO*-YfNv#%94|wAc?VNtrRZx-QswkBow)Ub@I2Bv!c;VXO7l$bf##QaF;v}gSa z3kc-xUZkyA3L$Du+(!=ULAr7LZAQrLne~~I+s0n*{vA@^VS=k+2>GEn;$5l<1B*l}|kXM9IfebL3GPo@ZLa+8H;}3)6kY5E1CJkp6|vgd}9^ z=LHY_uwMR+cWSLw>0dPR9cdM1UoQMEjyKps)%Xcf9s4#*?+Ep}hP^lqsh0uOd}T$b zl5$*JLAKw-t;$qVFXS?c`C%ef8Lm4fu^^pb{e~`=h%ke>34j($MF+CuGQ2AKA(v(c zCyAKPcH%_k`rAngd}<2)koiLA&z;b$S|PN{k@sqI)T7Gl|+szIA}zaUn{&m=ci zu8m?NoXtIU{0M0xKW*3$5?ar7dx5c_(oPE>(q3hm8DFX{EsLkTAW`zrKiyzn0H49^ zUa;M5-m1I{tUx`R%z0MK=EH(eL3FPAYPpNI6ZvErXMsue{10{ieQxda@6X@im*|KS zu3H@St>pagjn@xr95ahS`|x<2h&X;)mv1h?*52shR^HaR5H@#hzVnHD(|Lxi;?4GD zlc8rjR{AFj6I4&ILpcS8-7ct69tX~c1z5IjB?*bo=qN-_dgIh=`H~iG_cW+~PtJuR zcyeP9Cvc8#(j_OGWSnxVMUAbbHzrr#A~=^!{T{{7j!To38yvr!HR};@f!J6D7ia zUL@v~!umx5Ot(cxL@xg632}MH@%%mga2l<-^ll|6j`AI-M2m&1G|u}x#~HkHylaMc zZ9&MsOn#1^QEzbzSVc9mqc%fcr(+y4ww}W2442?FZsp8}TDf_nHTM~PdPnyy6R#JV(vqSE9= ze?Xia?Yd_wTC_V)Dmb(q-=%h>ajyJA&WjyF#}h<+x{^&|rRCi;Wp`U1RE9SrHr;QMD)iJ>pwSW%7d3Yyt_?o4;Qm*g9W_@#gx7_Sogi`@Vw424SbsWS1*&aF;Rj{uc*;$?VuO9Wi&*RFA4&lA*z>gkY>xqfL5K=JOQELkA|qtljZxvaCef8Er(d6mtq#S?WG z$#v0A^TdY+KIePKiqcD^wx;>+?46wyZWH(CyT^MvzVQm7MAiId10vE(EOKR0%Q;Nn zcE7yvOj+E1qz9+0$xeZ%y2mO~+(N`p)yFl2j_(T8bs|UST(TrvBOx0$0=w?0Nkz;j zu?^e^hZ$TcE{=bv+vHatU;W8L6(aPlXVlccnl>JA@zm74~;L7kl^skoIPCZ*lHNT%xh!t5W04)h2W+(69WsI zbc>ms_(4GlwoZoyt8Vx

    iZQ28lU)>X$O{2%5!plGt+bypqFr2qNJZpF_zi2j*xusvRlAYL9(VZN;im+gqGscC=Y&DEHOg^p%rDC>k*2D zE$&3?52?2Y|A> zNjvmy|8s=mCRF*wYXcFG)h~V3t;6<-s2UHukhL$?AGoV;XwN-(l~F10h5p27A$nX| zZ=#6NUtBzp*WS+mt+k5ZWEB6&Fx*O@QPv}^U!)6O`7SGzs%@=OBa$eBn>HVHB+6t% z$3A|+&Mf~I*L3b2!qu@xzsqjz#Aj%y)Wa@joIZb)Evf7qhWCV@V06LvS^pe-pu zxYlExI^&nHr87D4VTHJXf-tMXJyxxtRSQezIy%YpT8w8WS-boN*XiZxV3Ea+;cE8IM$8@jm1hnh_VnLO!Xgiad{O;A|5ANU3N(q?I7lb zZ+>aH4{x5F!_G0-p#dAzlDUc>of@0Gr=?WUVP)JSdv3AU*7nFZR~9~*5=5;=6`0)) znb$#?b@WS=e?LbURi&sb#+lh9e`v}ETf(Lfk}abMn=8fKpC=!?oOt8V;Gb4(c~&ln zOnJr_N;y^WBDfdwk;Judvk}Yp>utK738laW*-tt9xZpYUP($?zUZLBcIf%NSKD9>? zJ@%jSJAP;OQTd68lpUX-UDzdg<@t^lJ$ex}EfaRh@E``x@gWHj6Zq0|_Y$ccTaQZ7 z<_OWnnD#Le*M1~%TUTD3%NVnXt!S@Uh;#k0A+T?yRL!H1zhcZ=e{ep%z2xv2d7RDU zX7IsCP0Pr(mBpTDk<=fQBn>8-YKcA*ThxmF zI%4yczcqI82b?+g;M2&OfcS_zRngL>ZK$$yPq-4yCAyA$2NizLt~-y7;DaUwG7O+P z9bPbWQOF#jM()B811?5|zGtP}u?@ju0Vn>VJjD^#NT?ItlEXzG>?8lLJnrj~(wSb!r4MY zRr}QSItMoNf92m|gns<0DJn?H>gz8bBBPTz|54?NN^f#b;N&d9or)+5 zis0cjmwM`BHR-FY*;Z98YL zKXEU*YHK1NIc_JHg=LZ=e9N42R7zIKXSHI&NCMD>k9%S}37X?2Po+j~$kv^|-_45? zF{^=OSCzuJ>EZcCjp3t?ppBI3-h`>#aC%6Up{oPLW3>sSn{_ZJpOOV~Yk$(3#{^f$ zNw-z!M(_f(kmA^Jo(k;8_C3>7810Q-d(TN#+b`T%Jqw++)I90-@llY=%Es0UDv6)d zYPG)SUA2^sOrCU$+E1fVE+xd_VvTg|nqgLd8=R4;W^DAmPilDsyCWg8_;>wZM{w))9_^ z*FCfTvYSW#-(3yW;0qj zRjVdLejcwOJ&ByF;;vs1CF1Q*JfPI=nXWwuwIObj<+@r1Drb|($8+a?ju3u#-#@wf z>44mdoRlgn?mFYk>{PDVtkH`Fr~{pg@aMqEobupe*t&X!=>SSUasgubzX) zMt?T3hHO_+W~|5^X%~&TU~Y=JP4Q~UhWmK%1=(Gznz~(m=raaj8q27zD{}N@87B!N zedEMW1=T<@3v37m_v9OHR9%l#M)Au@iK&YZb)MK#zTKjmPN&r_g*$~=%IsISE|?|Q zhAnrHd>)(`zcM?0lHR}$tz5%Bt4*Q5B$r5D^EQl7x41X%ub=7zia#ey>eM$EO zu^$xY*2M0Nj{E?d`0!JFZZ>ZO!{m1eV z3zb=IquhI|1ywBZu`(s{bin{EB=(KQoZ5}xi@C)^480Kxy<17^X+X(JS!w1 zFy_>&(EQE-FI;kll5`Q--Xa2s9H2{@PF*h7hhSKdM?G1x8_1Z>#vH8z)m-(vixKT}aA5t%T$BJ)4)>bKJr_6Ni! zkR!3Si#ur=~y=Evf-hP0lgv_cvq=2UGanUx`S}j^&4xp1O;Y=?3 zJ7fhaLlStcl@+wn6T4@cWa!J7|4?MhW)wB#b$j~3S#7cb`s|7d?C{%_g9q7FgsiCH z4i+6PHTMrl{GF5SkYX8r)>X>!EgaW?gKdE+lnZugckZ zsxIG___{k{Nt&5fN0MfWH({jQFKVB(_RLwik|ir{aUWqF-VjMoSN(R`ZaqnE4IcNz z#1aB8*t~MN^``!}i)$gl165~L1uICBuMTQe@pmo?A&>}cz`|#h8v`lfmUgoh#??Q4 z!e8E7KXWCalA4l^&_zH7B1BNLW#kD5kCf(wE6_WX8fDGRd;HH~E1-|pB{hWUXWVr{ zrD0IqV1Mft@zkq{xS$Wo@$AsPo2DB>v8g& z5GJnjfDwh=cEtIql()lcFI7rl^(!aX@y%iQaei7!g)sx7m`P`>oRnnFpHvD;aQfm% zT1aIYh6-7V4AN2dd$+=8yhxJnCTD|^uz1uI;fdqwI%N{z!khzV=4%nC5qxL{GB7o0 zzv1mu{heD&S6Uas*~I%L1FaM+Q;)@WatC;y>;GBpNWM2Y6~%w#9&S%&z}VzV2>+r^ zrS(DM$}oAwBhOxHjJkOAK)#Qum%x16BFI8w_-~p+nSl(^#e9U?rF@Y9+`E@!$kFQt zFG~;?)pYt5612la(!~|Ee;>qAf5eo38j2a8X)i@g4>cS}FK zAHk#8<%wAK9zlD`ESkYHsg8TiUca}EudJ0@r`nKcQ1hMVmV#cnGN1vI)3L2O zj|e&&JH7C9DRYR}>5c9k4W2Z)qCC%XVPzzCPdk5uZW%LGHnT-&>ii;^182Wn3LSNF zMOb-VF-R!hf2#L#zzAb5J~Keuap+Zt9o@I3eg?cNvAzCPO~I^}t$oj=)YpK=#bJ6;k*ycGTEa%s zsLO$hq8mQ!HJ)N}D%J%{Yx1u#?Y^W0CxnZ=!cyl+S%RyPgRyXZJiu3JJu&oe@@ zr5`*EwER6pw0!CoFgNpYchZ^d2&}{Sy2s^TBDA)#ROTiZL%JQNw^FRo9nfH>Q4%+g z;!jSA_eK7|`dE8ba>)(1#Z)o^tgVM%W_fy;+!i`=U5Hz3N9nMwdyH;PQcSMnNS~{k zO0{R4hwY-}D!GjCPRL>K6ZML#r8S@1uU9kl^rGCFL(2|FBV&Kh!87DU#39x_%b)n? zWDw(_H%1Sqv?(OZ-occYL{{CfIzY(9=xGP^i)&<;30(Lu9`}wRJRpK2=-$ii%0erN zb{QJLhiHN~Rz{Uv@M1|-d5h_NAM)AD5OE>K`XTj&kQ2-+&nFaID>~JOW{w5E#xlhj z;}}pNn&LNJL_K{JR(vMKm5s+OBjZv))1&aE08+y=QR7v089?u>iSAh-e}qy{lBa{7 za*c=hEk?{7-@Y%Gx^_x)myJNAjR?31CY&w5tj)@Q`4oB@zYVo=D?5aLb zF7G6#sWHR&&2y`F4~O{bj!!B~QpUsd!>#{YxP>G{(vOY5^~JwBI2>Gewo5Q7?^;M^ zW173(SwU!3@v(k{JI!C^#h_H{u%#D=^!bgdKKcO^v5dGw7n{w|Kg>mm#w#RJe}O!=};)$wvl zOawoHx-mNFbObK&0WB6AmP@eBTU+L20(L8xz~z9KNW%0BD( zg2y*u7>z3pvrA=M7472tpFg&I9ralDZt`Wl%QIoo*aH4`^^T;{IF2JeSC@SY9Zf8C zn^Y}Dwg%|)w}N@|Pnpl_jcqlL$0-33Bz`_6#U3)3o-+!rku%oZsvbOC zl$@O>cM9Mp+u|_0llBbtCdlU0HPwB`3o6ST-a8}0e zdpy@f;#>TM`GHgRgU|xQ$DgxJva!bp9y{}_zfFhmCv~Lj?=)BwHeQtBDCkcEH)+Zv zeLLL76O27yja_~Pl9edA6Th)qC-!Ijw&E*vYR3$SrgA8_u2PJ$nU7gzbHWQkd&&CWgfs>~>5 z-o!Yll6Z|lt9)X7Sp@o%->(Fs?Gj`SbdCCieKYGfXxf8lfuwmKd~wgqCV?`Yf4G3I zYW17U+)DLqWs-?dBS3)L6^M{)GB&(UZg)@+l;rw6S$t2@+ybc`2(1I)ckj2L>GUTi zNn-=E0%vYQc?ZG<-XXY_6S>R6yHYy`5+KgRUD`rL$CWcXo1BftKju!3T??=Jbjv~D z*qih%`r9gfBa}u+r~M8{xxGK<8M`!dg!C93RxCX1&`3?Xe~-NZr5ap~3UY?s;0d1H z@ZShGx&eU55_2NHpfBGQ5jKc(4-8B~%@AoRx@;0Yb^DE(=CBXrl_&Er-LA1#UW%9N z(a)<3Hu4+&uV-aTd0Kxsuj|^oCsV<3d?w2$7tQ+SLTyjy`|i4)W-Z0oGQ<^VWEXRM zSz9~24vQWOfrf|C(nN9j4EN6&d;g0o6UKGNaM!`;WM(RZ#aSZ!>lRVp%Ed^uN5wq?s|eR<=4V@2KD{TXuKx zTvc(pY>DJN8mHR^i@m|~%{3GjYFc9i7kHg}IozoCI0rSMB0|42A~*b^;R7h=B~cDR zGH{!uUcB!ac-Rs4U(ZjZ;W+%+T}L4*Bu?90U?=Ve;u=rzaf`1-yL#)?K>t&ypqlB! zLTWc2v*6x?*|^8~uE~5WkoOuVGA~s9+Gk>CU!{?V0f4=+JiPPQ7KHc0>Hto&uB8x9 zmF>;LHc5H~EX?2>tnmGI^>vzrjVag;0xx7?8tZn-BKgru`Wi&)E)@%;P&bw-bQ8IY z?U9__-mPHjQ?`1y7jD2w5sy`-hKF!xR;+LSc1KHl)vdS^J$D0=d<{RXsWTxwQY#Jg zTD`5X+K3RN=&HQX@5xj5FJ+jmyfVLV>S6gn_3s_`IYr5axKFsNmS^`)Jt%hT7Z-7* zmJUo$%qj@z;+Ahe!KCxozTbJxu4nyOtM+fnXUUS17sJ0>iNqhbfUQmNt(f7(?+{?m z_7|=B^yweG)>$V;5EZW>2YmEK%tR%IDTaLi=cG7kJjCRGF zD4N#PKkOyHR`vR9r!-<9_-jyHw<}9HwuZrH$vb;9Pc?XBk@}J9w)SLxbFg`N9}$_) zRF1@Hn6>o3EJ>o}M|q#M>`ncBPrg!)(u>-{(PhiK)v9fJh)LvJ_*faKVp;XM@Y6x! z17=&#)`U7!`e1|(Yn6}4IpNe`fYthxyI$J*p~Ao(vYnCBpKDQoKa|$7zM$wpEUsl8 zmoIx_pFePA;1lR)Lhuz{Ng@mh==td07WRpu7Sw#z>#BUp67kZ!KdIsaul0uMRKf#- zm&n3qk?*Q{rHD#;vnRc*b9(VG({GUY>G5MO#=H#o8}H0Pwly!2^0_zW?kCz#h-k%Y z>sDrP`^G@-p(T#2*obJ~leqBh3rLPAwCaU$i{1g--Al?$DagRP(3^=;WH4P@r#hS1mR1DvU?Tti; zdr@#PC**WJkG>x4`8_iHWk;)1uBu^GNb40fD+)J^YLf;cnns&k=@AZO(!)a_?UP z_eDb}ay0mz%>!t!f~`pyQ>BTdv2p}ja3Vc}=EMIi-T$ib(GRbF#1xvcrzGx9phTrl#2YID9T}ROu9lHqokMt^wgbj#w zU1+{#vr_RWkFhaMKdpO*1id^zr*n(6x8W3(y^JBu zIjZBsM^^b?^Gm$MBZ=c>v$n5au1%-)6KR%^UhU&g)Thc2$^ zbDrWrD2&2o7DGGWNxtl5aFjc=IM>q^TIjd?02Nj< zd-J#eYk#%CYwnf-PADi>=8i{dC*Bsv&Y|T}xex#;Z?!|C0?v(lK*BtR#4?Jcv%*DG zZg0*ZXl=ups?vA(-Heg&bm;zoyKWOyy>!7d4O%cdu;Th4A}k!l4+jBUs*k$#4ETSoc>bx3k5XBg4( zb^7_9?j9>-CW%RQW0hU}Y&5qEu9HgfQZ$3_n`&z8QipDxm%T+x9zF}IWMaao+v4P~ zT(_(ono_zVnIO?=S>A+My)-` z=t%U$y_q}LbB1ieASr3KlJ@Wk$b{AUZ(*!a03m0JR2}bo@#i2z=*;drb zMBapGzumLGgw!9GlAwvF)u8#eYFuy;L@G%Ih5w_SZP=k`V*Y6viav>68f*Pu@|tzWGqO2$6@Fmj#`pZYCm-j3&P=36wbh zgg56AIJ<1WPwEe)7@R+~jUFW+a#n@38DJbnOZVx=MZW&6d^jT^073G#jVf4gh8;Lu zP@mr``(q;8=GGm4cHKgrPqGHtw-EBWR8hRGk?;zov$^ytsn|eyXr!sbSos9UEWqYbh3AwmQ$JqeF0djQ2iI2MMsoIT=Xjb`+ra@^% z;Y~1FG}_Ur^pSp6Mu!h%Y16Ii8w1E95T9u-E9BBh8> zpEKj?CaQxnYl<%((GvMDda#63+^(8b^GZpdEkH?mq&%HF+U`W_)o;N?!FsyFuz{rR zY*(p!XzPJ&*#guz)Z1am=8b_&83n)w;omZ1zDC&ES#mexj78}NOi`{Z{=(mS{yJ2a4`MKRYH=j$5-umezFY;$CrWO%~Z@$T6y^aMFC(L=_~8-5Ts;r$-X-!;ndTBTEyThwP?oFc{@Z_=5^mA6j8pM|g2yy?+3yk%f}xsTitC z9o~m3p%3}2{H*lU>nSUYx2y3`Kzy!mwYxGoa%)7(L1FW`M_j_HIj$bG>MBHC94dmk zN#KGAn?*Lpj5qcZ=0R$O`#CCiRQJJxUN7Uy4s>a(v@?%2fLa0Pk=d4XRr+EO$7f+e z*hv;-vy?@|x{K_adDwwiB`R$=DWToY3wqsK*0c4wqAfiUFghFg5t~r)#LZe}v&g2_ zX42D>^g<>()PE!Mir0+`@;g30C*5$$!VmACN!C>5D8``k+x^9HkR}&D?Iyc~Y=me23h7g1ds(fZmr|38DI6(% zmBsry>FWHjfXv_5gz;%}WNAMl;aMlZJ& z`uYzZ0n6Op$^Psxq8TVwX5L_|9vG7%ZM-1nCCd!6Y7 z&Gc1Cvi@-DvO!lZv}7v!h40UmIZH~xg^SXp_{p7Q>_HGOOkpyaLmH`AE|k}ibRfgd zhs|1(-pD(i#nr5Z!BQDMwlz;y7RVo%1E6DbnCj7ZL)yD7Z4|A%{dqOO7(%9GKB$$u;vy1Y{8_q2#Az6! z+!U6?-$@K772vaos@aplmBy&Kv7r2jEK1sJOY{#dF;!_^HRL1}6;5t%649UxX&Ex^ zTY5rf+QB1Rvj*Iy?!!G{6Ab@^=$igLnY zfZJY~Njy=9$v{XZ_BR9oo{RNS+%jajeQe~HY^*7>c2SEeBt1AxbTfm0AD%kaut`9# zfrJ27-Y8{XH|vUzt+>3rtLV2fEB!^ZX=TB!@JY%X1tj=NCxZI;qMtOD7^rc zL1s%3y5{{dLA(}BHGN{IKWj=&x1w@JNHGYV^oT|h$?wpFVuxL~LD@5)iu(2vyRYn? zW{rGgYF-<9t%C=uSA2Cdu)~Vv{BEbeBh0qrDejMAS{(NhV+~|0{yI+%Wv@-hg^r|_ z08cY~nzYb<`oa3=>uxgRjC2+Ge2}Hn2A+~&zkXPkL<4c z(T2qm|L4_>A)d7i0=4{{0^F82Q)ru}rRV;#P3ns^?3~cNdLm11G)55}LoB*&0=;bA zLHc*Y%Ipg(0J8RTUKr(L7Jn#=B{%$qpjWpUuIg@wI-Iz3RqFh?WI|{WB;IFao}7hT zWcgX8`~Ek*{4+4Uzl5fuz{t5Df%JH5zX?EM+9<72pEb?#J%2y=PO*pQ{yX%EiQC0c zPt%mC-Zc5a;u`JPDw;KUFg!q#lgZnv_05CuLj~o>>Wi4Ao`5IGH)(~;Qi8nXA zHUo0IKehrKsei%SYmH-fz(Z_oQk`vE(K)VAP?D-!7GTo-u>Q;p>0%3~o!Rn37w-2H z?*Ff4O7i?+&#!q8#GLD!=(}cKzQ4aWwEg1E;6;G&k^9pfMD!eCEW6;;-{U0Jxxc|R z>OgU*(EiIDSUj9{CGiAAlixxj4&jj;tSs-+w10GYZ+2SEny1wzC z3eo#-vh(p{{|H(nD_5P8u{m_i(Zd7;By;NLpAOK|4t197ZanknKy-}E?sYqin;F?6c4&H4UOPY5)v4?>apC@aU4Ys4`gH!RFRdCN z9&4F=9MC|Qt8ZAcGlt(4&;Pt<8M(5Mp;*%1GyCGFe{GNjm6dkvy^$md{;=JjN;`b7 zzj6(Gpv$LlO$A}~RjCLPp|D8da%1fd+nK+t^49WR-j|@oQoG470DHkRmOH05?{t*~ z(H-G+gyrsP_9bF=i5xEacN3o=s!^yn$2tPBV$jP#iG zcD_@8m)O^~cRVDE#V7k4$$^%UL&Ww%i8o#vXSR8S4P^JThJV%j%jI@60iPnne3HwD zJP`YKD5IUaqKAlJfac%bxSwx&e$2+F6kn{Fw1&mI8MPt3SX}47O2DgXK^RL3#|ewrcz&Np_o2l!X3nteC07xv^}&2Lr4U(8eMlAd8Q`3smKD%?>{O$bjXtL_N%9>&FpVOBJZNdHuc5v=Oq%{EVCxc{NKQR)t^Jdgf5Ju8V>S!*sJ&_ zUC)wGOoK!u>QIEg1D5*#jy6quZ1V#@mQ(_ihDrcr?^a8t+mmJUZH}x``g>1F5;p$_eS{^Vy=DLH1h}&NCb_I*urOV!(jZoW#TU#~ zU~x#q?g@{vh^wqGuo8sEvYuf}OHYoI*J|t3B)xdDhP5m}_b#kq6%oM5yUpA%Uq^_r zPUfT7e_IDistW$e0-IIayNBA!)ZN4B_M?EXNH1!kYD7Cc4c_6Qbr!N{yiJ{KzFj3 zK?N{FkYmhoff2zUH-)kvqY%~S`AGMXwTjz&QSoie9y|uJ-yS;H>AzA|p8vi@>;ihw zVT&FQhentfl77^)6Sn9qtHufdAhX7Py?eAd@nk=K?gj_teNJT9fgv!obBj2!aOlr~ z&c8=muX(>HN+OgR*0aYkYpE`-Mlc85-y{T#%(Vimi!~JsY=rgq{smLq`SFsqgame5 z$jnYh7&2+We=~6Bs?VXoKm6d#^KWDakLUb9UCD!6XcO0Jdth+D2Cu>`Bd-z~me@`r3! zDnatQ|DGM8RR1fQw)l~wefSXacAZqWBtwCv3E8@ZT#RN z_|y8XEzr+vzMR3b1G+CWzOiH$o3oWsDI=t0Oe5v?eLC56HpqW(O`&50FjN8lZeH7Q zFhtYxFGHL_mV+OvONxxGii}b99?_F{DrDw#BY9bvP|I>o*wX)M7ZAZv-X;b}zfl2= ztF(1=dQ5a&EjtNGR}Aor36yB_=SpMoY*s=dVDJQTuyzT8dfJ zvfHbi-?|v&M`r~GEKY>Kd+}$o)&HApVkHW~ zy9PX6!}_r>Gj>kmEiuCWe(Tj0z@jv~wiyV1zhCp0qvIaZ$)86V+5TE(U7V|knUyV~ zgybHhe=GRQ&nKFxEY*?AlITLw^c;f}3iTK%Kz+a|k=^$fs5(79#oPAY_`UY(ypx9lgIKcS{}yU|v_r5z zo-3?}Ujo>aNkCE4QTJs9=hb<@Ft!S!j@cIwZ4en-W3{$3Mp*ZSvTFCN7l9-or7%_d^*07Wtu# zE_`LS$Cn$-rP;nLejog0)3od0am#T7ScH9oLLA4N{z`&0p}!=xOEG=>xC9(4*VL~qCOKcXV%@SaJ$ zL_C)YkNNYD&>w5KqJWbBxv4vrUZ?WnUU4 z9Xf$x*;&yQ;*quIoEM7n=q+wBXy4qn#a;351b+j*!%1cJd0lZn#%zwq)&bdF^!wvD zEhqZ6x#hd`@jh#2%`-1V8P5uY)@lyt@Pf@ujexH9`*^Oey@x+VVYi52$k)7|UW%-- zY;otzcd7kI=2rgP!?yVc3^Qn8je2xlve*y^$D15M6)l{rrZYmV z@4ZDkcq?C0KZJ4RqJN6cgBAZzpE>WA>o(5fK&L$(y|C`=v(w+Kd3@Z`tM&A-&>y~( zVu$YE%bNIdW9i;da0ue=;2j+-x`ku!HWEO;r_shv?I1Z4*IzE3{NLA_=SPP9`gBHg z1Tgfa1DAIZEWTMx;?P3 zr{nptH(mz*V)GMqh+Allt$Q+y(Qg)1g6t2g1}`93GgevAbV0ipaG=WaOxlocI`y7! zycFAk_!Nr;{p8n|I>UN^y&>h7hgYdsWo@Sn=I`b^n>*dCf^+8}+jat!*U`|mTUi$; zBY-*sttPk4&B=eJg1bvpWqD;+WcVJaN4FRP89WDb^9&5+y;Y5mu>BW0=|1$oFA*JR zyX~JJsUp{npL8zU<&OdA;h;s9e=9*6@^(8Gq#3)U$nxpHh0NPLQLR3(y?_sRYtdEU zG*N78FS24e2f!U(7+!_Nu{mlRNiwYQ_a6c;>&Yj%ZTde5t%s__0s;iy3a3G z><#UHK1AH*_!fQ1`AFD*k0OqHMpFnG$i0u(ELXm%pnu(Q0!_Ionv3XlWyL<$>-?hs zeq{Ga{Oi(}^4*rvJc~r%s-Tl_$fCng-Ex{0WQBtT6lvkpunCyr9O&&01k!oNWlq-f zY2Po+!NlW3BORTy^CGEH^M@MUDV2y22kv~^)HqDZ^Yi;%(y1dFHDOTm&sqH2r#k#E zOR*gT+s&^%^c=|V6A`WYuj7i{n&8QCYtJ3?xhT~Y0+fT`4LL_PdjIVD>E=7+iYr75 zvjI)s0ZlI;oV~h6*Z&``-aH=a@B0I%1))%(MTAx*BulnINu{*dicpk&Nf`T3k)q7I zMYhJ8Y%$3)#2Cp^wn143Q^bsA3}(zQV`hGLX8L>|zu)g4X6E&J-Fxmi=bm%!^PGEM z-~Oab!lFw*B0FaHUkaJaS3{O1{D2kI-rGG&7>U}qpzytSyg_bdTbd`A@SvU1dw6oZ z)O=iZOK#c6he^fFXR&jN+&z&^=;jOO+vpn2wB*!;b3dvxV5;I+6)EFdtwBf5k4 zSnAW8_S=IJ@31J)84aHA5pav+d;J(85IEjjkX{cq$+&T`hO0)6or{NEcn$3N1zG4A z%{va^e!Fe5#Q(YR>{~m#O^ww5yZv8q6BB#WZ7Z;aA=&?k-NJWE0(*i+^>=1pbG#wL zYjt|lzi?E^;@F$}c^s4^)31<}HK&k8QjM1dRXPvcn#%w}LKxb(XD+BbD<)O924#D)A?oB5TrhX4Air z_tC_aW`1wY@)fpPdjRyu{i<&Dj|c%@Gd`y^|NR%ZevF%V06bIrKiZGEW%Iar>0iur z=yUyNC4morQ~3;cd-jjWp+n@^;QP(Om#(X|suGoHO`DH4D@?(IpN|d{+jy&L*UfT_up8CW_KLU8%i!%e@fOaH{gYF!*tFsK*n)$Nziuj2L|h7<*!2=o}Ep?bLcvps(3#TK(<$XJDXxJFb=cKIaDA{Iryl9Xh<9iQxy>h$eUjr*&1fmKq-V;~p z*}c!6Ye~eD?e2gZsAiiPtDdRe5c^o}Ts|`?%?%-ywsaToM`AbvEu3ve?WW zbx-JKFeGFAp5h+76=L6G(I7%#rFDH2AV&ST(?ei7dQkR`(u^CPB0c8Mc5})3_KzH^ z@<`;&XS*EztUR;-Pg|WP3Yx)!j3fUO5jc94D@CnMM0#O&=ZBL&xdqHI7kKn$`v*&R z&@m45NcQzJc|2JG6y6K_Xb<*^T-Qpy8NDHY)ZtRv(WBawo|X9(H1k z_j1U1Mt@<}K_Zcwi9M}=*4w)E3}B?P{a@ItE;Y;y4_iaGs*aj>REh$#8*_(ey?an! zKCQ?n2c+ICjbnOf2y-7h^6#+?)QA^n>PW3`Wft<9xoQ{l=if8or5~o~+mgMi!YHpY zCN6pY0eYgo)2Ry(clD|Lm>d$)F{-*+#>%0f!m;Q*c7ip zK9`u{)Z5z_9!FWZz_7+_Uu*~K#~9O7URBM^5AN+_O@?_dnCH_@@<#XjUx$Z$&}}!Y z#Y&77RHu33ddHKm>91<-9pnr|)|GtsZH)72JmnYv-?dI-Oq;HCwobKmHhjA(*Ch#E z;d%yR#aa6reBSj^ZT~6Qu&S|wh6-0ULYDt7R@qNDN#&;8{FeLl-?;yg;TB=BmyU32 zHxiC=*vvS>bJDjL`6QleSw>%UepnXA{4SNtRVcn4Y4Y*)IWTUAKwQYTMdE8UPJWnn z($e3PU;osIVn|L_+a)O{w#=sI5&|2_FjyUQ5wS*$0dR#z3Ep!$<*w_;3qL%f=r zzMDu-<&GPiu%>X3Prn6^{yRL~N`?u6CO0!Y(zLjt#BIJE-FZ%oKK8*vK3A;AJdvkZ zU;nk|E66xu)$gTJ@uYfP+59P2MfmunXchY4S$q*Sut%qANf(Kd3U{RdDAtUX9oN9pTkZKFFvWfwSSChzjxKI!u}oPMD2xp zA2vi$FLf33j2b`wiNlSb6pkvGc_mCNa>4|<26^zNk0ifSR8{%QQ0HK-{I16td3Ew0 z6z3U?IM80bfAwF@9?c9uZF+mXB#=Y4$G-<_VfsrA039xR%RE>kN|n0Hbw0*___|b< zvmq+Q>&G`sK?bpxYaFse`Hz8`R=<1xljAjD{ulE6;ZD9r|KUz8dcwaU@R*#yi??p? zuSUfZ^)F-J=o?>I3HS05>ovca|LUJ(Y~i(`E{U5PsUe@LxVj*-u-kXkJV}MCYA!q% zvr9ypNH0z@$^WFikmv3tC*uZ$^<0uS#*NoBg<0~+URsw^qPBgJSx`3T3fZ`vHwy9Q zYJsSfw6zCzVmjKD_Z76bL-=2#PfNFI_BhydI6VZf{v{S!_x;-Soa=6PN%ICOq@>cb zw<>%hs^TCLkj+5sRc?{vK0d)4+OAZ4^xIH;=dMkN;vRFjHdlZC4Mjb}8(89!B$E=L z(L_Frct}KJ<1cTOo)F+^JxAn%MBi>EO8YN?=XQQAIR^d-xdpPI6Hb~3vmT!?Rxs&W ztj`tYGM+DJA-4!u!vN%GtcgF@wPAnNbJaXsgiowngw@c9mmBOvvOPL;53YNzFfCo0 zYo&Jb0I0^sW^pQrY?_&F7UNBZ6%8+Usajc>bMYD04(@I0S8+`P5!UYR*SWeq84NW4 z%KwRo#TU_4KzqsC`Z4GkZ}!VmRq8@x+{MtgG~RT3IC2Yvs2Ln}`GNEGFE&;%vkK%{ zNh;4GG#dN*e>}WkLpx1;QA&C|I^uGGr%w#tJiq;0d(i*zf>wokO8dw1D#UekCSXcn1)uD% z$5cQILVkh1ssYH_mKJO1NDcf$d*4eC92)!cwQH32L1v+}So3GmJfP`li78N@?87{P zJaO?p1MD;)DgEeL{VYQjFtqnqF3;XM@s&CO>`(J98D4uJO!Tw@raV18t=kXu8N{1T zjaPk2#d;jNj(6st1hGs(D-G&Gy_8&E2fRe%9lk(zW^AB3PRqzz&7?gxdZohcI3|Yu1c;M>|8fhsc3xyJg;?8A$J7C zhdhDi4BM90Tg>nb>*o*C?p%*C#_#tOYS8cCf|kDXvdW)u$EQZQA7rWmxKHxEM$Yi~ zuO@W==&smzTM?Vj^;uWmM~2REd9&Ba43MvW%3<%L0o(rJG;3gbrfNm0y*8&^c*aME z&)CbrV|uMLqq$>CD>7DayeSPPHF$RkPgSi^g9F>?=?*F(d+DtMP;D_puhmVbi(J<6 z+-KueU;nhn<6dqJ>o!dw*01#ZD!jljE(OO}A7k&RJ(?0Oo%dKu@Ud2mH4T zT>%=>*yD>VvGvnJg&s(D1d8y|#<2PgAW)aLwu{O6*&2lk5b2rgp8KA@=kXkfK5p;g z4}I)|DAn=vY2v{wo3Wv*4~>d}v*t55#?BJ7AU-zGN^17IhcxwXZV~}nWu<9=Jj?Y$ zjSc)39D!rQIXFCv=;}_X+hCab*yxK&2T%5Lyy}g{oS{={5h-gLBD!5B3XcEu;{UGI z9QE*(4(urarXUTdRa5Q@rs-N87uFHytx{snl-E|j9rA^(d8lZD{xf)tW$_rRyAzk; zP;_laW%ZuK(?qFU%~zc!K<-0XJdHY2QLE_Tt0fc2oud|eLjbp;_>Y}JRR!Sh9iPt5 z@Q3tOa#d+4ga1gNL(hmUP(puSz~!d@&!vj00R3{@jZPEi3SF1Go|AwDpAPdTeEbKe zk}bWsU4RA@FedkS;X)blF96169KjRpw*KiaqEzU# zjD?fpEo4C}sjK;EAJ6xx^4s;Y+8pj6)?scntTh1Qp?k&Lm<`I)%KL@D{q@lXY=Hr% z1QuOarFTGq8*|VWMo*L~f}tYnFM`uL8?N9R_Wp8}t0aZrJ4 z=B}#qJMyzAAy-eg%loB2Hd^M5x`ww{j5&j92v;u0jk>IrJf8a^_PnwvE{qpvKo>;; zN)&TOHn3-}R%wHSS&S1fwp)RKoK{kKA{q^Pq!Bbf^gyq=ejS{L9!lY^bDvkQ?A7Ue zIoY0Pp=UN$viI=y?q})9s;y&BJTYC<1plH=K3&v-)hvL zo!!rjuKmoZl!gqaHFimnhXf?@1ZzSKc9L}~Fj^i)94+H;`a1BJv4$Me@P%60>yU=^ zDK)o0kv?-%)7tt~6x}F>9VFw+(h5FIn>j>sou<#VBu2AI)QLp=!mJS-!tSMZ{=5P@ zTdP`R**SG}TSzTa`VyTo=i(vM8&EXqa3*1PrGNfii&iv?L9AEoCt-atgxQqzw%IdX zt}=-?8yNk_e5YpYD!?{1hY1)C6EF82uPo5`r+qqGtS97|3iYHgQL(tEAc;;R2Mei< z)Yzq?!q>%ttS;#a>P02)Uz)_q$)zt)Tlf0stF2F`^koI_wqKY+rT>{xBZ+7#7e3EE zVRTL_e139A*L@woEPtWX$Jh-5Z_ad@K%lfs6Hb(lDSxD+zYtMcka0dk?<9U*aVOVe ziu4@q>Wvra{uGDkjeAMbm*c{iz<5?Q!bZ&c|j*tR2@ z5y{A#4o*kBmMT0?rV_M^`0ri{*4lkG<&8Nszgm3|9C3pm%R5T@nR(kvE-Ihx z@R!P6*?u?P1Gn!_n9t-64#O(Kme$IFMt?#0B;AhZYr;ADPr-h9m21mMZdLeUZ?wMZ-l&XHJtEpf)M86i_P7yM# zT)DpE4ECcadgB^>D!D-_6UwLwTV*ecRI=n_mCE8yKAoGkGhz+<Z5h*@^KAd|tZU<*l4z^WlUNj`{n%L5?{1vC`4LngG`t{J)G%m|fDue*6BgG& z2ppE!-oFx-Z6F$0Av~qCkO>bh!y1e+M`i4OP?+RusDz-Kyj#fj^)}eKpQs-X)H_(A zVeT?|%BA5h26c~s?GL&LIMRNsO(DFdZvP31Ea&ILVVKJF;OO8Sh)yB6%^tVVU z_eUTF z+iZ}k*%V1N|HES?^`GlfSl`JJS38#K4O!ivFt246r82KHty6BnMB%p%$`!C1iT9xujid&#A1(@?V`hKf&@ZOGn8+f(&lo;3hre-;iw6 zXTCbV&=7Wn^FXleP;mq@q<4?uqp|vvp*>2cSfzFSZDyTc*rUkkLx!v%0`BSLavXmB zx}LZ`_QLw5TaZ}VN&pGQ3d!_kaz3{x_L}|4q08ztmxoU!v(Fu#--%uOiD3-;jEBWi zOG-*+Ca*w}qa5d;0;xW8gZ}UHtq$*?r-OCK&k9Y?h>Ch?MsE`u+)qNrLj}V|b($ujeD|Gzeb`ZO5eQ z8`j)Hq=|Xi85FDc#QUG{O>wJXFa9$u`;ltJIZJUja1L5@-<%}-RE3IRAk`XB_wU}= zCn*rq3j%e2MoxD9QMLY#!;uflT>qsIHwK$ zJ35NoWWb72-Q@Vn2X(13v%L#wKPe$u=}cMaAu}^yqC3VZY|7Gu{Wt0KWcip#i$waJ zOuGVdJ-NGfW>RmXURiwo1IVMH3(2V2==^M3*0=4d_zg-|2wk z$&Qr)?$n!q!B{T=3_t%3HZiGomK93O(H9JdJOt-MM!EmD>a?;J(tzuY3hBOzg>Ya$ zO#A(&G|QBY@x$$ruimWOYQtKL@4G{okO0u@4NL$C|2x-j4YZ;=$Gs=JJxZ*v-}`X{ zVB5DJfH*I|UX{`PyH+-gICdo_4V4d<)J4i;L0r9Y`V4{IMaT{b#D7i{hs-!3@fJWo-Xwr?J(lhTLp|Bt`#-x4ly9yIJ@M2@YeB{S;+dmn*f+l{7ue=*A|5W$tn@ZH3v zDogus1p14fDECmOU+?JGw2N$r0a20cLCEVUr{<)E?K|IJp}10Y~*Iwj@$ zu;-+cycI8m+F=ShF(anO6S=0ouFMJcVRvTq`i#CH!>)l*^$S_QIi%7hdcEKaIM{wU zY0(gAs^)4zcDm#u9d6JD%q#x8DODtkLU29=krgvr5F*}l1l_&qAXQa0`}MX)alI5m zdtvJ8?#G+CkP`wNv0*P2X)dtWWITn#lGSf;wtho1e>FxT;HSBEGTR6vCZ|?M9qc%`5pF+MwD!8+62vjU)c7ACzHwi`nRj_Z zbo^>l%65<;JS#>&cR7O$O_EdN$Wc8e$A`u(pBr(PoiP{G5!ua39!ZjhDm}`n&m|2T zWFAs8{Kt!)JNi9|Qegacy@{JKc-KX?`}=MQVKa&6z(T$fyP4Z^8S5BUmRi1F%furk z*;Bc0K-=_MpSwd}VaL7tKK4hI0K;o_v^-m__G`jcujXk9#hs1z+_7<#L zTa}KVupe(l&-*Uqy@*)(yVUHFVecbEOhJP6YD~Z(;{qyszQw=5F8yI}rDgQ8JLGLu zYLbJ#l#>x>U2F!P8KEexT8%&{k)bDoAoP90VbbC6zKQfusuw1IztF+A7gu2@2(sIt zlrJDYAw0nx;|E56{{b066d*R?!Om(^!Pt9FFz5@4W zZ_>8)KQO{gBG@@=s1%9^aqC7}5j-U2`VHA^vgh&XZ-aA1x#RsF)6nsZ*a^ObNTnn;`2a#OegUa~hmG{B47U3~zq>1^jy-dc22q28l zYQF%XL-BS7;NP2e##S3*#7(0>y<|t%C;*;avs;1!Kc?PLKLJASZ0mtCCyPoQO^6*^ zd*O1GcgeHfd)!R6dN&XMdec78>gzj7m-HQlzthcZFDozR&J=-oUhRu<5f}KZEr03Z ze+K|qb*%$5gzW;jtbUgV0bO+WoeIxI*S09T_O_xMpvORuji2~TLcHkT`wXp$FiLJO z100}0>{r0()o<}1JUmi^x6P?9C^S_=gE&n`Eb4$(H431njWzuI*2Ur;x{M%WbizfY zj&V8h0O)kr2|j1o6m6xPe=L33gUTH5d^&hO?*dq+G%lv$T z>m^>E&C_$T0d=uTPu_Rb&bA_q_(@hIx_#z^~Wv8w&BiJb$bAS8=P54}qQGV21H-09l_d z)wdW?!)gDFuTi0UfD#A@>@eoCrtwA(Xu+c3%KL!q7fi)xG?I+k|L-Cov9;hu1VH^y za1ZHIKgv^|=bL>;C8~oM);!|ss?&F!Ac5_zF&Fq%6+VTgczj=x24FmhvQ&7Nw(u%? zZu>OLQO{kDAfv5|`%j^2QZFK%u55j{(DMtZE9m+)A9x>ns=Y9$<9C2o9XTDeN4P2^ z?#mgee!>WMWB(35K6~S)m1-TxIVgLELk}f8T4$G-Dj4(=z@XlzSqiAPHmnq2LAXoE zj8-(HkBV&(*yRiW`Fp;j1;qo;$y48-O?s|OOj$#(#Ti8{JZz3BG~)8@KY@KQ<+SEW z1vCMxhFKrmB=8(lTB?X4x^ybiKHWA93avHsO{^r)ENxmUA+Kx_ELCcE^3NA#YAy7-%0%2`Zi_lk#m z58Cc%8G$jc13WGDEN`Z?_A!dD21EE7a%$V`v93Tg8gb;D92RI9cP;RYFNpjMJKOC{ z2i@v7t)}SAYJBahBgU0}I^06k)Z6@)KycY%Ut57vZiDAv3^o|wvya3+Bxpot6HKBIue|?pChm z8aw>l^5pMO`Back*lEM{#oBqw+@M_r60_9mFazA!MYFKgoItYSxu4Wmhbte|am)oATrT%j5gQIEwZ^~FF5oD9JtecjH z3E2D!bA=9ey?PXZT)aZ+ul&rm9r1wG-=AD8D;mPY%|6g8zkh-m={nb4dwQOw*K6P= z*2PNmmq%V3K_XlfaQjdtd;QULaOwbd((>5e7FOBjBY8l~eakHRK^pY$YI$Y&(u3l` z){^89)`*w31X|C{cb3U}Z`#mn0Yv64^fH~kzGeqoshFuHI1Q~tT`>S4aVUlM_qBqB z0=vgG!cVQKBE^aA7runWj6wC8&-O0>K&O zYrBUDly3W-Pma_v#792YbvIk%F73ylM%|qC*H_-7X*!TYQ{d`(l`?;#`auu-~v9mjR1oN4qn?jxe+KBb=u)!YSJSw{UVNohcQ zSy6+m`Y?V}Tmh^bv~9>}SV9-zVC2VL>Kp|fx+-nyYknJTY+-F0%0^Bbv9iMw8>6o- zyF#mLA?4AOpB+qCG_0P@Xc8MX+IFS^uHXSPAl7UR=P0Rj4tG)ZF}E|T2A2}rV0E=> z0hhPV=?Xqi2rqqG^#E==RcXhcGB=+Z`Q>g$Un?n?5e9DqxYv}i#M@a&`xogr>K!rW zEXFHXIJ4=_2I@gRhaXjPf$eSL?szf?8Rr z$>#oY=Ya0;F^nbF0lDlwOMuZ_4H0A!Ea&6y_p&RLVFtb5De=6J;-k(i7*%t)4R&_w zek>w7jP1QIegLtF$XdYD$6+}oQF`ZN8{rV@4{GzbECY3Q{1v$pStr(f;|4a|VAUGx z6Jh8VU^H11MKkT=Lh(=h-LD#(gh zb}c$z9{Sq>0OK^da6_R042Ho$r#7%x+$$zEjz}%i1LY`z(%29r>-oY)4hiYpZaU}G z^lLqUO;L!P%={g3m4Swx8P!R;&`VIOmd3qsfG|_CP`YYn&dvczE_DHySHc@6VQX0T zcks{Q^}9E4aBu^BNT__S7fZRTkroKYyzxbeaMs%}Lv;2OlWMK`5x!Vw7l0Re2*HmI zU{674J2K-#Ez6zDyOhiht|MX87V0loEG>9+BC=I`V%5BZ?$oR?N0*ysF4Z1(nhk>p zv>yVc6s`lA^&Z#a8bT*R_t;$vMzaR=Z~kZCIeV-mB(sitn)q#JP@`6e_Z51AotJ8z z4osyCbV|LN(tL?qn<}(*aKia<_k^7B|n!Z7NgetPwRQHMmD$HyM z<$U#BRWEF+pE{jEUvM6ORA&?W^ve1#^PgBwVu2X)jelwLc+uGCJj*`T{b7LS{JJ{_ zd6-;_g~6r1pbxn?NN91Q=d`Z9VU?BE2eY~qq^TG#n4uh)`$^f7zL?%*hDm=H8aQC2U6TW7}7bPbblq3Qf4uu4Crb(;>P_&XEx1Z zW=f|aO`vt`MF?I?j3vPJ;oy{?zMA$k)b<~fMd4nNvSRfGyHf|pYhTTR5*MJ@!aKMK zj*i2(Hjg_j0ylMMjzxcRUzPqdtj6j)j1x*xh@LJAiVD{9c9*A#>QdegOWm)Icqc;0 z?OUHQv@bTViZD|CViytDBK3~V)@i6EYluk6xRusMvoz_OJ}-q?pXIEp891J|prdJ8 zG!h-g$+($8Ma#P*qdGaxm4=*V4Et9mTuQI@(1gaa%xdXG`YJ4tzeJY>0b!79`@+-Yc>_|-!qi9kcJ+@DOs%@AU+rJ0Dvd~o%T93Yq5W}UC37Gy5Q<0nEr7l8uFaSF#KE96oOd{2iJ4-ct^7L0gFucCWhkL-Tv8HIa!qv(VP}M%=zvM$_ zu_d2E#yR@HcXB+Qd>vc(>C``8-X&64H|8{S%m6;Q)@Imw6MsyAd{=?~g&dcG{J? ze_4FT@5x3bxUSxUljd-7#DKEg6?V6ARhG9>_ciPLD4|NJWE}@P)@>LX za*HJ*5?p0)2`Z}?Vg=*0>9jMmKyAUxYTP1Xxov@S!?qk>oV8i17AhvUP4q9WOCO%i zjP^D{ImrmeLUX_?zYw;~8{hQz{yhA%yuy7uvo4bTq8w?8_w;hp6YD$HVNq16r0ab1 z@(b@0H?GQ33twd$vz`!g9My;RWMWnc_=VF35>j_zE2xlog)E%A6WvMah;P5ez56Ac z#R&YU)|~#Mc4%@fIw4^a_Gm&x(cxJ8qDg$q9_uqjN7u&gu$eCJsiL;b z%L0==0FLnb6`Lr0(;(pZ2wG75=S0$@8PQP>}4y+9Y41p;w6v=09 z!JaYF3{xv-;fbF&R3StP9q3w*YW+-yMI;?cp5x-$(FwH!rEN;ZPZC9vln0s*LsPzAc!0iVXw|7z|hk8CSff9nuCvldZ+~hK1GdJBK(xtSh z+5`)Ht^E7AO18Ibdu!*6WmSfiQ;;`t;Pj|egN&4%Y*p6MJ9=?794Q-oxl*j!L4OC; zRg!RG!|ws#*0s3<*?x3GsY9~CB!beSAM57aU5>o}6J}|m`GnjGE-c69c#!9q+wtSO zra*F5R`EWnv{Pbx@_Z@oxym&BohtODg^m-tGD7j^V+#ZaAtjC1H@nSBAtbW&0UWFE z`C6XYw`aPoVdt=mVfUT6Q3_OZL9q1)V`c9%mQ8VgC4eB(t)gkfN-J_q1cU2lDJEUg9Ip(L%ve+s^bV-Un|#a&V{(!D*wl*b+yddw>eqY;)v5H;8*IgaOBWuAy9eyP=!S-p|Na=hl8-NX|-&LrH<$(o< zu1^efG4+hd&%Ir3oyA?0*;VO4a2}+95Vvw8VH>>xf5;dvS^oXEPIdntKY53RNZgZ2+^s6 zKHg&Vo;?ZVe8)xSpnh0^5)~3b9ml9Cbt=TxXxn4|+<{67?0S-6S9XY|Gh;(6T`r~? zT!O1C`ZzHJ9?gq%?(OLM2#c0)&4|6fpa(s)bnYf48CM49D?&%Sr#zuo-3g* z(9cMO$b7043N6Px7L~-=IMaVNeIb6T8LL%j*6Iz9Ocd?G1uGr7UKbONnO&2p+A^5v z6^FOveq}|h7eF}}S!cNgjpu>Rcf~llXIF>p6~~^5=&W#9qsz9&yJp?O*i}rmwDBuTGnE4+}}@Gq7#*IC(72-uNvSI z+)Xx@6vrc7b-y;z=^k_AaHlimfknTbw(Q`g#`th?3FTiW^oaf_^c}|?5|CffM@|zL zQDZLuv6}Eu5>B{ug^?giLCYMe6dM#q!%5Yg90|D7C)pg5bEW4?kQ*e(M;~Q@^-FYt z;i_WX46;<5W>DpuVHCY8Cj3RJ0ykOxb1nHRM|>e)t5f3fXjX};*k*ado1=x|G1sgC z?hXRo%kyf*JzSi4$T@aOD%Rb1z!e%^Y487JR;tXOHHJr_?J;jNITLGJ8DG3Y#1n29Xo&RAGQZ}*^Rs+@ zGW42y3?yI3O#0(Pwd&0F?}?TVN~Xl^eT;tVB4{!S73yh=5bw!biRgsGTZE*VLh2B4 z@(yi~&>(u#^KZpQ5~Yc%6RYgbyvIz(pI<_=eZ=+)ga=UCFWNV78k*TjnR-Q2hF~~5 zz(i9#cW_AlE%c9jr8T*rG+c_Qez861vbgd*JSN=zcU}FJm~pRNZJ)<9bO-(zZJS)J z(ih6xlN}FXe|4|uSt+1z(F3U;hfW-Orp`I>{wdRi!kv(4y6qd7eR_y1`k*oS(D$UC z^{jVMDy+$A4Nto;L-A6<2fGH!y$gb)C$JF1MgcU*=oGdC99hZA6h35OonwBC4gk<+ zXd8F;zNX~|_RcH%z$(Nn9Wsu8H5+8BpEq+uR*+HXY4^~`JVfJ;(GXru>Y88@(FB_s#6!LyVaM`$S(=mCH|LTzGA}0`a5iMc*?(ekIb;1uII-D^{Cm7-`4;d^`4ico7y3`n2r07zC%Dl8Mv)o5pip!Bx1aj zA7u2yWRtpmo9sbTGB@m~i;HXs>BJ?e8$Mc=kn8zuU`j2##NjS43%sa>ehTM~EexcM z*+~oywkfdh;uZ}?hRmfoAPT0{W6|IQsz(!RGv6E&P2KgLc)gM%_o$JeKxeDLbJqQil_eG#GeTo3z4Jp? zKj|&QjIGoSYJ^ox&6Ohq_TF7tKjXWBjZV6=`|SQvzt*r#vr@0xZc(8R!#9zx7}9)X za_JLyDQwwlp^#A}1OKfVNRm~p93I3eC9<%^;g1t+^~#J8dB=_0EaqIE-BFDNz_SkW znpJ1Td&uV+FTw71pa9)naKxh<%VAI?-<7Nju|8__WRm%s#E0e=G({> zs0jt9LvI+E46E!mfNQVBgXmM_qr(}h2Ri!3$Ucn3ct|L7qk1<;S=-k^RRccp%I;$V z4jRYHqt}h7ec9mL$XO0) zsGIYCZ1e;`9B7DxR3_&7gecYWFXgARpU`aSh>dT^M7f|alJsbrQ@%WAh~XT@jx#Hy zz6RG3^nJogShuXBAmJ1D*)RxxdesnQjdrE3%;{_w?kM3R-M8g{7|lx+-B(8eu6ZO& z1TI{)s)&Q8{2_lrmO=$Nfmo8GpxmEm?+7{mryw50;_Rzv0A z(KA!5jk8ceCKp~iC6dKi86!*|b7tA6@07|!2^E(5V(T;t_piE-_|UU$=SwMl$THc% zx0tNB4ZRmJ!M#oUWfkQ9R%zQ1!KM9WrQFneT?6!LqXG;WMnZL;hwpD7{s&2Np4$)$ ziCDt9p5{c}P};OmwRzo%3;xy>W9_uZy&Qg^vy@7TIcsowL$)i@cKJ%w;_xYm)hHIc z6wGqE1oLY&Wx$xD+%-8C-YIwlY(C)bllW?#1J+9FNt=j0@gmFi-+Dxt+#HeYo}gCk z=o#6>t@T5yO(O$d^G^2$O)~B?Y6;H7BkR6)aZc2#6$fYbMA>~k8VR1MuSuU6Z%*?@RsC{pGWqG#db*0hJ+eyVu2EtyN5)v)UXQm zlFFtugiBU}F6%?X}kn@w>rtnZY#c~?2q&;W*!)$npNg{dn4ba7p6L=MZL zU)dQVAJ}{0w&b9?@$hIUeeC}|oPsNyS@#f|3E1ixcs{rENoM=b*x$%efp*^&a7l!5|AXQ4 z4)d-hy0C9$M(_lZh;&xy>T6-!^KIZbRy;*n zG=LzlU552&=P5N*B}dC4Yn*Q>vl4pN?H~*nC<&Ikdv@ccFCYP8ofC4Nx5Z@=>?V&& zP)9nN`8YjX@6<$Z-Ya$XoJT{&gf82sHGBz%%$JUqBZ&0XZ7rHKFlz~_YuOQi2-;yu zpnHb+-ct;Rg9O3;$u#X`8YqcU3*KjG{v98lRe!y~k-74?S>w4Y$H8~Hh`W-OXUtOy z#gk%Anzm#ym(<+uEWvy$DAj+Ye!~`?fe;TLwW(CnhMak)biCG;HxBxCmZ68byv<11CV1L*2Q@Xdmp<;U0$xo2;)oY_!1_O^U3 zefzC8qt@VGUyit-cMl=u)Hkx@rUQIS6X25^E_@s$AGl-yDp)LrDWb!{^c`qaqwp@_ z75mH5;qiR+_WQ7-2jvmQ>N!(Ka5N8Ht;0}!80(;JF=`5hdFupQs}mM_BXyrW|5~BL z{u#=JBxDdmFtt+w-SYn9xn5t!PA94?Us=z%vSNMO zu^E^VYG9Z5>`au~8*}xsFaKrlSZj)bO4G}+Qok@%1bHDs+?C^Utr0fJI)H4^^{fiz;A=IHB1EzJ*bTt z!d}pLMq1dZxSDqulCHXwNDVbxYzWj}ik!ffngpXFYx=~y=q1xW2R8-?7 zbRPGirya~i_VzbugdirO7=F4qy^V$vec!mbMSY2Yg$aX}urczxxYcnHtg^s@%`FGK zzY%RPW3UG{XglxF01xP(kr#{>4mKb`P6XxrR6d%$`Yj~sPDAusl%C-e4ILwy)0Nc~ z3YE|tm!|^MyPEa&pQ@Pe&f&;VK~H(VY5We=A!YHg!csSr$k;SW|5Olkt=tDkiHJ>+ z^=n9Hci^c;8;#_dd%FZ^R$T(s!RJ=Hqn@`tVswv#RW1K?1wftNLV03a5_xMm zTzK&MXJYX1BYCN5GBLq;Lh6tHokaxwC}(x(>` zSsN@m;kI7)Fow}wAX=K9J*ZjaTZn>f;m}3 zk!J3GNO=rW^(tvtZF&G^cJ@E)1Gv{bT4p;{#gr8Z4Xady5JRWhRA^J2r<=tbzSa7< z1elFl9)D+{P_KW+U?dNv4=soH_OYr;x+bBdx*6fFDAflLinnT#C3#wJFRgqd zH+f&?H94-x52+s)?I@78|71zGZJ~QV{%BLH$bgPvi{CQ2mNL(2d0p|jqTUXif6ZuQ9@EbhfRdI zKO=}~o%7_F!q%ZD4*cL+ilkzZ3(7Z=8q1%m>w7Pu@4IJ)cII`PNv4l!C!Chyx}fo& z7mcd-+KdZ7Tbq!gkw-BrrTTZ~7-Kg_zU}-2o41gwxK+?rTy=0=od(IkIyuUZOp*?o zvUL3p%Z_I`X2q`soIq;B5j}F*fso~)EANYnh5QgTk?gG%+yMCqD2!9T7QVG7#|Qio zj2X-Q9KOb8ZWm5`OHaXKGQo__{&+kGXi7}fX#M9`d%$+`+r0}gP>cSe0 zz&hZ|(n8&{ZaGNAA<(SxO|*H}!%|d67o` zWb$!vLy!lk6*}wAbFo*?@z%V=tK5(Y*tgVJnrtOxC$g_02}wnk2F+MU(qefmV=F2d+gP%V zB8;(R&zA4~%=G+ze|o*f=W{>zo_o&woO|By%VA00Qr|Jaz`wYf6@Qr>qNcQUG}{3W z$d_Wz@0Q^=447HnR_^=b8L_5N^BRoYQl9RS*ah0vz#qw~)M2eVf*Lu_%S%+1V_@gc zT=6)&NqFQ8X4LchMf&`6GZ|d(%!K`bd5D6lAHn|Th3*kwL;2C(D|rgqGgPrX;f6IR0(p*m}jwzM9D-p9_?@N5TL6TnGz z3!F2^UV1%x8GAC{$J_Jf6tDM0UAp&#EeDRFkSdiFts#@AQhpR~42(CeYW2{!pMR;H z_u=Gx$zD`pU-wdy@0ei#+U9)SQ!ew~ms##^+Bs0>*R!a+3)%zI2*#;OJz5Hru2C-6Uu-WA5_OmfqwEC?SSs5acIZ+( z2@m>JNZUCAIQatkD{x|cjIH}9ZC{vG6)j5(N=4TGQGCDJvET`3&m?H1RxB40ph(N1{^}jw>VjUtE?`XbnenIVt(~7|y-S13|5VUmdP_Pa}+G-r= zafNCjbF9tyyKw|IW3GY$o{yLf%Bm%yN49opDhf^N_I3`02uP@TlM> zc#;_6h#plm0Cu!Gc+y7IZ>a?_J4xtE(!7vIsS3SuHbvW)Bq`ZDZ~dwW+%wAD;ohf) z{jmIOV}RFfznu`UTNICadM$2-MgLj$!QcgrL6O)va`ScSD4Su=_oMboB-drj?du*} z$=REkWW2Q8EuAX89j=msdwI&vBgp6$@TjUApK3qwrJ&SVh*)jAvY?LqKGx5(sWPrF zw)Z9{Z4ze6p=Z)uF04d**&duIJ&XL6t!yN2;JjjhyWkrt0q@$is&Eww^>S9cc=ChE zk6n$Q2DmO%XVo*NK5Sb(B|y)Rl#O3l>r4_v963gl!#(_?GgUnsD7&0MC&^E(ZVz!x zm9tvTh9z#3tCFmdSokW0dJ@?t>evV76yOp5UgHY^_awRMrKRPH0lDs+nx>|ORe>>u-#EMw~S@NqCo8O>qV>;3OA z6`#~GL~!w~c@qlXmAF(a5#q?7B<<9Bw|UPIDt~$SG(Cacqsh@R6wtp8V@KKUecuLk zaE>Wa?KMg);b(ZLYD#PgB6XWAZ&c|mkbL1%>d}o~CDUr??5mmGGtXE$cb#HH{~Mp6 zB^iGeA0P?=J05{_k+sqj>9fw6L8N$3*`4~K6Uh&r%<`K+k%85!GQ3-g=rd6VHy(fP zB1!NKce(x@zden5%l(nw*fF!+sTS(aO)klt;{)ZnamZVaqiV&Hc{tJm{ZQRsH3bV= zP=@t|RI!4%?)cgF>@RNdKb9?gGCYJT>#rFcijQ!TX8R&?CY7=}TnHLx^=1<;CcZlL zWox1$T}}RPsyLBjGxEij7#BY<^ia&$+v>$xexCY{HLDFN>nmWzTdrS@&)U9kLVgA1$jtiuDA3n{@yLVEPMqR=r#)otbEX3vT!#YD=u0XQXFcXT z#Z(h?H@0tOf2JSWUf8d0Xh-Z{pF$VB+$jsduHPnkpEl3)xxXt>o;gzcKRA#Nk*kHhd29 zn69HV%Ua?r*JO<)U1H5m&A(nVPdCce*wPw_oaYl#)u{i@ZP+F zhq~m@R5$y}GW#ZLWZK6j0nFnIcUPF&rnvHEql(5d%<@czWNl4gvD7x`Xd&RE+7|v= z366c<1$yPvs{EQjP?SjMNSsCjl@5;5lNjr6Ql9%k4{L7@9XIRyg;ul`F}VW$eaF7K zW+`rd1GU)oF;smQh25TI8d(mHcvm^FKn$u_xxiClg&X!u)ViRi!Lqg-k+SlqWAtqo zYjZQzCpsETrp)s$H|7w$3)IBB(WX8J1U3$=oX2?N&duzb!wSFBj>M5!Q#Kdl8v5!u zEPCzBhDaNN-GR&q({L2MB!gC6vEQ}QyHe?uhr00iUlF$6DG}Db=Xq+5tsf@BI9V>o z(5=(}br2ZqFr`hZv>GcaiB1eei+8DK^4I~2AIH`S4E&bAajU=M*^>@*tW-%X*s+!> z7H*F5BzJ5fb6$ly?k#1_O~_A8JK(TeV5A0}i7?Ck=!;Y-mu4Xw5MaFl*(1Pb`!^9) zn<_XkyUT%rOISt;&~v!A(+fLlQL&7#0pxoF%%!$^IsCgV^8`%pcL_2*iZ)aPBm(HT z7K)?^XC!+p!5%}^%1H~DCf}pHDMYx&kztpTZIGo>?D90RqVotT09k;i?!|M=b}3Dq z-xzGao+Nl)vS;r3akMZHhckIg>GY(R$hOV`5B0qdDQiGyb=0@ZSLH_p$bpCUXmXPO zEXB7+;|*^yNAdc-?RHXI?=7zmHsYs>r7j>jA708ox*_nqo68X5T)P0j^Badjt+^$Iif(!m@9Xp4=ot^a9;QAX7YJbXY| zYh~)4OJ^4Zl25dNa{phD%h&hvmX9Tv?{40}b7Q(o7mEF_@$xb|UT%{(6O9S6gut7~ z&FONMMAEJ4NG3@VN)qTC5@+Mc0cOFBCTH!=M_>FY388ttPoO%0!Uw4I=G+3(?mIVc zoR4c@xLkS@G~R~%({d5gEs8eeJP152kxj*_dYuF*DV*ERYp{9GsjEHVk$zWqQae_jjY&*?V=GrmA3^>(Cu78f_*#yENTHLxyjVg zi&^aDTs@@vXUTXjf=)osc3ejvjqV!8=pOyK)vJn6*RLH@z) zc&XtwWHTph@WCp*^+1sk)p+n55mQ~wk?`{JXYF-L;xuFLn;-4<%VN=nuV2j{me-=j zbcvV}t)`G^cT5n(Oo^YyCf+Cs;NwdtieK62Utt7c`qwaHJE=T<9`HdJsQiHF$2Rx? zUHQIZuvLlx7(~!fHu}F>#cN1Pil-J+vWQnLRi7Ahs>(B4$<1{#vSvhCK#7kbLjG;& z++|D@ix7{8$G%>QxDrj9>1!hUw{Cq08b#?y z5JWA_`OHmNl0)|BR~3Nzw?xIDOuznJ|Po2Li%(W%X@!I+_wE%!m>Q|M%Qfb<~%wJTv&(S|X{x zqW<%N?+dw$*saf1CwM=l2Af*GwDe)%rP%X4*nhI?DzlM*Tz?b5~ zWGwi%Z3AS+#gmTnNj%ZR=f=+h_DBNF-->cChWO;@jMs>WKg>!XVPDcmgsEBZD{$j? zMA(>m#ZBVKz}5EDGV-{!`hTO**c@3Ag4ze2I?HIu_0`Wam;D2XT9a>(f;9HztKiIH;mJJ^Ss3*7{W8CeXn>bR?*_^bloA)P9LckTG z%QMPL#?3aD{H(YEzK4ec7<7q*baV(AKN>k}gn2Ic@fmUbJ)8TS#zm;;0f0h)p`xlh z{o5s;s37~%K*uvk?uVxjf*@BZf!D*PRSzonO(sqy{_d3SEDpuzD*2R)*S*H0CG}_G zUyCYQmKSuaUd}d3>HqpKI+L|(5oMJK`a(R{mK(_*=;WmpmiKl>pMkv2c(}=#?oW== zZonwW9@)u%)nMKAH~BIO5YQ+ikAn(90v7+;&0W$$o3N%du(vDHx-O02b}>mVpV{t; zUH_$i7I;?JVK?md^2;EHD7e>{tuYLH6H3hYq#&VM@L&Pg$OVQ{Rgpciwag6T!Ow8q z5CxPg)P8yvDHTFFX;oCP`0l44SwJ=uxPYQ~Cw(Ha?aZb8^Wem@5LoTIR2bHPYDG@B zyjKkBAdbO)l5&t-UX*$-dd{D%pfr9Pu|0s53~^Re$dVi|LfL3!KLiad``&cq^lzvC z)M}DTLHd1jAa>nnqc45oFNeBIr3G2~{GMWSGcQtOLzChEhMFqw#3fZP0f_u;CgUOb zHhsVum**4z?s?a3FInn-uQ}U#M_s zcubk+WyVNGtbAC3a&{O{HVR*)R4q)H;s`NkY0;5~*nvL}BCy@gcMrEPf2rQu(%Rvd zfXERMjt~u99QR<>Mizct&MqVt_W^1ca>n@#^%L8{-mpkRM$p0_k`<$-&^<{6WORrt{9%rjI6pLrZr%RLY3R@pv+ z6{2+_2!SgEN6|7p(9-%^;JWJ5gr3ux$p8Ok84w#W)(n^N^6{qr*a2*=tB+otLYpxW zudg!^=xCpA0Y2S|_UYR$nfB%Z#nA4{wJ}T111BknRCzvC&Zaz2QBr!p-gXY)vFPug zU9u)@;l$J5Xbe*mp7OCIPEHiGj+n3kc<~hgBouOySYjE7Dbgl+sap7xFB#gB^24#) zK2Q@t-)4rlDol-9iF9neHErMUr$Umr#N7Mw`7n9C^m6$*o%Oc*fjJajrvjrG1{UqA zZzC@3ShEIg+%aI>q>gLceIp$kh^;vCR0Y^$?%Wk6dc{8P*4Dt6s`4ExQdIk+rzrmd z`c5b<2j!<~C8ZN~IAkBhiUuj~jRxld^0K}0r8xA!9Gqp%r5L_~;oNQC;0HL{CvcVmSCg+&NrG_Gsi z*GLmaRDfX8a{cpYWA{ygSs7U;$3UxR6W);Zf8Ir->f56@!L2bt9^IMJ>8_1=ou2i@%*{@X7H$7x;KAJO= zv5B~^@uu>Q>r>ql`;;sSd&z8GPN~KU=C825#-<2=nSttRWCp|2r_^m0Y+i^mrMXV{ z6A808GIvxkiI7}o%posj>A>2$jRA+-i&T!>O^7hj(Y3HFWc7|k*oRP z^WKUfzeAAO43{FQo9i3@O3?w-$R%Ob(89ksHfOidIR|B*Cj4IG|J0*7=ZSEj28U`% zZDjgTGvuSpuu7<`^;1)HSG=gw%t*VYp#HRagfO4lt`^4TzcTB(*?o;+VS|eO_iA8D zlrZiQp)N`+{lz&oWEfn1_jlf*g;>su!C0#(xxZ75ZVRcvsKd!GFVW5;o~`#Sd-kdT z>LiDz&;`4S!=rpy1@Tv5|1rzJFwlFs9ykQ3!4R(5OFzV`-xkhRq*&S;FX z5&}P70V-G6Rsc(r=zZh)8_ z<6^pzB1^vxe{}-WS0}Ep-@6TUQ}fP`j*MIUW8cL4VAdhk9VGO;K~4MzP4+&dYzKyD znn-E1x(rCqPe5KXiBW;oju3gFJrJ015!n=TtzCy%`Fd|iDO(8ae zq&vE_SVMA)yz$~l5HjQ0TlWBHJmWt*fGjPH{3%6B$_<<>V1fbi1C^H-h$!IogS6Kd z7a6GoAE%iKU;Xb*-L;-0H$k{o4FQ$Us8cn{@#IQTgCpRg5Zd}X0YC?k>6Z)ZbSk$e zZBQVE!DyzGdkLwAohV>{z0RYwrcE8lf-*WRpoHtiO>FK=s;uY(?sPK1BM?8BtOMk8 zbStD~3rgqQ?^*$sT2TJnHoMtviLFqWBwtl;^#{M9d|H{V^mCFK zaN4{O;Rd+afYI$K8`_zbu)pBBs9`y3ma>SVhdJ($fpo$8T2{?tLRiPzpk%oEOZ`cYbohCPYM=7&=}bB(oqBg2q?XUA_z8$Ae|&29V94KI*N$Y z&;x{`QbKQmP(t}893Ri~{PO(;Z!XUjlI%S*d(A5My4RZXQb$Xb{s`+42!iOieE;KN~CWld!W z`V@I|=K&Q&5vZzmLs`#@Vt(Z4n+t>Rv5oy)e+`U=Hh5vIY;A2aPoEV#g^fPVmRg;B zTkAJ{Nyr6b?vuhiCm9~-yt{e%mWDhxRmu4q&u*LuI@xpO0!z_@BgU+jkJUo^zq1B8 zJ~F&$85~zL7yf8PTGq5= z@!wZ+AD;gACurh-t~`Fo?Z19=`JXFkDP;cZH|hVmGUUIP8OZ)WS6=_`MJq-8_mvRO ze=nL_^}nzDzsLI{?f=`oKZ5u_<@_Uv|FgY6g82WqmcX_Te=dRoqmz?Qd&10l)xNdc za@j`jNGBqM>MUZN9ACT1Y@Oft^EK%vC2!%kPe70c&0oK!RK=@C+iY9OQ^ELy^nBd+ z!5E&QX-r-6K2{Wd-gmf008zzu2!bxg$Ua^Dr1zi6UFCN`KsB&~^>| z%y7rowRIf%Vw%6M(K2sRdF$76otsEF(lE~U!B$3(sC@ggwY37AUKS-JN&)-zA7`I% zWS75%P?((%y5nSbm)DnfLn^blOiLg5W2+lf|MAL}zc-)AF}5%lMVTt1p1oR?$uPln zSA4n^#Q@c_{2MF2XD7rAa~RPQ-pyf!=vujW8N0`-Z#j5E(5)9|7XLg(;M>c10qjS) zqwRF9p4mVP=Y@NXnyi4bJbE-CVRkml|vnl=H9bxw8rJd@`ODp_6(E+Rq!xFtbRPXfXF37SGCDTw^D&oU0^&cRC}!LhYNZmRtj7_k1!UlAz9 zz+%16BvqxWR_afcSUbnc-B@yagrBMeA%6F7=nlNxWIFXRy6?1_)YVK^XB7yl-}^gr z{V9HvVuwsH3Z;RIjlRrS^|_)_AqcWu`nzn)I}>SJZv{maYj4L&bKb5x*=EDDO`H?} z5+?o|crWUoiLQF?trj69hLR?>bC^dZGO4$Pf%PiC>I8=oGWpm`JW|*48NsP zi+B{YwQ}>i>l=;Hmfe2Gw_2*;Q5XMxjvut`S3CyY;|P)?_zSUsu_KIa!Qcu1u0`p5R~CoYwHn3l09RwZ!tK_0J;Nsx4L%?qSLdwA0bV4#;Q)R&r1v^Bk4M8vdYGMK_ zYYOIrpm?3M4wICs1`udt-J3tgc9HXow5S~G`)m{Pn*J_HL-ZNQ3!pbA|0DUpm+7v_ ze5@%w=B(iR^WU6N{~3V#i!}K2`^&NGe{|=KVf1YmxuYGCA}3M+yte$X>3Hg&i|Ys4 zQcTa3r%>UIfNg`}+5QgyHeFv9d~@+c9paBDSMNPPjw>hdQ|u(5%EU2f{t!}xkPwIyee9sR2l z?8C#4IaB6L@le)*qr37~--FdpCQ5(eRXc;EOt{__1jhdh*X#FAf2lC(;2Z>Z>13bh z;0KoSujmJu9edEH@lFwnB8PeeYsz^bi2J+q=L9cT!cj4l{Mz{Zyy@QE89Wqfn!5@M11nTjPw)4ub}W?6k8>RCNXfV14{b=J3)g5^LyrJk^f{4g^$>R7 z-)~FL{DBsXK_g4`JW+g zDPXo{Uwu{~97?T7*k^|V_rRmL3?bpx>(%TEMVFwYMw*#92g73SU2=8`L0Lb*(o>Az zPF!kaQ0kc(#+NwLK&gs{+}`y5I^R^ZymNO7Je8B();o41(>SR@KZHGaKnO~3Ym~z~ zdB5~nP*Qj6w;KbF*$GS~#%Ivc^1J&L1fxNm-<_{$BG|8$_dC;)Z?RmRSQyeSe3d+o z2~l!*?8pQXzGY~~=1p3UJ)y6MIdP61md2a-b~3hjOVzj%I~VW260_PSuHC9^TIpuw zzZ|B(4FwXnYsPk~O{=}k8GaX|b~U%=3-^Hs%hEWLfI&7tBP(dCnTOK{5KISvn-8_O z@zByj?Uq%aJgwwwr|ud5eA+<@O*{M4&rVI){M!AWJh>2LtkpmW-t%?Y*^CB5(Jl-H zd8BUx>4lwBYU(_Wr2H5mR4@@cEro{blAi=hSFQ4Z^iW{^Pj<@Qq;-}pgy5mP2w~26 zE!(g=2LfWr6cj~Cm!50Bn}ww`4xa_aP6R5glIDtJLQ+nv3Uu`d-mumB=i1tdZ_&I0 zttAdLO6x!?eQyLt49%D}g`HvPI%es)?fTGa96dbt`8;{b;%{lSxcI|RHDb;o`oO0Tuo-_&zuFY9Exsfj2=AKV zbkq8GQc*7;PbIp+aE)b-B&IgP6=XDI@eVFI27*AIw-`3ACKDGG?^3jhK8 zxXTpnwhNRvfnW{oc!X2RR({q1H`5d)P))OD08a>_q*i{1JKELLOBqTY5QVCoZ>Q!zaG^j=Z^#W)hb(X!J^8}I-(qZ(U`(7_GFH`Ad3Z)7k zYat6iFfh**^1bN=oEhAPisg9hduY}J_UpF7wd|h311ts;Dv(huzVn2^QriPP8r3mG zhFU(yQ>`pPfC^O(C>yS5e_=S`t<)z7=&b{K+sBga~--j<>+|aFopMOce39 zsvm+FGxhP#rs>uowy4|+i~w??^ezARvL?Rm z(L+!UFah~OEFAtSO-fU=ok3wfYhA^wj?7%KgM-bxcdI@ttYq`S40sq&&aFe$YQq&OS{D$0aSa*jWuJ@g8lLEq78^RdLO0r+^YJ0sYX485~T^br>-( z^;&}|gpr8EGKeK&TwUGe*Kcp{-!DCztLg}5E^?%br&mbET(iHQ6XcgF)`qMr+#Tct zs&`iNSB;75t%cS6g^y5U#OK9Zs42JSiP{C!7}ijfhL7$L-d~inU8h} zXl0x-%z8&;&l&YD*k_Soks~>Pottf@uYb*4o}B;)f@{(QgZwd zMUzbBtJwVVb^%>OoUB8bxudsPm^aId5Vsza2slv>Lw|VSd70R~$81!Zc zcyQ&u2#>AQGl$;XF0C|eSQV7OF3UMLXx#@cJ2X%&2`tJZtsq4)o(ivt z6dw+o=GtCXootM+y`+Sj5W)q_#H`NKjEZPZQLb5R^#V4+az8qzRjjy35DL|xB#@H3 zE2`eo;G^M48xU0gWG+fv{AcE9#Z471?i;H4Ft0sdT?Oox|MB;f^^jXF z;ZHCMO+A@_PXmuvpV0LcIO5dzn!hSC9g%kUh_dAkZ5whlisn^)0)VnL(pt$nzzE( z7JEBe5apcPYP~652!j{J93mhbq$*G2OKiy_ydZnn)Xu5p;T|~Fdn_nx^_O?@l53;o zS!lov++ET0`{dqZ>SH%>MYg{_hfd%u>I6-UU}%(QzcW(;u-M#sQDYFRuXA21mDAH5 z`o1fU+A4uG*VOCQn)?lqCf-diF}t@EQXxpkvewn|iLtf+T$x)5y=?3x(7cud&gGH+ z40986-biJsaJ+eyph(?LUUeM27t@!i9-of2`&{@S-XOeI7H2?TDS4QUdPp|?Wr_P% zF_%}}o7bZ_;6fYa$MDQWn01F5Y}kYQtyF=z83cslfl(<;xF(K`OqV^h-2=wn$-QF; zwhUGixjU`8+H|RAvzvJ`bN-j&VxzjqxgO*(WRI+d&0=`1I7+Db()z*gK3rQEKB<#=>)Iw|IqpDsN%mAKJIg z0Zc7k%6`T!dJB$H+!$tF?er@Qw&JX8o5wd2Fm+Li??R`!1Q*=_WyQ-E_sGWmCNzH? zFJ4zSh^X5knq3D7yYmRyq*MF+mpm0k8nT3v0w#6q;=(N4sqj_aXxbi0(Kehu(?^Qc zp1~T?`MiY($D#(?)o

    {fgQIc;z<8L*3u_y%%@Oo4GGr!|2qGM=*yWzVxq&7#0= z!1u+ybL8iB+PhoUxb|OaPt2h^J{>E0>0!P3Gm6rNzN3z$tr$DDH2xXmK2j^g0ez%V zJ6DXyoJ3N_g-&f;eS{BpDB3M;1+M6hloB6Vn}u$W84=@VLl|Rgt4Li^7&e`u*Qabe z)^M__E}Lzh!clylWJ;60)5x_QxHF8||9XGPmA*S*qJe9{si|Pakp|LuUSX72m?Z$j+op$zrkBVg9a& zPIh1c%sYkvufq@+zo{OvW2{JRpL{ni^ojTBGogLf52I?B!JuoD9PkOC% z`kG;gG@RMpO=E<=`yvJnT|SDj#h_vz+1(Aidb_+V{mcSulCC4zJyDi}wXini-08El z9|CSnKsVbR7etd=)fzI2=i1-od&Ig0hUnyXEf(`#Ng-$G5=mt+i@K45tNYv5#w9=+ zy$6&>$@gN(FnsOJRf(Rs-n#vrqlY9K$u>_;d1u$g6<1!$y+9hs+_xFZ!&6vV8o?CE zLI!k?M65x)g98!phHO|^7g&{!_&=*+{m`eDU!E88zrP?j)S=Bc+nC|L|um^S($aBD37c5W2EajH+>zl|paQ7W% zMfS9CXr}f^^bXd-ld@scczo`4noi5+mlqPHi}{6rX`8_k1bH#|tNTONgZ{gkWatXr z3fw1C4+WxcW(gO&zCf&J4)x48C*c(W0P=#}h^JcuAt^x-O0_$PK9%PHEvF2^ps?=IPP*Cx!C6X;jJJ%JCapuI*JA#YQ+o>H{0Cf*)-yMNoLu^NFD( zIH`Ni+e@pI9Cy494C8xGS%-U>v$K8Yhu}jAM>%>vbOedXEP2P|VdMc3D{(6t1jLxh z3lv#MyPjIth0uSHIyA0Ao|<(@Ef2Ht;WD8z9X{(cHaZb;Y#4A;=4X%?kgGO#zlVC> zTwMSwjd@89GZLe~tqQq&=l+UK)_iOf?vYcxz0(+Kfb!jTedELgW%UCnWG=@?#`!%h zH24xbpxp@?2iCSS`*>^*M~_x8WM%ChJ=>Ghabzuvk+*AkXA5s}97>R3MJoCjm=aGU z$oTsc3N0>zOa@ALa&T`~1eZlL-{`JzZg8lUW}%Xy}dO$^@~n zDLTv*L>?j8nM~e77Z2z{ScxZ7-U9eDE1cn7mnw(3|5o3va_5a4B^ptE2{}b=uZYW5 z&s?XZ$a4wr#Dh0jiA?@IT=&q?-oZb6 zm1_FfI||We;EB8eDy&=^4Sh@o6Y=JlV4&5I2H?4X3xT<}zy6>bw?#f@Q!SkRI
    tO!Ut*`dR4mOM1HT!gmv25$$xn&@7iIExV5+t=>C=f=nM< zcZI7VSXSp_^8P`-on@8_l84+h-d1MW!%Wl(WxJ-7qJy-UE1x8;)qVQDLpBDX1J3*- zP21^X8tBSHYgfCEBgSbghrv~EWf0Z+zP8~Mw%|I)1I-23XF3kkbyB?PY0EvW7PloG zLihg5R=c}e@lUySG8Ljk`o}=>9QMc(>UExK%i~pleMsZ*0bPCSAe>uud2m3S^P4C2 zQPB6`W%igGc&Vk~`!Q|~CV?04fVxKF*{6f&6V+D3{Lwb}sny8sb&Zvjq(s!~xVyVP z$7PdE82y}lUB&kYX52E0i<#hK0mGw1Cjm?iCmW0DYg-<}CS*74=2KzwcYdpbfI8F%}qzv792`0$= zuWh^a#W31IN1^;<6wQQd7&9m9#6!6?_FNU!$TdHV;YZRFxBw|9l0i`$O8s=Of$23M z`!5X{V>US>QR*0wO?A3qcf`0*WLcrM7YQLq?DaW7D^pgzJH|d=1Svn%prkYESNp7n z746ViX^_M8fl`TZpeVOY3a`-iEZ;NvTK=UfR|$1Z54E(|ow>c(%7^lcG~M1|&Y+)` zps+jzTrwC^uBhJ6B-nLIS~dLfoIAZPT?7K9hXI)Q7LiceQLK=V3@vb;%)0Yv`DXi;GdTHFe;FZwYvI$(09NJ6-AC`dex9 z=Ls=ZBJVBX?iT_gbU2`_qhu`r{>elZxR##f>gK+Vq4&P5S1i^S&AqqubJdftTT{0{ zEEnl9wgz!jESVkKjx(k;U*zxuQjQJizKQK=YE;N%4%Ynodb{ri!C)B*TscT{!-?Im zE#6hi5h%4=F}ph=w|gYzl~Ve@P=p|=dXBgu%Bv$>=V+oN;GAv?IbTYEdOu%gKkpf! zTPAre+f0^tJHHjr968|{Cvu7_=3HRu{$^3&NazOJ&yY?0@@+|KJGvLOwEwOrHfE;NU42E|sI z;3X8c-fxDbZ!+P&IKkEBKG&doo?q zRCKu&k#bGTD?ay z70MioR5Vsm_XMC;Hx~e^kQfCi0=IkDnJ)K|mqhZFqVZ01L%oxcV z&UswBU6Hg&kmP#i1Gs}?QDZt-s1=(ax*;oQolmyli{p@W^Xpox%M zjVPZ)Fh|&Id~F*}0Yr6!GZTmdDT=2kd&4Cp5ry5IVd7gc}^)3dYn1%o+zSHEQp#S;VM$&Xl&^3$sho zuGXYvW0=ikrCiJMNbVG7(sa^hwEV`<&V;o3T=dZoKO0_c?dubu+bL{pjZQ;_29ycO zDszAIlv$og;PP5Ud+Hz<$VG<(Sk*!7uxI@`wc8m*3>LB*Luch)@G%*h#in&YW|Auk z&Mpo<(D}IMc#zc`5f!xV+cJhDGDNo|BsTP?Y{#~UJL#bTCDt?yT1)3m5FNuapfK)F z0HLH{c^D6NsQY7uT3;@TH0=CCA}9Zl8D0q$M^OD);W_lRro)NJCtPA?b1o37AyWLT zpRys7#UK;^5W@3OA8&$tHq~=xzD%;JP>fH4CNy8hQ>I{)g8OIraiCO3+%b_K{8yM2 zFKeb!{3x0nnoJ<(&8!Z>##Yp)4c|8=PQek9ee&-met%phR=Wk{IDO=b`#BPr?%w3`F{2-Th zX#qNveW>5{0*NxuAI%8gTkbwbuqnIgp*i7*qr==SE}E4iy_o7E&ewJihfQs>2hJ!Z zFr*f27IFf)@*5+JJ@uFHdtaP?kn`Wtc8om#P?8U;illspHhW?AWVQKG41DjXm|a$Z zczs3}X(v%|4IMKoQdqrezo4spEZJPOhkeh=O``4oHGhq%Vo^W;l^;sKzV8a|3{{u& zu+2G7qSB3QI?%6VB}9}QL2aQ$@)?1;Tlv1KLEPkW_myW?Q=}*^`dliEcK_JlkXi;uePTR zy$;ZE7R}=s=S4`-+u4=FpP;sT3)Mz;EEDZ$yVg0edETj9^b!VKRZ%qT4M_o46V={( zpthy6bjiUDq#yQa`glXOWsBj8|LyDY_8+NL0@F^aMWD?7s24yO;NK?nEiLOUR+f$uk4l)OYK`tV;Z7 zm=>&N@2Ki!aKaC+)~fiZ7AGA?F%VD@G8xtI1CbmCG1#gQpzex}MuVF}A} zHFcL0gpC~+1yt?27*e%{ntxANF|UqMl&YMpqdAnIw=+eSn8N^BS{bZQ!uc%;K|_jN zTLWw|DB{Pda)Vj~NfZ-bW)GT;3~&wE!H*R7m>TRRowg{%0mGFmqZ&)i#V4E+GpX9~ zBctcZejBb1aVJA9?blYiZKE|;P!Ootg7{rT&Y%bJ37o8t>{1(t8=+9m0GeI~HRIS0 z3>y^lV*ebdlNDt3?x*T6`9!$+mS!r%eofEZNHG`jnGb8XkZJ(MD^{PYCVRXk;Z2Xa zmre7j@C+h9N^aZOtlr5eb*|wlFRrJziZ+uq_6DFO`1X?Hj}A6$!kk|V>`CSqX^Jy} zPdg)+w+9A?qt~ShTfQ$;6&06WfJC)+3_Umemu&6D7>1^Bu~=DJIT z))dM9=z=T@U!{R8$GZ5UWqpBG)Q;;?v!Xq2xFu3JZs@~*sL zp|!=B@sc7{{d2+LUf1{dt&zbk@7dgq<6aSiWMt`vX?&4ax&U7+L>Ly$+0<=Rm`f>K zv;9fMX~Wv!+G^Ow^ggl)WOPqKcN2>qemeyRC!0CxhO2( zZ3=9BAPsRPZoo5hpOI!-@s2O+kPGx}7zdGLmXoU(fmlRcmn>9Ak(0;95`ZHz5U9Hn7 zQtfD0)6K$M{Qk_*XEyg`ijxdaUTvPW!V~z_j>XFsDS1T%EtuBu;NlB!56#eC#Qw^( z^4`o~1U)pO1%AGs^xXg#|K7L(sT>?5u!QCGP95JR7Z|s!l3-NZC5{CDX-jHqk6v|I ztrF=Q0ef4_pR-tR?0bE7+kPhzzW3H`@~iZhm z??~Te0a%`DciE)zwed(bUAv#fpNBrQY`=U9kX|J6bo{a{&%E|%(QdLKY)~Q1?+FhI{dR++I#hap2HmzCwV@Zj}+-?Je3S_cC)?oJ}4%nly(f5V}?s5 z_hO#vpSVq&-^+Sz;bSJ_xp?Ga7&U&V=)Qn(WC0pHOJG`^)Rf}+v6ZXO+#t&FasiNg zg)N`X(>#Keu&*pczlS+rmnt2u^ zLZ@XEOOf&MtV0Wy#+#Svk-koqOOaQH@s63lntwOPbYIm= z%hvd*c~%fIj9e_ym<&uT14LOy?0}%9 z&j)mhVt^ao&9Cp6n#JW@P+lH=8`I89@71}`RnZ}t(&s@)c)X{u|C(uF2tlfrFFEpb z#;poZp>1O`@k7kjYYFVTG>XLT#WE#}I>wsfko~rJ$*)QfnK4HV9gCr!$>t0Y447UT zf-J8bJ`1u(YSxc4sz-Vf)4i_geP7yK6%cFHGb+LMHBG8;dZS_dg6n+mojujsGFiW!gyC9$mE|X7 z2HxmFJq2jyfoqZ#{kv)~p;4EQ(3zse28kLQKSy&YlKnG?1F?t#AqvP7K!aR}O|n9hEGzSg`&$IrPM5^UqI~$E7|vvR$k(T-)vn3!Q0l*c`-SL>FEA`UzJZOU~We z&j}Np#tps|2-umNw^IH7U?mI{m%ij{%q#|U{JApPlZ6LpaI;brgA%!A=kT}x= zb_|O|H7QFC&HYP>%XvZ+m6@au_*Wx)wscL78%6m`7T%%h6y9M5ErIncb|3xc zVhyQcni>6cL~3~JmGU;Eu_uXlfY&y$_%_AJb#g5pbR2_zyTB2^$m7k9i~4L~)&#F% zgYJUPp;SsEZP0PBucZ~mP;$V;0c&Qu9egGa=)#VDz7xeD@t-z#rYQi|sdhnN@IGy8 zn|=PckaO&yD(00s%l$xwva%`yVr=Zx8wNrOrBd+>l>2<%R?cxGXzGBO1pM?fK{Q&Y zVDmWZd!|&+_7vk2QcWn&&ahBCIPPFaJdvKZFcjZ`Y{8XMLP_l%k^T#8@zxGjDv$)t z{&T>80l9`GBqqmL9Tpi#pO|n_*pTiV-?J%SOStvAFc3F>1Hrvy%ppEDo&HQ$~yPm(BWDS6-YzsKe7rm zK+SQD28OkKbwzBj=gbb9#&hh!6iSvm`m@GvSHrRLF z(1p$5OwE_&8O!YP$dpVoStwOxsFJcLa)0Qn66gNPz5;1X!uRw1esN@OtKzzLZ1?Yg z6afXPRV>MR6Pt{cA(SRyr&`?APW$wy-CrZ5n5+%2)Xj zk~rZEq2f&qbrw6H#0yJFMk87QAGSHlVe(EJyC;i3lwi~@M`n(AGS{^U_ta{&`P}5k znaw+FhK~Fk74ej;N_>9r!-t?O72(gO1M+DDjz zIXKz}HQ+kpX|x)(bo1!!eivuh@2#d$0)tV7Z(-33|BWxpi~Dnhd!J1AeKBM>Y64?X znIqQVMjtP6@esT*cBjK%fykIqTqevSyl|?>5x-8c;d!$U^Y^8Ku$9 zHdJ%_$lSy4)=7wfx|3zghrL-$OPb=kmh_9N{hgZ?TQhY6(9liF#LS-T!@fO(gKzs~ zBrw(Z7w$5kr(n0t^0OP#)e)=JCkuB;X%Cm`V6hvq#-GUH^_-sY&Vma9gO2 zf@Q0U7+a?SzrikB>&Es+A)!~FNW4WvZ?3k5lW182QtYrtR*TfW*x?{_kpiDh#l68u zu{RPt#jhKhk1J$%;f05=qi{FjmvzkWoQoYRr2H@;Ns@DU+JF+loSE^ss6+AC9J->a zFjrB~<2C;SpN&)chiui-v3d;-hIFvjpPz>>`wHJHh8gf`R)z` zR#ocAqhFro{`uIb^yul?jxv}?1pHxS(3r@6VlghZ17jQ985&n)uMlN59;o`p@w?xXV&uA%@l;4{ny#RAw8xy`>S8;AM4=?kU|dc zT6KDAi`Zfsd7RG%8pN^3J?iIq+F`5c8hx9OR42D7z#j;|S-2+HZg2sY`Fc>84MqIc z4IkIrm#K^VH8<~d``jygraiLNkzk9-b;Sq6;YFtZ(p5AIJpR9(` za6hXn18Tl*tz)n6W7mCa-u2=3Qa;VS#3DB+sdNTdaC+l$Ik#vog78Ky#zghV%vy9R z`nLnA-6;vr&yzykdUxH^h=MJ?PeD$j_1QJl$ukd%sK2U>d1l|;G()aB`hr$w0TELzjT=e)-ESRDzM7WYRY#P5w%b%PEX0G|Sv{c>_-Xh0Vta2ylhn1}1E`K#(By;>$~$s*BvsNBB1 zrNS#J5TRXl(vfJSI`AGAOsW-r>^t@ZM@?*$el51MGdXpCyUpx(MI$2jp=Xy1TxpR% zIi6_b|7qCexQbu0+26itw}#eV=d=^2V!NiiZcpAOx`~PgL#CK$ zUrd@)!U_Kl!EU3=Y7vQaw$GZ1>f7a zH_dgXe9`f?!=neI;7|wEkCCzY4)4(!+F4byPh}@-0Ta-Id!csL(bNquqTw+H0>R zGh!!`-d(+nDPY94UwKVzIb3Lmve|`WsuCQJwoadQn=fP zR2Q49mh3)&C0W&xjOKk;ZhrA}x4gA8YCmk|NJPC_tJuyjjGZn$S5vyW5^GiHX*hCf zzw*K8K6-2q2t^{y0Lj!nKlXh=w)-Mbi<7^$I(5K-fP}-qC&WD8KhmJoqM=bIn&=?0 zRFuG70jm%?86aXD+Ag;sr8`6Sz%kP+0b9w&?F7K^PXT>gRn@y!h)DTIEj2h!p&y}B^2#442+xy$$XfV6%)_>h>r^XDATMf2 zQc~=c#rF+%d=Pf;GH}O^Ge3^gUsPv3H0L6JPr3~L)hKs9KcT^l?pLeFOrxZwKr+)6 z%FC}@Qw$ihYZwr8tv7uRjZ7z9b!MdG^-&@075Cx_^RO?&i_9j?&?h~!?-fj-g~ba# zT;?=*U=dFoj9YY7d%BcB|5`Er?(jaKEjsUuySff?{YW7B9rtt|jV`+lPTLffTvD># zEptPUa?5cYBA>j739)yxbOA?AxD{aQJg!pI@2<58eKoV-LA*PQEELmx%`G9==l`OP zq1ndt%CP2W_qms?b#s-j0%4-qkZkLmr0*O(@PtbB6bGD1*oHy$4d%kO#K^Ag8ybCH z)!IC6+P>u(w<8vczNJKpNrYRN`zsn7mK40_E6C~4O3!>1!tWcuO-M{K^Y|s-7-NUp zQCt}8XgSJXc;~hE{DS8W(a>b9sg=RV`N~jg)rh|*;V9b6V#Tgj0=1VUQ9gf%`y^uN z`wfxxWtrd43vB-^7 z?TI1R_Zcqp-9@j)404--&wlmYVKu`@=P!}NE3r8;8`$I* z_!^tM4mZE~xRd4CkN4d*7PN_>j%w+Sl6^R|oZHDziiF)u9r5B6H7{-m^{BM5I$KqI zduX!bFkasu8+_Olvp2MItdWGEM_$+-wqSfvH6K@TDZxE<_s#WyVrPH0lK~5{O+qQH zJH~f1i{xA#lb2;{e}C;NHcS~X*x$>{9eiK1e}z{2d!Z}5pT7$ks(fnuJ&sO zNljVck4cN<)VS9~M#W1Z2ZwdO&Bn_YpSZyuf>$X5Gy~(qJ2ot-&phVbWV#1O-@4iI z?aPfc*LElv;*ygm=gI_P3uTjO@wbtHH!*sQzZ!9_u$MZK=VUnk=3<#gSq~!2J*2Rz_331cS|*i` zC;Vw@j_Y&MofWYs!YV(nEehrPX6Eo~UC7fQ{wfGhAS{R}`_{gY@G-i)f;;#0TFR}a zD+}I;eVf5URo9%*a--;-T6%tWX>V@xTpcuZ>|}s&R+)9hYpo9jdGQLZbc90BRV&Wt z)su6(pXe3_36cJ07xlCR(w?%_Wk08~nMrylp)!39* zi>`K0^-O6~#?|W?r#_zWmXuiX7mW0@$8A-e%V2E(xv)4CrC3?py*V6`}YlZ=Bm zDz>)d+_0j^j*~F{-HkcGfH!X^8y1hfcBTvbbsl6Trt5?|UUqde_n4v#rrLzZ9c*i_ z#unH1Rc7So+DrBo-8<}4Hq>u;nKYTG*R_RxmyB=I8d%S;@%?&{WF4F4bSi*hNX^wbbY>xqzUl>i9D%zx^PU!kxswX3K3&yATx*SMqwU400?xuG!WkRhq%KZ| zeZ|Quo_9aa3-tH6cu%q4W{ohJtb9rg;OB9!aC~@us-!&>L@2sbd#sHy2TY?fPTGrf$OV{ub}2brU~>j%=Clfr423UO12BJP^4peb zu1u32;q*9;ZNpmN==ahil8ntuBTN2|z4Yz*3Zs@ncKwu&7jA6Nn@Z_nmCSrChwVEP3-`Q^lmp3%o@?W{fJ+(+_HR!KtCG;)fbUtkxFwx2u@2yIUV?EZ4wjPpv zig$Wzvx=BJxUXw>C&d-6P`DU*n+_JbXf3QJghqBK;=7m4Z83#L@%gu!;-qcM+=k|h z#e*+=<9q@0Y)cu@;$4tG(bWV~y5YvzRSJf#2s*983mi=R&`(Mqv7RY70`&OMm zV%1fOGK;extxUXv!2iVI2mE$z>8Gxwz-ld4ey7F96DZIFR*omJe#8g~PAvS!pJ6zG zwwj#|Fcf^WZ?-aJSf{M+Y58JPMEn>pgX@CSc3X*QbBoXT+_m}=ZKE1xr={1|y#(%F zgUx=r*>ZKfPfA_;*0z%G?ah0|njWMD)8FVZ7t{SH>`k^goLBa4|NrCZyyMw?-?!gs zv{v=j9V>GyfPp8xN^ z?)$p0>%5NhINm2i$D;EG!&iHIYHLT+#Z?L3Ne6YAotu7|pB+o3mdr^RN67)IKN=a)( z)!ztJ1;Az;&TG;04^NVckQu1v+S$_GHax56_N{LN)n{H;DVo>}rawG{FygIS!^ow6 z+z#vgMqTR}4%N7;yZeg1X8h!XdaRPH)R@-IA{BZJbG-(Hk)809(FubUfobeALPfr{+kpZ)cUx%><&G$Cc9`FA-I?0n$zv zkV1{Rvs(tKDd*H2Ewf(Ru$U{Ud!0Lcm3&{%ETuKpfd@nr{Z*%wO5(lVEi#Cj!7-L# z$>xr5v_60J?z1?D(_=U#_r=8Xql9oCL5g{-cl0m)l~*nJM$Y98YSZ^0#bKL}z~~15 z_`W?@jA;q|U9IKfoSDDZ{NUCOAXMADw*}AY>UR4{jB)cW!OVMWnfsA^*6)AEg?;<~ zikbFV5-6(i-&tf-U@gfR+GK`kC1kfYI}1!?2frMz`8T=)WggC+`G}j>%J^JrvDDn% zX!7(I?&5=)1&29!=Gpu!eNc2|;`)E>%6b3t${Qn0q{-K+HGj@HU#5po+wC;r&(V|~ zIv+MCI)#0V79uVEHoY_AhnvS6PMbVDh(&7nI#migNJBphc6q$Op26XnT;5?$^=7p+ zU7+Ci^y9r|2jS&q;Coq|hv&$r8LZ1yaF%+Z#=(|LEuv+c<;}%wa?a@9kG7P74KC$| zDn@*j0a@6BJ(@2oHlQD_yvn(3h=}IYwJIJ^TtfiM2q4wY(3^R)mcKb4|2D>1U@!K8 zXFzo%YJQ@zlP6%UXj(KRp%d|DKF`0!pw4NZOMw&hqFI7ZtNw`&-C{bu$K!CHa&DLCz)6Mk z8X8omk!k7nQ=LIEW;2OY%HtNdt24cu1F~-q@DY)rm*>mRyfyZneN%s~RrB0ka=&&c zCt6eV)r<51k)g824`Kxb8-Lr-4~Yw^x5V9yr(9Wyx*mW;WA4bs^lluN??E(N-tPHN z>#&lwxyzo$6qTw6xG}LaalO2FD<7SuCy&|93$2rej3P@Ce2OlYqAvUWqID2fJsSF? zKSyU%UY5Nvtc@dPe~0`y(%n?L8ANXf@0Kx9=r4Z&&yKX~a9VRFl5G*X*Yr`^Y}4(# zKy;o#$ufTz^Of+=k~O3FgdgIxBKMl$zaoKDkJ(h+yspFOa=0qY@S@As_`mD zvYpMYlt4!6ImsY|NjFyEH7-jK1%nlNY{l%E?RTPICw^rsC6@+8v+b!$L9G$5`UHkhW( zx!1f9=~qsv%TdAR!`V0Iy6p7{`Jzqj`d-jli0Q$gtepOo=4NpqjXeMr}2Rw(9OKFgS~|8BQK!9+%Qxzvjm815M=+Up0)4&A9g zZ`(ak{J^%Qn`~;P=3dC73w8*?J98I%k|7esZ-&N_ziKdy53zqI{gPZpq z@ZEeY{OxKvhm6%baZ~gad%esw)dZ%f%_G;qcCvE{lYJ1?5s0$-?~YTN9?YW0AXsSR zZ3_t!80~Ou%IeQK0eZQo?>B&TBV~LpeV3el!g-u3^cb5z9yI?xKuZ2I%ei!5PR8?U zcvkwRuAXzx@{L3z{0We{qJNZ3l01yV1VXS@jyl$h9Z#5zf~2-KB?>4WoTo!ZY9GbC zIi~8w0Mzzdxh;IeG%YiUqxV_9>&L2EuSPvIPE+dIU^Nrl!>|&1w4|vMSp^L4w-#Hm z6XV9yp8s4B4Fof9*VGNg!`}C!-ek#?W5O?B53B&g8lMy7F1gR({dwi>^3o5dN&g7G zV#v!4x)Fq&$B$k?`EG>~I1O)Gf8@p~s6M_)3H?mZGH}~x2p*Wl`Rt=T*Fl)%rA`Dgp_%I$h}ycrwgr(Hv;52CkDH{7#-Pl^_;$Zav3hnTan+J&kr@dxN0Ct*f`;O#!1p_ z(Fn8_1I5TX+s|j*i2X#ef%-JZQYGok!Oz@$U7Dp>s;ClxLUiq_h5HHUH!(?e`iB0e zStwIYFG*@a?`_n2m$*B)+JcRfb4<2` zvz?sZoimGK%GjsV*8Df`GF5Bq;h(Ky#XOq|TT=#o5G~_V>+veexBd5asK0i)w|$a) z(p@$4C6+J#qS5KG86b2&%>1!~zOiu{K65do=2~!{U{#{9f*|@|KmL@@+GG7GykVbSddwUPTPAue)<+*)-*As^ z(hioFDneL4Q#C;t>IUz=Ebx_V&DmR8!C{njI-C>K8HhWd&S{KV{fs5A$}ZA=;@rv| z9bY$^b9-yq`}G~tQ7>=iX&*mr;&3}cer&3PN$;`g?^!E>ZgfKdme56^h(a_((r#AKY?Ujel#G3P0y#T%fFB<#|`Fd}_h-0lu zpqS>Spps;N<8x~oe-=9Zrmny!h<7E-)kn352<{Lh+5Nlgbxi7K1bqSK((7EMY~bo6 z%kTluwWrm*b;l8%#p*x}K_uEFU@*KVlj?hPqpiCX!@^IIt5z+A8r`jIcc6(~pzEko`_j2;7o9B~+;*$nnZ+osO7|vv7 zc(u8Qjl2^$yY2eZyY0Bx{)b8${HH8h;jt#Qyk9u$B`24k(zM74^MKlMab2dQ7i{Bea z3QPmdVo%umy{|V`!Ezqy>sBW1GP3w`K%5!5J=VjbV}fJzM|0Ty0)UsdbiZJ-%wVA= zyNTX#rYq!H#baxPAS7>5zt;9^{||G$vY%w<8kKy|!OSa3J}8g{Cj9k4KFK`r!kfz1 zm`g?FQ(5*z>qMFTi6*c~vc~y`BpqZmW`tws@IzAQcCGhfSGIQQY>)*h`f4~UZF@k|ZhWvT2Tjc0cDzwSI~*{SeG| zCt%aK6>&YsxOsMO_4hwk4*P>n_E@t1pDC%cjlfUyR2yfx;6;&&^ED4^4R>3l1%+I8 z_8T~dqOSwY_Rf@ZSyn27bjo6W!nxHR_Nl$q00ibdm$RC;Bt;3#uEqecW|6}srjYc* z1=feTb8+@FEUA3Bw$2Kvu?3c>5^aupQpo-h9UZGen{?1;`LaB|JNrURkCBhh+%eND zsBX&tT#uNL%e07R76YDLXE-Sun7p+lP}hH2fb+A3Y=X zm)v9Mg6R1CM2Cf%q?8iZ88GA#K$-~{a)GLQVV7UQ$M6R|N8YoTmMx6zE0N_HnS9`B z;`&3)AWfFl34FQFmN}(7-nH`=b}jH^Q#PrZ-#iI}UrW4K3qiNMi0VXTU)9bHs?o}` z6JJ_cmp*C#F5Br}e#3NYKsgw+18sven@Sya@u~#R?SHvljmwhszvzs{Wd&f>f3GY- zAgNH%HdY*>@``KaSMUNsykIydgLd zwqAeOn4ci+oW=au7$ljg^~A^dI9|GLN{uA>ll76-<$#qPPjKi1B4 zJ!(Iwj4+V8(Uyk5(p(<#l}M`TU+EA7%SXGZy7gEDiepNo)U7jJg(FZHqfK6BN|HCD z^1>)G(P(yWZ)r|(6D*S(`KuQA{Z$I~zj8e$v|jw)2)};@=4bUpaoIEe`n}7g;`1yo z<18-k)ll*GGQND^+koJMp6;lddLbDWnT#_8N?dj7vHe2ivIt$--p6*z{?Mba7p*BP z=OYiogh#CZf>qZi;pV{_-qOUlva39CVZcei9n^?-Ddi=O4IQxhdOxzX1FhUg5q&tw z@e;l;I9R-bk?l;}sJvZR8vI>@!eDt#VJ1xMX9WGj;DdnUK{%!8Fh%&w;mdLFh(dzEdpK-LY&XM)h< z63wLvxep5qWO;V4A#c=Wjdw4vz?^3$nBN8u5g6&l{mRl&6`}7?mQAz-qv3blrs}%c zm8M}HE@P-cKOjqz*ZuN4(@=-{4;UgkXSc~20dJr5&q~A{&ba^Om-5OB@C1qJH{*{U zPFrZvMfOJ_7e0{LxOpk2YUEmWdPw~wAGaS*5P4zT5sZot44GPcr6$`NnB_Nfq$R+kf&=?3z%;sh3QB)jf~px5Dv@GJ}F8!2l)Ph=pQTmY-k9qZC-_$NpYQv)tNP7$-!u`re;J*q=UWo?PIhjh9{eRm9 zX0vzcIe!1s6>C$J`o$+a37C@H3l@y>8KB)xNRpjkct$Q+v(LpabO@`L+NA9KNohIx z7O0~ad}eDsy?t~TCK+knb+J`T*#T~Hd>8iDQTA-~HF>J+`R~9(4Q9{WQjT}v4P;mA z*#aUb{T8rF7F{Q+Hr$5bvp*lQ9_+(rrYYj~d0xj)kSW?? z$^s;4BKJd1)7l4t09@58yk@Xr(o^hFM{m;Cd$ z&7)Hq-61!QW`5E0Q9-%#>UaE2qGJ*Jy(bP?i;PZ-0MtQZ+!mZqqBYIJ>$Fjcxd-o8`bHwe!yZ1BwoKf7Qi$rAUmSXeu0QEZ2Bjyg`TCb|NDhBhy-1S_iir`EP2 zcP}ONbb=omIhS&)jVwK2q!06|?bRqc$eGTNPc;5Qt^!%fkQ1e#Md3;E@a4H6IdaAf zc21RwU?%uQ?g9StjL_nzXBze2qEjN@bK$Pde`K>lI9;$CbbmF@?J@$pyJs}x&%`b^ z!mMPY<$68UBI9K*KLSEi_&$K!?4RVl#+#l+crGqjFx)u}9Er@RIPlUMYuPy~kwts5 z_4VDf&+K|KGo{|Y_Orfz$gdu(dwqL{b&o}evXG)g5?4!^U|pjRr^G4l(Ky>=ko9$QkH1Fx90n9WZs(xCV*BaggH^7 zTZA9eM2YrW`ij`>aLT8r2|eccPN6EE@D>XQUs3c&=dxV>4l?@<>mu)JKBr7m<+2=f z=b~;;-)mI!;4uHQ2b~H-#_to#(^I!)gm_mh?=HW1>19Ljrg}!Tr3w{{NvI^v0*C_P zyKU`6BcT*q0hZnbKhB>KcuwVrmlfS73QvK!eKW=;^}uxG5^;UZGG(ym$XzP#!TzXo z8;+^)JJzc_HsY52QLf~vNE3FloI_|DU7GYQi_(HWMm-{nFma4go9=nQv)RcuHmIRYQr<@K@Kob=0*l`i8d6+mbBcNY7!pX5Zc}uxcGtnA8`%^&w!v3Y?fRVlI z@C{pJF{>Y|+;#Y5tQR?Ww;*(DpOiJry=ALg7u|LS#U`k=DhQJ^O!^gj35>OnRepr% z8TDgrbH57(40ZWIX60J-I!+5O@^U_4nJv->{HisQekG5(-xRX4Nr8vYt$R-7?7Ka# zj|S7xOwxoTF;6qt9ID`9L~%Eu(4w`;7ZydKBH?anNK2bYRZ>`VQji$?TG zTcEl-rh0xL9%2EN9)<6wARaHb@5Vp~dV|lR4J)zUiyUi;9FM+GC^ACsjf6h74`jP$ zx>-@3I|Fqg8I*h=lohHCXkN>cXYAkhN`1*IV0@Ql7D13ZL! zX}u?8Y-@rU4z^j3exaFi2*95ef7JsUyct!-UE&R-n!aD05BW?Q?R~=G)v9Xqcdi*k z62eD#<9!3s-Z{Hk8%_l?&wl=NNZ&Qr*Qrd^Et~RDRE>%|9BZPg%ImO^R)#gFdKS&PL-*y52#U_G(d?1%P?=ma%$i zrJJ#{j?ta^uLL(2CEP|ROz#T|zLru$hw*6nRVUhB{H6o(Tt9d>t+e7JV4534ycXt3 z{;A<>n#%8^vikV8Ceqwfk%L~6&s-hx0d>AbbC81%_C~}H&JN`W+md(KY2?h@zR}Ld zVr1(OT z$9H4y*};laNm30=%^tBBWO88J4d$jP5NHn>sW!rt4;v)YHHO89QZGuPe9v$#s>4`zXH|?uy{xyRm zG=q{%m3>T=yFv5To?%Pt(jTkZ`~$~tMIAp8_xQ#=_{Z5XdTC>0d6}~-pVPy)^YE>4=ZW8ne2HrFia<&XS)+K;zUVYK;Kq$qrB#PIrCgQ#K9G6p}*-xcDm;r*$DiPm#f={{p+U$EgK3|^t z)DkXb!_Bzu(c`V$Kwi8Facy1);Rew9sazoM4xzIDJQ7kxX3ujwi*n}ONcU`1SWLZz zwNYf;$EF0@m%TPHQx)p_El=Bd_*X4E_lwGg)JMMS_n>AhB~3}(_Ji0t)lLI`qRkoZ zK>Na%l^^{Xw6GxYAI0+Lz8T~cUbAaXU%5BBmd?I;9!DD78`LU;VFXzD6=lElM{KtI zL<(eW1ZMXOzToLr7i{k=7l`MDg_aO7HH8-B{?-tixZRQDnR8epPk5m^#!&l}O zb6^lR<~eqKm>@UXYn9%uFbh6Q+}wqA{=V7jegbfI8X6x3Bf|_%HwYRY;St+A@}7kG zKzF%cL#V_SZ>c$zAvYSS1ibGe4kZL{d(lsB<$I7U6)~({CxS3Qa)nWDGvg^^Qg;Qh z-LZ33lIK9*Jtr+g@(&yob(MofCe5T7Gb@v`2MP`9md)bfh%1>4t1pR(zALdO;!oc{$^kdNkkYIVu|O`8|0b9LH=*s=qrer927*`E96#WAd>wqV z5hy_^@A27v8(Vgl8F6_G8>#SYNQ~UBM0lGe(La0FK&LNDWErL`c)K|Jc`Lj}g5r~c zmSe@R`jcIAVLmrZJ+2kWo@sQ(9b3T*21q9$V&$4wkl!D>v{iZ_;6QoFe?^eQHNv zhE3Lh`dFIlq}$Uy*f+1&Kg$U3FYQBIp9-l1l$cl%1n-l%tv!PgG%g+Hg~)z4DBUSj zFyg^wf$xtv(O&QgZZ8NyENpOSAF>jUSV*=a*v_O``|z_TAdN{V;>V=JY1eht5X7cI zw6hJD>I4Xn<-}q?o2)_1>H%*m4%`x0%7GQC|)TAYM8K9k(`y&?i z^pZ@sJ}Bt8=9|z1t^Goy{as^it`ulCY3j*m*R)u4pT4$axz1Ij9e=rVmQIo#HO5Z`S+iQh3;A5QXVz4BT!+#nJ$_{QP>x}bx=TSZYj$ufL943>-L#Nn#)`I{AyR)dM+QOX#)Lmia;+X2ub*W(C2+&6nnS`l>n}D z7G7fnm&SWHe4$?h$8kdw01+Q4Dv^j`cN%OM8#fbOwk4k?nfg$8AaW4Z>3DqSv{wN{ zl{+7LS2#OP0-P8mWH+1JR^5&ieuvM+*9`?<*?w6pwlN#$#03cqlRzB_l#*8HOOO78 z(Y50Kc7WuXU%;iv{uqEljbBp#`pm^-OUC&}uj=5Jow1j<7YR(zyF8UTrc4R%Ev)`4 zI3t3IbdQ-M*WZdcoV|Lwdj8amere(J)YS-FZ0O`f3Vy48DYD_Rs_GrOx&#!o0t9k| zobH3vFP~IY#esn#_LZ4DgVpn^RCO2;#O6^0&AELsH-vhwJIGe_c1HZPDSuQefP`|UjL6f`c%4gy^z#hIaVY|N7(eG|bQUYi@wS%NoK68p% z_*Cz#&m;if{LPo||1A=TFBBJAoo!lIFOr*|64V1?4%>B8(rFk9z&GQ$|9yK;;AbGY z1e915gpiHdDJMQiAm-n@zW>$FHz#6yzU}{k zf$lHJ3MB=WD)R3M)f8_pFQn8##ZWF%O@*7}?Y3lz3xWANp{z zsR5Kwfkl~-hjR;Ot=kZH%1*IIMjd<;)l6Fl#s()e&$ zQL`38yMIL4`=sX_CC)sIO&pl)E*zfyI=aA$7uI3&Vw`siNBRY9fz6VH zFjn*4=MX)1l!Co=wTy{32wAUX487Wmu2}bC3!8`uLZNR6IhubZS!i00XorTxUN?I|O-_$J6X|FDzh<i1p4S(s=4y7z=%~X`Ps(#ka|X?NSj%El6v(PyD)qF z*B9S;V9BZWoiPTZtDged4D`aI`f8SHps1vver6IXi{Ipwi5MJ`lW;F!STxKM$&I5)2dCdfKC-=sW*Cx9bj4OS0 z?JHgi*6-vaYpAgu*lU~LOy78JlN)&G+%yFd>!!HNcysnB_ri|3-z&8>2=j%Qw#b@| zX`+p?9Pl3#I>7JSD6()lR)#;eOBHmi45?~xkFK!d?K9(|jzCQf?%JU10N1~vGtOvx z)+!(H)xWkzf8`dvz17 z`LTXtDbO526Wc%R$<_`>qPorqPItm+hR1I%9gSY)N(grHj1jBd0>}{#7ahw_$z!@n{QB{S?<%VQ0KPk= z&aj5d3>5~=AD1M`3=nVgen`6ikcdL!@+>J%z#XD zpF!InGG${j`$b2u)pXq(9$FXs2Rh%_{OTB{$b19;*!N2szNPRtr$JWb2-iAY^+PQrRoGIp*Tamw?_NEWovLR1yoqT9KVGAQzzR>2DDSE zfLF<-6LIy<2kjHpU{h2dKUNc&-Rc7KzlC{kB~#}mx;qnmZ!x5kTrI%13BOLU0sGfK zamI!CEuG%Fg}ubEH*p`>$7K@YDXv?5%>UxC&9BuX&oH@&{y z(#YjUxkdorh{@;aATsD3z3oyrC6|iBfR&HrVgcO0vz4r?idgaT>h+V_9=L42*2o1&X^q)zSN4?2wqU7eLe2 z-j8mJW)54c-`)M;ij_fZn$?!V6Rcd1Yv_kQxZ)|@YXsaVU;x-D=xe@q<0IMg{EK1iBb|K5%43TN5{+X9p2%HVd^)OFthhdoK z7SuWNiw&o2?qVye9f3|v);E#sluHBWYby_1)LQ?vjcWkd zdp7`=Q&*n8Qj4{nF8c_%&MEWMZBxOW2dSr@$d{L7c9hl>W zk7mp+s(-Y*Up+UGr3NM2K|s_sgHRtz#S1GR(+*@aZob*b&>WDv5`f1EPdcV+ z%wRry{L;K19IFIoPk?*9X!uOvw!X{_Y5B}97`GQ%=_iU?Rdqj^3D)QQMX8D^Gnw<= zIzgOG1a=MD{|Q|wYH+(anPk;j#^mSYUi5fiFXSb;?dZa>HvxsgLa}xs)rtBzcKkH& z7mF!E`{CFYA)O>3jUAPJbr6gXcqZyXdR|)2yA;KogTT_6|AgZ&WRvw47E>ou*2n~$ zo>hxUWfNA{0nNBPVeE?Rfo+$gDRx(sWSa3^+rz3Zw-j#AhCBZ}5L<;B3h8{De}qm_ zFl^(IfAYV=__eN)wk2N8KP`$$rRx)8%p+74*lblDKarwO8XG5EoF7Fl8kxP(_a5?B z=r#`eR_CQ3xqb9Hc2ewt4NrcpbVAegJo0C`;g8BHu;zDWqW_8%Uzm}GVFiz9;3+_N z?}cYm-jcO(yF|O44-g9>jY}ds!@2>@Pvhr)WLSIA*@B9XjVfRC;-78vhxu|H34aE2 zwE@mEsLZ=pmN$gDWe6*Kr{<=6ihW27I6`Io6TnREwpat83<%%b#&~F z7!a`a6Vu=7^z#1I3&H!)JAS2o^8S0JMJ`cN>yicWPH&a`#ogPxCAu{m4*Atc8(!nC z9G7fl3&_DUn-aKD%s({(jNWzH0Ii+15ad!pojwhD#*0=Wilxe;#K+p%+~z ziDpB==lee2QzPXmvAu|a$e}Kvc(54Y2zQ#Cgj?YHVn@N6bPATqjMxsAm855!rtNg> zwwcO*-+Q=Uu-Q2cJ=rm(P5cW>3Hn1J92I*Yq^y7sk=#4HnK;3}4sKAP&2b4ni7jI8 z>FHpTa^WObS!wlFI9M?ufJ$myWR!Bv4Zasv^7xU&?KGxm_ZlPo6+%k>x%o$0wI%hv zrug8xmBFSY0$5mzejm-43|aF_clzmt$?9t}y3#ZpY8Run>GhF(01#jgW3;)rw{w-8 zZD|@5U_v6M-t=T#(>d&1D890#GFdBgQi>1ctxdJE9O&URs<-29%uyxD;H0&Ay;mQX z7!j?5st(|p;=yQjYN@?73!FJKw)6!;qL=4>sL)S(dt6-#U-`LF&c8o`>vTwDcdQnw zzBd2Rb({9tl++GZCVAw8Eu|WJP&EpZMgN(qqw-n?!+-~^JWj@&d&*ufCpH7pFM<)M zTk%^82NsdaLCg}G;HE2<_l%zA{DM8yg42!<@rRE93gb8+{4*NdeBQh z{W(E(#q?YxG-ubFc@$>hmomde4!ri7o4P?Bx87yT5?4@AX9Y;lA}I@X*YJmaZv5>+ zOKj4Z=U=Yra{jvrz$Xg*!oiF22^ftxl!Zvhr+cUoit|Z<4tw4uQbKA7W9*`m5wY#t z0(tes5V$9`<`<^rMu3rJGBVZ?dbftbCl&w5p%nbgkJVV2Zyo7*Q(XDnR!<`lxW!sy zKa|q)y`D3L+XUmc-m6ZUU&mwqcm-)fzvh)2Z${Vkq01IVUk%?sCRn;EQ4I*qaqp7N zfF2m`%x&2f>drBdr$9yD)a#s>4lcCXzNy==*1OQ2zHC9a;wKc*Xz_uGoTw2&_qMEu zJIkfJS1({2YWGZ}9_@qu?Al!1EHbInlnnEon>g?i`(4?V38vGwa2DS&lP>T$u5|^i z``nVw^f|~q@EXXnd>fdPn2T!0ex#sM#=PS9G*j9;X)|ftTskOUm>@_&Kw|H_@`jY= z2}9`$6*W`nZ0_}D{`d*-@6I*PQe(egc4$)MmOmNiQ>ly7z(0Owr@pfb3@o)0$oBL7 zvBAwrpLpBljTLn377%d>J0obX>iso69{a8Z__^(@@vumwk*>IF<2TCb;G_Cp$3~nv z_Lnp2l4$zGhZiF%PyBvIylMlPh+`D1Lfjt+Jq#54H*ktD{Bd_5)6dGz6~yZg zzM0DXA_o(er@qy=NC2Oq5G`5y#R!+}pAzaN9{H?>EEDLgZuWm>#^YOj>cw1dX;^!_ zj4RXfP3g@dVO-i&hUC=6!FEom=;M%@V5*G&VjTW6X?0kA64kUBP$)1(lmD6I>0@L8 z2WC>B90abrKULSS7||t-;hS}>H#gYzPf$*}+~8a1cBITLCJb~<)MsE-W$k&7a`(3P z&TQrF%?7LiI?+W4h!FI{;42EdGl>&~X6!yc%r-UozlSd_gsO=~unF}j#gAj6cHm=rmw49!AyZ|~{ZsE6c2sYTm_=g0tU)5T{S>dMitxPwiWK}xpDtHT zpsX|QdkKV(AwlSW6JQd)V%dxGy(eEHW#4E>5=x80zs7B-F!9FH(X|av%C{#+nY={n zYSDXln_icxDj3`8v;T@o|1S8T2w;#JxtXE2MF>;Ac1o!Y|1R=~(K(LPAP%5fOm^b0 zpom#10D2nQJNKB-MWx2f1C@E8nP-x8fJ6kW$hTUF>HT|D@*f>(pUPN3*{|T7s9)uz zZ?naTE#Q0J9OnjNbg4W~TQtY6_Ccj}E{YKzmS3lf0=pJ$f|sK!!%L{ib)qZsKRxb_ z?L#(65gj#M0^QH88l4o`>G<`u*@9l+`yq~w?@AKxZK_*mX_!gUVjniSw>`-YlbbAFCen3;j zG|+eD*XpB{&e+}Zk>q2h2a~8LRl~0y5b0U*4`g0@bCYM^{AQL_;BP* z;wn?OnEiKxPIq0m)P5r&cl~qnx5o`Uv1H@H;9L0?o@H0TeO5d8gZVz9LdC;fxC~dy z_Zi|wYc__)1d7p`ry%kT|2wiTziw{}+enTxO+EdajL+@px?T6G10@N?d(_pvMitk$ zwi+*goJk_NE%Jtk@*5E`_3^vavu9Q!BCj^mEJzMl4F;aSp$HgUCGV+sv>Ke?YYSnf zvYNc}#)kKP>iFkoE~(efHx)B4)pLuuMZK|PGz9zu7&jFhM*;2N>@|W$G@-~F6unI(FH4#> zVNz&!-vda^Uo!>RU!qHH zcPsrtltye%AT?d^*vL{P2!DxbzfHC28mzmbYNqDyc}S2n2(M)q z!K<7qsn<2ketqlLNz50R1#oUm%pI}}hU^Ls=OhQJA5gK(MI~LetY32SmpQdj2da7< zBv+hfcxXGn8q576djHFsr$wE3lRu)weMwPib>8vdbM6fG~5N2|?n&s$gi$3{c#eZ{VsWZvCHC1HMe71iH@K%tk zI`D?qFOWa6JY(3j**!CXEc|Y`xVk{g$wJQD+o*B^_)HcYFIjgoAM}|#Jmzc>SdUL= z0^|-p$^=~d#@s$R)(|P&!Srrp z7P(j{+JDmrRhjuWUTU;#hmrOA+hIFLZ$4AUaqGNxbVBl@9R9AbWz6v+((HR1c$tmx zmS4&!`D6={Ot+z)^*`7qOq0)2CHVsMb*Q7#E)psFwq|kN+G48v+vxEs&G5Oy*Ve;! z?WZ8{kj7n2?cd-p7%Jm>O=X4IC>fXargze^&h*YV&}S0!6kt*Nw~{#srwPw_G-csX z@5mRN)8>=@t*6yRx66N4uc^1@{teia_IL90@;Pf%=4eDXAF~vmYj^hOAxd*|MfiT{ z?Sm9djHSDjQ#x2RudW+L%u_TnPaB7e7Fs->U$M>l;480_7qbo}x&)IsCi8oiwgKsc z4BmyWLQGKk%k`Tk?3L(MZNBJ|>^GNYs{h7DA{y28Y|NeVI6RYSet|Lq=y}RbFe{v| z+_QH&9bf;=xbSlq)gP;a_C`8)E-*!0o*X1i{uzIues3ET4@{m#9zc&v(vU632C8ci zr2J_j(1c;r`L9tO_o+2xVbpV#^#Lgq?r}2!=sEc`&wz!f`*yaQxXPG$T%Pa`A3gp3 zU&w)bwxDwYuH8LUq7}JbtbY5Nz@J8zR0ad1pU68thKpco-so|`*>xTQaz@QP9lbl8 zTPR_DXr3xvP}q#Y>@KWT171Iv2aRg4&Gu(tQaMkj(5lpJ^o!fugb^@~uluS(h<;fvdZZeOY z5P>(RxOV*Kz<6z2{!LuQysTpfqGpaB1#_h0aM1CU%e+VaTAB2H!w7DwVPvGKGKvUCyUW1o0(gXPTkJ%xt6Q2A)= z##Y57zX+9)knRsZ{Nt|H27s%n82sH^R0V(zGU1gAIhpxm+ge_+UBBl-8vw;RJm(#w zn;Phdfrhn(ex74YG;s|oUV9Me)2sD(nWup#vFY(gP8qDRWe%oD$bO+>5`8nN=_4b> z-vo+XXn7I$$J@6PbJA5)w{~?n4xm5Sd!Vt^b5hM^Y%q7H+5?r<)-=Q?CTsB3I{Q|) zo9K0mY@5j-+1FENL&OqQ9+YI#jW7B0n9WqhkD9qg^}Fv$b;sV{AN9Ls-{Wn4oLXc0 zLyAoAX)OgRu*`^5Se@jLI!=w`$G9)ALq|@Fi#Z>4qU}dHXZ9;iYU%+h!zj4mcA{KE zkg0*WY>7V5i*X##Sfb^Du(txw%wfAIq-T`Ou{|zkS!Tl+KOz~ zi4aP7&E?SU*PKF$2Wv-v1oFcTJ zW>Kzw3m14(HO~CrnuDmxEsIlz`Mi(^K0~Hqejtr$35CeFf1rN5FAU2A_r!##*iXZNh`lzk}A z0a83@=D)gnour$Sc{=aJpfZ?wzsNiOdKfBVmPQR#&4<=1*P*_^OQb{uaZffN7f4O? zr>LGFa`z6hkTSvWlTY@KayvQkCVoL}ewZMvuNagwyHtP<*A`?Zo6n7pe^8$cjkU+0 zxFo#^@0`cEUKlkyf*xSy!sJ$8 zpz2~6Nwx@wb;O*y-FmwyYUli(`^_-MnBTS?4tIlI+?P6rGW48<>TJ{Lz9nA*()_{N%4cMVXZQ! zo5e1d(b-RKV)Q(8WLR7@YLau$Jf102vAXn8oh|&-lg0bvrYNJxoBW(VJ>F06c!(sM zG(B8-H;>v1Ktm4nZgLeL-!67cR%g8M{$H&$e6l)sE0?2YF1Om+aU-ZaRNQ$T>giLc zML1sgLYPIC61+jP$dzr@d*k4nNFf{2ipjKsPa`kH%#A;viLd#!C7AhTdqG*h9tK{u zXvKI<+&*3CF!nKE?YPV5JUPIOC42&p7>m`*=8QZo%a#lsUsY;qTI=Z&9;1GJ6GrCs z5(`LK#nz;V#J35RX%(aX9~LIuSxowioED`NqoXzYi3(~ATU#gEdi&R@$45{82$t8( zb#abWt0TdOR@@2`uE`;NliE=Qtu%r81IAY)6A=c$p!mKyR1k$ujl+x^oiOIGo-Q~| zKz8_KZFM6iUi3ry7XtH+qVU)QFnzX~+;q8t@AHsacqb9r@W8(=U!J)c%#h}u8}w?p zaX(SBZur}W+_8mA(_ulQGYRRFqj?m_x=~npakEl7N)MyFo|B;PjTE-=B{vCR+M#QX zo}NImVm(}x=T=$TFZ%}wL&jXB%?18^@v<|oC_iU#z-lsHoD0nk0L?@tgr+)|J%XKu zwBxZuJ|g<@z@#|x8~T~PadCC;2-nacM%D0FuU=iJXeNf84zyz`iz=7!8eV>Wbcu)U zT?vR5bzdA+IC8YV+0keASCt1v9{Tipo4`M^WBA`T^f@VV+Mn0qQ^{vVZT9>O%4a|W zTOENXu);a`(d{PxrJwoRmq)`s&3xW0w1Y>xdB&^?WX2m3Tbm;4WIP-XIpQzbMX()O zaMgs;V^(Dz;8}~h@b_$;-qPE4B%JZe@I?%y$=<+tIahg3Ta&x8y6?pHov!R4TB3~n zw>R~YCd&-X?wak<@||@rowC}9?^5ke66adA;E6hfvz;GUe#aHa;FZnk@iVfkAnl%j z18&5svf%`rY5uESBnNSN{pwH9I+Cj`Uw#)PjgPKgYNrZ2_r;cgm5~w&itB{~MOJSX z$p3pC1?|eY_e%OAaRY;|!=N%GK=GKo;WJxkez}(Y0!#+BB>bmu{FeH1R!9Y56M}BM zk1~|^r%Ok|Hr8Awf^JY~{|_j@(z2UqZK5Hxxl+pI_Uj~^~oUjZ@1vhCA^(|jU>7LK7PDXm8>{~=Y)EX69>IRh%EekucKXu-V)OX*pwsHa>z-b!}zyBlY zN*tN+-@i^FNBN*!>yU~Z9qwbL6d}odE+O|hbB_*3B^0@jC34NpHgguS=9+u%rD2$R zX0{o>_5J+|@Avz8-p}jxyq?!nrDwBj!=-qCJf|YJQWj@)+M;7};bDbR?kYwKh!L=l zgV8gFh=yI#$z}tjsV8OQ70y4K^gDJ|TVnK47ZF6+b|i5+FHn3`EpTcRZ!n!`vew1g zpr11gF%Ga>@vMD_Dgj^nHnmCumyw=shgOC{_a-I_*CI6WjOL6TQRCJRfz!z_)0Bj& zgOFh|oRJY3>{3}2fy1OUWA?yq$rgvwV&HICl$NYjkkLs`ieLQ?j+WAuDHr$5C}AVJ zN0d|7EX`9S_~jAeUz>2_H!3>FWoyB(+?JkL<~}GastGguYg&1WWRRj#*RWN;)pk3* zN}=*^$m($0=(NpJy0ZF27u3BBM_?4*(3zT}=K@&g)xy|xq4nF#=Vxby4TGugF{g0p z$Jw@<&)*=|IkFzGGfd`jNB04H=egXaGJ9+X?$)Z|QA?p->ud{F8SOoz@@=EkT_q() zxEVlYSO*tj7a8^NMAI`tnd}`_sFgKPx?s%6IBDWZXcbrLG$j9}a5>3ImS(^7s%7!q z_SUkPaFGON$0?`wa5bz%ve@j+WFVj6Gpgk7)n&UPjJn*{yjEW>d|HLso)}hkt`m^D z=ccCZ;n7Ai+!obu1%8}Gs%=3=YsOA4x7Pif$2dpYu=aTv^9RWl9nifOw~sJFk2V&` z++x=5qQ}hc27Q*<8M{NZW}lffzN;UNK)IR(%QdbG8QB%2i+XuF6u$>LHIB8mBmg(Y z#_$+2OyLV$$2UN3hY#rwiWOV6TR>a4U7$P+nXR4kt6irrX{?}u#{keN(>Lo)!Q|bB zl^nKXtm52MW0OMJ;E~=p?27;FTW7H-756=1Jg@OolBG`XJgHWwiEl9wQP0?3Ye@Mt z#_0=r?R6embg%leNBDYxMkLS?78)X(Y^F(Gdtdn4TT;3VGri|+Z6pC_H-F&XiBWmY zv&A3h##7Kk%=dGJe6a~sOt$2Gn|z0pKP(WJaJct{KRp)qu4H>^tqUIWzO0|&HAG7G z3tkD?hZN(yBenGVj8042lUmoa2Jr}f@^?*OioQYO{Re$5fVPa)5SDB$b?8d=Bgn_b z?AIEZk%Sl9!7I%*Rp7q{t;qV5RE^bK#3**l0$t0a+ye(3{>8VUgtv9 zPE!K&*7S4B8_(Ck?Udb`bvo8AB$Aa`d}2n~2Y=8`T3Gi~aSrM2yTI`YY`#=k!R${^ zInL3~-daq0CKjnL%9oVzcJ5q`&_kKj-|F+?t|9lcPeA=)y1OB#_G+KkmGHnvBfEZ< z%#RYO`F^zk{bSRO`0Vb6GO&}EXr#2z?81YQKF<;)O4{>CRU#W%1Wjux zYKz-SG3x!_r1x&@H^*|c?c?gp0&G#zA;_djdiuP$u?<`VTO(?(1o8pft>t~3kRq2c zsXx9iiW|@R5a~lIZhC#`XAlz5$TEx_Add_)qWVX*OzuG3@iD97^Bbw>ats#4&t*n0 z>8e&S_O@jx>}n%=sl|WfsS-_7Lav%h?+osf^ie`Mgy6+h>eGl}oKxp$F+3J=yyidz zf{#(YHU-ELNN&0iJVx}bO9&VA9wv`P0V%4Y&F{Y_WXGtRK-ba2>qc_2eS3|{Nz!u3FK!9gde@@%n!=0?Mu-?gc#*>fmQfabUe#}91K!^5;q zHk0sGwB^d9UfHmJSoXyTZJ#9NM=^)bDY(}rao-%tB_>hxZU^0xS%d;I&=6VtkqAIHimxzQiBdl8Nb`UX_f z$kD$04qW103f8}^wUtZ%CT@H#^k^)q)iQI-j!W#ZtTXP{ha8XzmQj?~der7DcXH`f z47}exq>ayR?LFq%glmRtO0KDX<>gWhNn7uWfY}X<^Dtr9+Z9M^BXi%7P7Xa+n2o}=5&QlDHO+jDJ~A2KJ&A3w^G!#}#zS0KjC_;~30 z5qv$6x}iEQd*49FP(%Ha0o)i$^%T{y)On&0&rPZBTg-Q(17ug4CgV&TL2llXn9PqI zkJZN_rjj{pR`zsbVm#y^3cMS`n~2}EtMnSf#SUC>KEbyRIvLULy$~^ymp-q_AYzdz zsP~qnyUCO@IOBj-WqVIsoaxziY4bG~YO{%>?{2GA=MC(tG^x9cwn7&a+9?AsRw10V z0-dBlqCa4izlEC<&Y(-FtgASesmCbqkx8l&^N!M#`W)m1b(ggzgurN2;ed?%q>5it zLuQ^^x-%S#{1{#c=huYr@P9PnR_n`Sfg*;u0Lm}-qd@%M=J(3$>A(Rmp)f%qmXRF) zpxKEqF`?c{_Sj!1WciCm@YRZGvFB~I8d19t#z_rJXsc4&3OnD@{lGsONz~~fA>(Gs z`F2X;w-s@YEM28A@JVLhzSfB)nFGSjephj%5OJqBZs^IW2j*XIJmf5?si+$t*U>!w zO}pW=P|X5(0k@@f$?@$%NIQoVFHZ;KuZ5XV6##tt@zpBX?yW8shLFH54%rg}T^-}^ ziiVyu!N{oJQQAU;{ki1v#O!bBBKkMx+amhuy*lTrt>Nz|Qj+*V2hcw?N4Nykfs?(7FwK zK{VsVz;MuC?}mY=<~!eP25|RHRh-Kq<+@-(AR>WT?)eHcbmF+te5S!YA|#Pb&~PjX!(si;W_@{CoKplngpI3(**czoGP;mIhb#n zooLC9yUTW&t^eq;Ga(@%$vxmoA?wFF`2S275__v82uLZcfFvi!{<+<3DLvX}VSXnG zc6*fd1)W9sxU`B#*rBxl@F=`<%!`DcE1r%0yxG0?DO?fBizO&QAu-eq!VRSQb#OEF=d=l}VEZyvHF znRs!2;orBCkm3GrW1`(y&%w*YYVx1x)YlK8{U$ir0<))o#i)!!Hi73 z6HwYaYXMXZ?Q2l8JO4!tx3}2KyR~dz)xJ;{K$?Q^xRs4kQqPYG1C5wLRqu&375+OG zeT2KCG?sC1q|=WWlrn9?v+=|pV=>mtZh5g!X>m0B1%bsZJX1jY!dGv-y2={_F4w-Q z2}}9;`845c0E%xeG#Fh*nW}1j?8nC;M;TqRHP*gpYYg$aUVNpx4Q%{Mn=NTjo6z4} zh`h5^qc7~5jQ{SK`(6oO`FwnGGeq)vc?eGo?^z+Nw0R8?I)3BV zsP8aw6d3p4Y}s@FTB?qYp~AN}y88+OPLJ6&yeY5-SM${i@uC?vuA zy73K1i#>bpMG&74|K)S(8iW*)mTlI5E4C<+V4kpXkV0~{SRZ$7S)759jE?6S$-@SA z4!i82fBlzl;JaF`gLcj8rZnQ7Si*42QGgEy+3YCzJEn!|$iHCzUuVNV2|0~jh)p7n z{fIz&?6j;krHJ*6(Ft9{>V+{HVTr=)sv-q4{#WxIPyZZJI0T3hZXa03z!oUU%~!oc zwXc^bVYQ{1N!|_A@cSh;>nipB=?%G?kyw;>a*c>|xVG98!Nl*1kd2giSCfsci{A-p z@K=&iv?^m{F-gX`?pZD=q<1;zv1nPEBe>QFy_ZILDDl<=^GRDiEH6O{M`j5pgG44Y zU76+km|sLH*i7vuoYc`~td%aFH2YGM&xG=&AHfAqOPq=JkMSJPYfw)icm4{#;#tom zMRs`LIahO|Dv@MbOMbyV_xZ3B7RU3~_s{t# zy4jn0Pb);3-u8Trn`~v3uk|#IbV0|Qg0tKR>vuxI#wkL*>j3ODgOp3{HgfN!%30S} zo?NQjZq6``55GOhKNrf3Ef3coC4vrutT%oq^JVzSMf)~yhPHz_tOP&_t>N*&IO7i1 z#@N?mxfQRJ&wM4?>D+yJg{wM#Qov}a+Qjh6tJCBl1JR}P=A&W+P~F<&uh;UsHOQ1TEFzLka zVR9wj%W9rm6yIxiH)1Z!3>a5DH(E!(;N96(5^hNBHy2#PxN`lSX%xTFxRulg2_xpQTmnSwG+ESZ4#qrv{ZzWjAq~}8C z7m0hyU=z|{F>GZuSqQ!|d#xP3wI6@{49CEcsj8Vz8VYUQlS};mhw^JvgHddXBK=Oz z9i{x5(&z+zH_zJVxUu64(lbG4tIODi=62~*3dwh$deAKCqCiVSURK#XxM;QqWG$-7 z49EPcv`W5sFF;vESMurN>k>Uiv*DWnEahM{Ru2(oVCMP>DG9K+ukgwg#;Wt=pM1Q-Qk)N6%M<_dnC2 zA|D=RhfudL$7dA9`4-s8Oe*-1qY=#a>Csm%bt;TQf(j@?fA=4HS;}~0&UUQ;ms%)h z3si<;!P?{hy?^bs+j{Q9hq4u=XJX&tOO#3OPi6F*z!G0p{Oq*=Zyd6ZhZETp-4rJx zw8^hP=4VBuujpCE){4bc*W``fJ{^#t)0n_~wyMgvvQ=u>a^&flQlyKqOk#yu$6_Ox z4Pvr6CmAh{Vl_t1RhuF$0MpioZSu`sC4TCySJB9J^`#W2+U45G}Jsg_wKRKXSIIg9S7Fl6OPxJj^PLjd7&p0gnYnBl% zEycbaJWOMMket!CIR^AAzcVY?XRe_#D^NIn7>lMKVI;EQpR+D!v-Xc2LcElo`Ol!C z$67oaQnBypjX21Wfq?+QXA0@P+7G=2J z7AQ-vpJ~A+UY4x7?O;4J&wPS0(JG$UGGI|{SxLaylv&Vi*Jn|Zog;0aWJFiOyYVb& zC;k_nOnGXC11kf-^!>P-N8xivg$9@Mi`Y+evO8i-crmUmw3Q=tL$Ho>sZKInkX*tR zXgxfI3G|~!_u$i|RA)e5wglEp%k07BiA!ZT`yb(l>DpJk{f;nX;+8s0&Z$X#D)&?2 zIg=NR=})lT?jnIMMR2^jQVpi0HSeND+?Fe+2`@9n%TNC6x}Sb(e)pwQiN#d%1grSk z3VuiV8Q}MV=j%8Y=B|?2f3~uh-1n}9vEfKeyNX(%e( zMSn_pQ4BCpn*XvAsau9o!|KR7e)kcI`Wun)ZTgA--;jATu)7E7sz>AwTJSwdF%)Lr z1}B!R5{f8QNz3zSr4?DAalqr3-MC?pYqD(RLCdn&5&=H-ajSu8eQ5lew<;@af9Qa8 zxC7?mSo+8A!ceL7a?g^cY>xi$(?$qw*!P6+^hs3k;3R{wQgLj5oNm*wF}>=mv8rnh z+c?-)_tYbdc7fKS@9I>3Ng3YjtHG=$4bjeMdqfG822O=4`|1xck-QC|N199bg+Zvw&5@BQ5ea42izxLpL_qk6pLnV2KBVh5dJHU#0xbS!LyW(!7kyzq z$z*FFDN3QeKsh|&b71|}O)U(=ZO2OYFX_smVJE@6amLRJxvz-{&Bl;`i2_!<>wt*Y z+8$*IO+0UL!`=Hs%$Ga^uDqW%6srH>wKfeSr0+)73vVNNZ>>uPPGD2ftv{<3f5L5{ z+T8sjExTxm+$0Sk&-E0v3^94O^t;5M@ zljD_3@Wxnfs`v7`&&dLYI6V3v6IptYdS`F@o?HHXOa_U1C)0G;61YL=1NTcx)>vqV`XJtz!#s}s_qUzOgiHjMwU2L?RK>UC-u zlLnJ$SCjh?6-`BD#O^9g{gu#&C~eHT=+*{}bS1Y~b&9e0Vb3dc+GAiM^?YmQjcc?j zA+adFsapTLTXmn3t~l@_@*CTJ-rFI$X~UwR862+`M$N>6@gJZp+1ZP(5dT;Ky5F5$ z;(1@6^N9zq9ZkHaT`O9BJyvZ@Rd|$Y(iq<>;5}@~hx>iu*DI7=gv2)xD}``_jN563 z(*C$LS86`1{I{2_#%+R+gEfC}xYaiZ+kgv86CxMPk63WAV_z<|Zec^eA>$-8^+#<) z3-+jTn>`jJn;iY+qCnuG%kb7O+IXRNJ&w<*K_fJQ-znv0boWaQu0dVPj|SA9Ul26e zCJgh*>Tga7ehEV+^6pYoN-bNv#HCI}e<|!^&Nrz)Qvdn{ zc^;FTqXKWYRq49K+r=}e0xZ0U=6{zWcEnITW&MJH&o{*h>ZQ>wY0~4Job!;=()Hzd zr!jDzgP;=Auzi0I8o^6m%UBIl011{gCS--DB+M)(Wjlw@xymB&HO@>GNBJSo{54#g ze*a01=b3V4Y#MQp9DjZcHS6g%9q&feW?Q55A5Z`Ai6SYD`kg-=h2(!*1 zkzG;qWC)dh+48$=B4Ii&dP&agX|_T3_7doz(jji?QB`@6?5KK@HtS0{$fE>&qTi*u z4ampdE&K13bpr82P;;BCCLbASOO0?wEc?CQdXJR$ZiF;ZFTs_0=Zb&9uHuX*&Ev*q ztX+JzZOrFHFFzE64<$rZ8eXIZMd%fma3Aol6&`n# zl&bh8_e;t#pFi=wYGwt?VTsZnhXSKRRiX_~D)_M)VFL5M->8l0QkK=$Z-mr~#FwA-D-0ZHn zj+(2gdiparw_v}q2WKB)Ra}3P{8CZj!`syM)%5nHa5y5QvmnwU({UE^7_?_lVnr9rvuqZo`x`gR|6q zC#&-X9LEqdDi4qBKQni6Xp@e=OQlDk1)$;oeM9|>S+b2fm~vj*>O_|Nb~HekfAj>r z6AnH$GxnU`bfSaF$mx&+%5h$f>Z8-V#g$WfFx$qa?DnOiH|GBuYu9U^TIu{QDl78# zl8`8CPTDdI^?tPlkv$-jk9DPXKh$$5Z=gS1fJChkjN8Z~aR#YQ|Y7f=8=8c{q z#Nn@486zGO`Va*6s5M-s7<$UKKl5hU;}%W+xtxi4@pA}Ry;7Tgm)QNV6iwj7ll;mQ zRsP1*sQkzzQh#(AZ9K18uiwZduldqcP)Q-~&0iguFA*0knk=#cb(DHIBw)w6tOPp9 ziDRATN+mTm+6Buf79AK!Nw8Npb6w!->g-*k@Rw&@9KF6&`mdt6axU-6UEgoeCX!7) zf8<8|Ex4?!8*%mlbC)H2bVu4(IP1!Twg@Oz=a;nX07#1kjF{Q*H0Vw=hj~6yXp^UD zGs^27*J>VNQkPn|2iXUUpW?9zIMPs>g% z2fV}fyk{?tqn6{b1(_2m@cnb>)7tp?#SGWYYL3_3~?a=wR^mg*I`X;TIoL80p zD07KG$N}(&OLY*yDI2Gr4^AmwO}%?&3;v@2G1r(84NsXh9&wHufA2rg5=ln>L@qo@ zK2n@t8uf(qBNZc+OT$LiZdw^7a#6m$F;0<;=K?FLJ&M$B-(te35#u3pdmKtPCf4D_ zRQ+dhQZApoN2i-GamulqDYQ;*chg-pl*}vPsJsVeC0gnyHBRF?iE^ASbzmPSr4UsV zWAXT9{ZsN`v(%cjwv2gI&&Zn-NfTm*2jFed0-xh`5xmFOz)< z8FOS*p(;ichh78Fm%D6?j~V$pvSZ;l*(;*Y5>|F=`ovmYJ>92~!I*uNmzn@zL}qq& z-k#P}^gIzZ>6=wLTn)Y6q0RLRMu@NBopf~yiIQh3hSuB9W=NUAy?K4 z|Ef-*OqlZjrQ`86+jf0bTjqPuLN)uWyi1<&jc(4->&rBeQR(&S=m^$csI3+$MjfY% ztO&eOb5=cv#}q8z;j|DzM|63IX+t|h$J5_??>j+4reBtnqPFZ9cm`saYQ=(BmaYmz z*4{;Ls(iHekm+IF5W^0+nz%jyTChsj5sngc8};Sg;5+ZQr;Tbm0yUKLcs>t=5uze@ z)I6yag&!+w-x4&!RwM7LKys8HwC=y2XlE21+xZy}%CQxrQG;8Y7KKUPW-yJnA}_0c z(d2U|=TxftTO%3G6ICHici3!bao7ZFEzg1))WEQtV(uvYOT zCRYc&U|sSRy?Lfo-!{Q`w&0knDeouUp|s_T<%whn^TyzYY@$ibH8`3KP(?&pn3~0-(VXmxP4f^_ZiCvuFy&|Hy^`W zPXO%J3ueiQ-K$yg{|{S($-a?Hp8gX>#95HdRHv#)Ti8Gi!|J`*K1v2 z)0@0&XxLh;G0{|-48%dXMFCR;t!;L#`V*+2K+_6meRMC!#Ve%%DVVBLy~4zXFf`A6@Ifiw=VWxt;!cW*X$+d4F; z7bXZ*X@8M5^Rx9)k4|>TkK}pnlK*z{mZ4d`O9Ubs`q1J;mx~fwpH}>Kw(yd@*(a;@ zx=)%TV??93e=e=wPv)@NhE8mPQt-n5i4eE)w*z-J6P)z$-bt^6ZUHXobG{ZB5w#cc zm8SR%f#<8fG_(el575AZvYl}9Z>DE;*y*jsSB=E8)W&_9pAlT_OksqkWQUZVaoJFh ze=MG{QS>ee?NnzmbNp|V$})S(yK#%D;LEo)HA=)&vg~kku9@{l3ZO3_4eWGk6%0cH zSSiIRD4S;Lze<$%2rycUGf#&hpM__=C3qD>Lj}#(ic5dMAS|#-zoS7#(+q^I>gLMc z&|v!e*rA&vj-+_15T5b`Q@WSSaLi{nO>3msQu_W!u+*Ov&?n^v0oDp^|E2ZAdLLsg zb;j)%P^<>`4cUKpVMuvSntjIJ@iU2J$A;iP-I2t*g|*@0lMU-}PrqlM1mFB&^w!n{ zCnR%9=&}osAK*pTg&M`PvV937sBacWoE`V^&VZP{W3INLFrNi&E`K=Yc4-LByM5Sc zNA9;SiW@KJMd2{@*oD7&0$=>CH`%WFQKP?tFR^pX%eZLT?m}3Ta%MI*@ajd=V_3>BC-#)3|3K(-0Kqv(LJ3{;L zhm3m}Vk_(zx#XC)8@pcZIQo~ZG9?^7xJ~RuLprB?hz@owniK}f+Z+~dR8h5_NG*?= zwQoHrxsm&D3I)`h&u27;BcryR0(Js4UT-b3VJwmju4)b4X7VOQS-$O~7-miX$}Ru7 zcCmt|&a}R%qZ~i(RBF8E8RWNVyoYvQ-#EG+ML30f&GnBtDJepvjNJ0Z*qy{!R~O0V zK=jUc+!}q;RKm0Mkz4r+7x9+`$nuMRDF|m{Xyd97O{ zD3olAAy*GtK8tg*9PJpDapbBXQEyr2k8575q_;$* zRIVtm&_YrkiM~uCSQNtexxm*}L?06X4#kUl$rx$#nJ$9cAA&EOG+<>*w{ExU-Lt9W zX(w(yhQp#vEbmmy*m)AA%e3)%g-0c3M%Wk()kV{17ph#J>>)dUXj!(!8u%bFnso=b zxb#(cmNbbrbiQmY9-)M;r@p%(HZ^Z#(nk9p*BZS-S+C*WU064U8pg^YZUkRsr25hy zT641>dbzKUJgN3SgZ>yEmAoi__jUn}A1}}XGciN>-nV)BI@O595Mvti>LBd33^a5h|_30Wp_W1?(;kN_|%oG={c?4XyUMA(}<>TdyY}7Eo3e895S;IGgO4} zV(rU39;#L>kpT(QWZ0p$=pxS-8pgVejvE-6eLec`)i*VDDLkV2aI0;mwd zskVKi;bS}OSOBmE9Yy#koRS(w1h?rr!v?(5PR?gr5mo{pGBDWQ zd^%amHzMy4dMtpQcmNt)*NYMVRYi8*xpDICGHna#Ws$nt%5VOhM3a-|JyGYsC%k;% zS@Di36L_KI{zGg>?+#>aa##Y+tw9VK78ph)z&<`28e34B3pt0%SXHfa;?GB!=@?@d zl_~`lmUEUAOAU9z*i`G5}}JRaBhq!uiM^X%J* zJY1k&UQrFCMjT8C++5ys>DIoImo%RLBbtRcWFP+(2_>^k^p?``rKKV^Lu(AzY`x{g z+zqW)fGK?qQaNSVr2ld(+jTe3vl!a4nAleOX;xyxJt_416e?<_>5&LC_Ri0ozfqvw zbuStP(DyLvk=57=xG!d@GM8EXz3gixo3YKE@mJE8&WpfnxUBtcd>%QyE$l16u6kbn zX-xlz+j2`E2Ah*A;oJtv9MpfKA==}bH+ODN&e(T>o7s! zqlKK<$0W`F@I;wf^4Nw({hC6u7*|pE(YgKa*c!u$#K9EjVJ9}v%T7dD-t30aEV6aI zeR^VrI=fCfEW{pXz)QP(Q)J9u>$1r*<|1?Df3Fxd(>m?`SNct3w)4x1*5F0|{U<3Z zGC4&nv*sQ?IRm?G@KwP6v7ro{_TfN!Ls^D)fW2%QnqdcK&;7FY74&TFUPaRR+bq>x z{YGr4tXp9_%f)Qnlb7qx;hFX3{j$?ZaqPT)BNl@p9uin=CD}Pb4&s!&YOqR-34|}_ zpPuY&yOMdT&61x9XYRNAj|dK$t@1v`<_(E>f27O>6t&873h#N7=1p=szW0gYp zAT=z_Db1yisXufBB)!#*W#$t$ZZE6#;(zRd^FCrr5Ge04kLeP{>9QZ;w~AxbMM9Yy z-5DK-0^I8o;T35$Wi8_rRw-D#%L?3aFFVT$W%#Nk0tM$6aC!}TPb588eQ3QejjiulU;GxLr`k##Ia_&VU&t2#RYD)ou|i8N721I7lD6&Z$F7F3(baFC z_=}8DAiXbOxdkL^|F5-PARtjdq5N_R_}4X~5GN|_+yFR$f4wg7{y7E zo?}kBJrk$DTLltp_neUjNm$k=5jw-JBX&`Kt|R$6pjCnN06lEL`jnc}gO6P^JKFI_4?ySv@*Q0~V;y$fqi)>Wg3rTozyZ6fXNYAuz_Xcv zsC%Od-nP34Trv940G8a6bXZ%z@OfkJYdMf&v3wNYI0JPYG9nJ5w60|Ei#Siyhv4;y z6CCy3oXb@Q*|>zZ4VC@Fa67kko31v-6pU@I(a*NZBi-VftCd;*CO>W1;d~gL|EA}g z;^+^nK!J=CZTW~MY&**TSJ;cMCC7dtH+2JX2cPk-JuRZOExSR|Ij`kk-hUSUUenFsai9(BGw&EVY@- zw)zPpcJ5Fz^Wg28`*xV~qd@&_tB~gMp!9CK($TRUx3l$pU@A(FY)eHi9t{*JL@f-q z?c2xm4?a2~T`_glE@XX73lq_>Ic>hQ=1rq4UgEf`f_}VXs{qw^IH-uyI3QdUiDwqdm{#Zb|)^_@Cq<rQiySy*4Lh6c+l!K}?*XhqH8w?XYQsFn^M%V{!$LD54|o#33zM+D_%LD6tgN*|DcKT~%?N#ri<^CzbFmE; z*dJI@4!h1-5Sikf9oBX*S%BVsx7M7-S-|h=BwykYn zbMF+X%Qc|4DN5wp6JY)%F}4M#XUKY5Qidfn$d@)j5@pu)qYt12d*yP%+FbgC9G3$;Wexg%f@6wQK$>Ir;8j+($=yZMs6k7#DJ}eme@4gk6KYXrqfM#p1_of8J`61!5;ck zvOW1ngWlrLva$VVCzq8g0_2nK*9vH7^26_k3nmo|DFc1*FjR!r&SdB&X*fgbf-odk z>SEo46maIrKL>?OKebj|$-rdvl~emv5+I2*7)^`8bO#qP;o*m0NTW*Mfpv^Jsi9dC zL8{=WMLdrPKof5##7G5h9a-i<^=}CRcUZNv&Mq%88CSfNppr%qn@#U2SNp>ztPR)M0W*2qdKoJ`*S@EKTe<%?nSuL^?9*R=RM=NQ>hTUbF@@V!9?&=iWsrhl4L zxCfIQBJC%u2Lz!16564}+cxrCJ4u0<7V9&oj z;A`kV8A~DecofWeF#pX6r}G?jf%eo}#=YA1s&*LB+e|+Q?0P;Hebm#@3~v4Tgy&2u08{*@U8ZUNhCY*;fJJ{V?p6bc0(-hAb0vxVDy>EAW{^q=i#-N@n#FowT}GKet5QP$6+i3E4`2HauuRCA-VN?}Cjl&@}q)g5U4dF_>7 zDk+-8-b(1lET0_73AtI8+9!O1*G8D3>-*9ZZIo>~8OshgU8oK0sTYMSd z;JqDYpP=ADz~;DsH)ybF@rwu2?7?y(Ec^7eldPg$;Bw>xmSoh}Tp0AnIv|1AM{uhB zH?f1=l|U6Ey?1h!*N-nm9Ngajj8yEiJv3(4{FC3bdws?1W3D z3mDL`sBJkO&X&0Z|E$Tba$!3MqhK$T9ks(t+uTR{dbW^@xrx9y&ufU{jv`fUgB_;?KY^m^X@qnOM~$;d5>pN^*#6DA*><{B1IWv!!xZQo2u zt)9j$KSld!6uo4IhIkHD-;OSwATHZ|#}wZ0Y#;CGaz~ri?%IY zzTo{Zf+R@Vv5~#SYHAxJwD_ouBD9$Q?q)fm)yG;MvY`;gEw|^LW9qa`%k1`#qbHwh zTwKFCO@*7PZKNoO`RZK*!PYySM|Y(&c_dC1gJJ8y^Qg%WKIwV0&z~pPU@mBArAN9S zf%azbCmisu}5`R48=w`feYl-J)$S0M@S1Yx(br)pU#fD}gq zvNBHY0YDrPboobZ=<1qr-8x;o!Q}?~F8=rO2mW1z?y1A>AANB>>LtqRBb5A#5{`ji ze@ra7UGLe8win$iAmE%&do*F)yq}GhqXdt6C|Q`a!S4=OCR{z^_zdfn{QOpIflP!P zM#jS-!jDYqiOX@H_UdRLig#|B9XgbJ8nS%N{Hks(YmZC8B~Yk;J=>@5?8~7{DjnCC z#Uult-$)Iu`&RY2{_j*A>gEoWBscWAmLHxV`u6kWQ_W1<(p=jD()7|@e6**s*JU`8 zW}E0aPGH5tF;n(@O!0F zXl+b~a6V?q8@<_UyD$kmRCZ6XrA;U5?3k0rv-Tzo#E^m=BF))>@JjrM`pa(} zE`Skw+Pr?qOLIF<$b$PvO^BQDTa0E{>a7Q6Lc?eX1v+V^ubCb{yWoQ$5(jIee^3IESf3nj^;p+ZX^ewCQV z4L{6n(}^k7{{!ex*GF!|_c%3q3))07L(hILPiIlS1uJU- z=EPrCP>AR>XDxpd@TC>RxBeu++b>fI_#6|J;CWwP3MI*1{^P;TK19u~cerK#C`HDz zmV3q@-{%xXRFE^$pvAF`4hsN`AoQ+CD>NT7_Tb!V18%n#H4RMoCno#52|9e@L|W6d zWA5m#6Jqf3+MNAtg4sJl@Hm?TgIMKFVet@=r1>q4bdRsTK_@lw5mjNM-m*avsXpb*Jt1|6(L#@eK#*x!F6_ zgU+rU)yj0Q`&6)DdWW!7Aw>D04CT3^b0=HNx6a!c$b71NUPo9pcFm=uJ5FuF=QHmw z;LH1W)kAX=n1Hy#lzVjKvh?9bK(92976#{v5t{v;bTi6G8&>o(pu0N)T7nI&re7Gj z;LQlxuAhaKy#f#-zQ*Na)~tn)S*s97&6I={mYKW))IRG@{TTj9gJyyhKBpCFm*Ls7 zwujMCm3%Te-&84$@1Snf(3{7^9nK+39X@;`R2KbqP9pi9-cW*2z9b9+4i%+m7JqpT z)l=wIcH;0pbCJf~(RAQuoX347kyn~~>4%Sl4zXY!Ta579rumW>uZ0wd5lj2s3EN|9 z?m(=c{SFH2>IBi4Im?Hy53TK3e>mrdn6q`&PM&2)XV8oaz^B}#dXZOwG4RM)tLL4p zS#W$sYmmwr&2tHkCKCTi-l%3cfGK_(8$gX#t|Aj-pc?mJn?Y~V;oCS1C)|u>GqiRw zba;;bdoKj=g4888^r*5=^&xD{82a$Tpxyt(l*(SMG*1kcK1oZo1esdo+S2yl z2Www;OXtA_`|MJ1_t+tJ=Pfsz(0(SjW~-V$XT3iWoz}NSs{JrJxkBkWykT1Q^-Ag4 z^i^7*M(eHdXtq{$!h46kh~NPFP)oYzuevxqVYIiX{7oV-eZx2sIT1AEM3pOtCP#L! zzid0{xn|+>FBHNK5HqeYPf|pKjIZVU13+YMU<`{G^`N}T`fI}GzNI#6Ao~QHW7>XB z%G==^CB0_@^X)yjT>8OgxESw}{Q_D`^@}-*I$~=@Yj*ix5UKLA+X_i06;1a)U7Nru zb2%Ah>cpmvebX_n(I0h}{1uC+Nx?YjWh28?^p`TCJ1(VGHQ)n!v6n3Z5nFrykZIjB zmc9K+h+S7~`@)u_*LL&x4kFA4G9Wv#^+A31+hR*)YKwO4C7$goToYG~*$Q9O%cOgd z2C2WH{2MjcY2z_RSb3xUd_Md=sZ`OUQifTrM9I#h?1sj0+U%8Sh1NcVzj=QT?kc^V)ydd2iT6JQxx#wv5 zp;8hK_&}1?x{>AyP=^|Lh#>6`XE)Lwwbp${W?7xWJD``TuO*^d8X$vBXGeS@JHoqE zKK3@=x#v&a*3srMLVlG5beyfUjb|#ogMZS2tj@Src1h4d%-`vgxdHXJkiSbf9C0m_lfUaL^#H)< z5)y7}F*ABqGDS9i|F*}8e*`SYpZb4)e`MdfK>hp7XF_sHsXtxzR+OC~Kj24=N>9FZ z)OyKk;19UMbHqsL*Xer={K7r>J^p+7P8xucNzG`ZwsHjGNYRLyse!Wc=W||US|Zz+ zL?_tfqMOO>G{r|Ufji)$By6-(>Z;u`qBlYPsuJazd-Hjmu2Qv-Sk;j;LaGMpoT*MG zRs57My_iCgrc$oW_-;ssy}|@;PAk=K8fYmc@f&_I@N^4N@9#LKVgM7!jKn^a#(K6( zaDThMxC2SO!uN63K@*<>FpSV|jmq9(;Bh0prGQy>M-AS8f<&tL0U9?~uKpHuna`oW$NeQ!x%yH75tTl3oJS!>>!u zoHauq^4|HQWDxQ1JWcfUfCr?vR`_Lqv2XBw?y@0FCIysJBkYtY}3-wP4$$MU$jr< ziCbE`IAl&?GkBDWW1LCSW{<@XGgxryF5w%_`*bx_l?;;|Q97H1&^yL9vRlb8Y?jtB zZvvkDKd!zzp6c(9UqeFZQyG~pDncnE<6g8VH0*f^*?W)cYM^9P5@lRP*{%`Syf+k? z*NAK1baCyA>l%0d-dFnmevjWj_x;bg=Y8I4M}M zUBUz0#aGq@mpZ@vi0GVpDO#l`)QRo1YCV=DFgoI7e;$(r8?&&a7tPZtl3Yz&9ZPc| z7YNl$7-oT=*37_hY;!>4QnY#=C zuJoi6=S{nW~>2Nw`$Q*CiiQXD8EG9)yfAHuMsuH2JX0iDtvi?;h?#g%MCy(jm~?Jn5ubw#$m2>UL3J5%ZP7w1>L)?8%lL~SqDS9-%*$|B z*&o6X3O6n}kG5QuExH9ZmxyS&I3z40?NnTR91Z8_rM~hmq6}0WN|R{{?6|td-*wVi zmY}iTbeRI8c&F-@^Ai0}j~; z#sX+>VN;Za+(ox1ZcG{lP6ug$t4oQ?cWFgdep-5W!e4=CJ#-)AQtqLVgU7ACBc?6E z7g6_fmP#2Dx8NC;nhT!(-uz$nWBOB2lN$KnVN5I|c`#rgGiT?fZ&7%Aw& z%9>DzbtWVcH}sA6&N zB;?S|crKxV!6fMO{Hx;h`c$E>?-I`{3pyBoix7#*@e?MPh?T2)BBg37ueB9!(Zk3m z0xnwR#C)DP#}m*Tp?~%AmzkD5#*Lx`t@1rD3%pJ5zQ1sx+f(zL*V*UPSL>8CcT8N2 z1P=0SJf6@Bfk|~EKzE}+UuvgJyJDWX)#y>^mG-U)g@@?2@9};2*T>IxxYgHX5IlCVL9!>|k4DJ%I_UM$hDUxq< z`e_vhoMw7CDnYJ#Je(QUk~~A=x()rUe%G^PLNXtPgcAREsFh9M1ys+eYGDY-Fh^lQ2O~W|u_LSq20LMkQDho-E&= z)!;>C(D%JI^?a@_1VuwlI~fs`wN#2?SqYGy-g4#wY;k04uU}UeP$xZzG1Z+ z$&~U-Da!dEFuR~<;nATc z4EW7qDi9V13oZ7+nTb~?Qa>j2>XdUBCJdXdQ}xfDthF$)bvEYMUp6UZU+UhUeK~1C zUVWZm;|1=t3Ux?|g|$_gMtt#y(^jf^MqihDq*>i%G%TxdDF$lbCPM*d285Y!#;(ud zm4;gp-@Be!L!E>tvy$RKAK&PCeqU)U#y5>-_hN02{jPmCeG4&uq%H^?lF03C{d=LM zI`0HFp4iP-S^aK}lbY=H#-!$I!_*8(WW*&5eX!)tw@SWBto2Fk53t}S=n|T(p>Szb z5&Qmk*Zt>=cQ-Cv{r$w7>{OJT;G4XLVf@L5pwM+^p+@Sy#@?!O*Ms(KW|tgkh&ntT zS2b6~f-+K{z+P+Z|7dXHHN&qZf-f0>*;qmxLzW04!vS}<7%A%?DLSL!E!Jo+Q-ruEN%1y0R@Odo%{y`T0c`nk)pZ^L_1~ z`9@&odIgS-_86jMn10GuOh~7ni922A*eL4Drp+v%qX7@veMS!adz@qAR%CFj5om{*+YXY z05H8#G1-cggUzI4~>pgpKgoco~X~{nDSw>k%IOC-Q z$mEvDWTZ<7)CEY)O*U!pEll9Pi8H$wynMk>WmpkF08>{_?T_fT7x(-9PRUG)7GjDQ zo!oAm#e88|EM3BGaCpa4;65C9>tv|qScuO_$_U=D8#7DPYvzYgY3*b;y!;i6tg%)w zFW_e~XGP*Bf~PAFN54OO#L2FrSIb-+L}gPr(0l4qj*Q-+xc+YzQ86Y_p`SL*pJm!5!7p}S^gnV%l?O>Pp`i#zo-|Rje zF@=_Z@`{U!+%#^9z-U*m)5*U_^gKm%HnX*D-THe*VnabZ&*Sgg_t>AunFTfI*+B9< z(o|3@nQdMBqB3u3Y}#f1q5aT)B+|XK6{6^Ma$UCd)22i>f|;0n`1Z^1aQf-iL1Q1j z9~=Wo+XjVA@f35gz~&op3h)b4Fr=oowJbtHE(&j!)xJJWS6^`Z@s+WC%g;*0WBusI z2g%$RuK-(v4K>l8!1sj{#2w1oFRbzG?_VKUPYtSrfoR^$K{RWQFx5Qq7$<2tnKuU? zTz0u9JaWq^ks67mGFL`CYwq1TA`@}LINGVPpyaJQUy+XX#@Eo=o;`UmG#9n`!ylys>8nBm_6(tp zR{J6KVc(CK*DnaBiIMw>&qV8tosTzUn8O&f5DWn(s;zg@7IY5wbp&rNaouLTC zZDg820mw)dK86MWb$QN(Xrog^dDp)AGj{pRVMNlp2IXq6-z(ZJ^j)xPl3S~n(?wz8 zQ#?LcVl>C#{y;Me3N=z9^pyX(2!?xDtSt z*$}N>l3(BvUmhE$Wuj63{OkG(80dp3duH?dX42#=6JK*L-)l_&$)gP8xkr;b0q7r5 zvsgyI*Bz{-1UsQs#s+Gzun|~oAhL5=a^?bvJ>4=ZFR7}>-IyA`a5qr~`olD-AfU{x zsk$x5deXfDXKa=R)F>WmukITGL#8H!*Cxulkl!yVsAtCA_=9R*C~qa36?;jPSbV($ z`022>C42M=8c3R;@Xw9YXX2{faAZrRCvMfv+8^9g?nTJxO1_Ub`50~;{Gr<;9i#mP z108#(Uy`jYkv)3?`_|qF-(Ji1TxUr%$6l}1P$!h}-Amc(&gw{sMq<)YQ=1prusC7y z_^0b@&!m=U&6T!i8Vm*k|B&Bg)~WDq%lrya+!i(Km0j}VTfDcN*dpTTpO;QJPq2>9 zn!_-=nUkrXCjUWUOk9;d=6FHd1I5Z4-?W`ysT_?8DsoQ;)YvznA2m(Nh%V z7dv2?&#hIMsOvuIk(-G0z0mS&e>fmj*=ux-12z~AXvfG8NK;Jn(mdmHMBIa;e?W`S zw)zyyRDoJ}DSZBt&IlJS2YiQNwiGxJaseWGZB)TFdA)wnW}mrErcvYFG;Y|Us*2JZ zlU!`q<_kZ^se94oe&J`-n(=L$z1Rjj+6P)hIz3!eTm)Q#B97o!gXpL>tWUW$I$n%U zJ$D8XhM>|*t&kcGs9fk=n$A4pr4)!M<tD6}YOZ42PA}7033b8}lSv*)A7!2dM^+ z)nP!`x!Z&i*Se@}y5!d7vM$~OP;(nwLN+GwVNG;RwV!EcB2D8pWczD6mM(4rPwPlC zf-BEXoVyMN!2Miaa`z&Ed|UiH$!@sIlfSpNL9F%ZD{DaV~~wxI{Tl943e(5rQny`lXDjO&SFp88la~E)IE2kTpWU4 zPTBHsmW1&5QL+rd}o`ew6wxNFUc3)SftFue>pJ zl|LVjU#~p}lSiC?ec`+Ez$?@Bq4@k|NV(5Ut22Onl)M?6t`6DW4pKfp0|Oo7;GAP1QngFsUA{K3!&Mhp^yrm%x(TQPlXkXAQ_vj%G3{MKp?$b{<(9N zE-4Kohn*^Jf9#u_9YJjiGD33^tIEuo#NKv#+=#o~GDxsv#pzSp(<)EY?48KvYQMR6 zr9;dgkR+5scF!2?CnoONI?1=OPm7N!DlJ|k?VJEDl@Ef=+bg)2sfLq)gey~KC-SE> zP|rddgZr?M2om@>_5yUh!phTML%`^;cejVE4@8~pk=tjVjl~J%AHbrlYZ&J9PaA~3 z4ZEJ3$HD6{Ic_csOIz&=Ir_-=N1lzi<{=UrQ}gW}`i8seg)9UV67VuY51z#$W%!Q3`S(pUmflC!Mf#ZT_XgOHSvC3lJ)3&BiLE z96op3A0jsD5VC9<{&7W#*GUTc%Tf(bJ#KHYAIwk^w z@ciWc@lQOF1{wx{!P?5bl@$(ug6mrT0`?lLJ`AOv1xqz^RE$^q907882DJSxkjj_}vt#u;O^XGt%GW+W{4mj_q<9SD%4=+K_J(eXoL@=BxDxMj<}saXyjQFs>@u zbn}m)-yw&`f)ds&4ie5EZ=EVQXuSQvPgak!+p)bY%I(ysO@NKQ%9nM~)OK2o&!~Ue zsk3lpjh0W3I`yFp@b;K|TY=wFm{Wd90MU=gF;@9o+h6dDyx*(ky~aVJB{%2_COx&} z9xqbW0ye3-9; zA34K~qtzIu73SaL(1fND^ezl0@rr`WvKdZ`==2mm%9Wd_NdPD0xp`0z#Q;uZWw zA6jspCRw&0+G7H}D_L~MqA&$fLZ2hM8wp9Be^YKT=B?>PFtXZJP6`pT; z{OWi|{6wffge2>;M;Q^W<;bbTw`yp-dY4mc!E8+4-&lDvASB@oPb_pH6zp`PMlAn* z+NrcVo0(Gw_QNiiG}Wy5Nw$H`w!T(3F-aiE66l~Czw}Q@@s#$HoZS-4|L|~r>P|lY z2SqN^r&?zqyg}c;ZfrBB{Fq56qJKN_Xz+DxjDPivnc3$om?Kg7waT~OYG_fqo9ewU z5<&3~aNrNLY=27Lk}k|#0qct+L9c!-wO*4f z?e*exdqL%Z9y~6-S*P$O?&@~K*vyoMPiI6?3*Yw-?iYMS7_U0CzMq^2V5YO9U zz@+-BHbTSa4SzEW>o1+K=|38!9908WAQDp7?K8t`ec-tq&u#=uI7; z>2m)U+!QPC*%6OTpN1I`90}X{xN$HjV&yvqz%azlRq{dWu1q%`sge)k$1h**`R?TJ z^jx_#(#uT$JDog zI8gB7{hBpd+&K?c0-^?EVz5u_<&3BFmw>Pet6-ELi3bo+Y$Gg4%uzA=(@x-9>eh(p z&4us{Ax1|*Kp`~vow`73s*lCd3cSxj)8{(EO+Re=ef|)Or6}a;5R8cue<~nPB?Z_Qe4Qd!y5v zqr4$dbC+cdcB@YDQ-XhcL^`#KB>`gyt2r7@S|zl~=}HC% zcNQq;iyWg-<3L`j?j|2Ap6hN}29;D0NSN!P*RBD*?jwnqr>Ya-32|rz8YZ;p)5I*; z@Dr#)YNGTN`y@k%?4)cX&$xM@f0n>RQ@udadA=Tnk#oAO(C+H*P)Lv`B!?gvAsOXsh zTKpk79rW5`@D+v?=4sk!1B{lw7{4)2c6Gou(UxOifivKk`et63_}y|kklC}q^9%*` zz@dCb(zt=H8%Y6u*8H<|Xjhsd_Tsql2ej|CsS3(US0s!I?0y^)-{B62lWnGx{Occ0ExM*T2nS#&rWhH z&V^ki7Xigdyp^EdVtQn%-pSJ|R<{Wq!Yg%Il1^MfSQNWgJyK5+oaGw2uxc=o;#GHu zuUH@VL0tlZXl~Q>&J#zdEl<^4utwDD>Oa^H@4W2R^3ew9c7}7Z-;gHHF{Z-kLJNs^ zh@%{<3e!U}kE@LmHzuj7b_xE@R-7Ro0Wqg4?e(AjQJqu&j8_dot-WsbgQGy{g)0z6 z`zr%?8hkHnZBQtezT?-#_PDlA{3b9l^~}Tvk9jY=;_kIJL#`@j69LR~na8!CsucznIIwHL8=j`RP zkPU~5$F+Q&kec&rUYYQ49Nfz`6iB1p^n}`OI@xQnQyu`FO-dHawU?#fNGREq>%%1> z`teZwHijGEmW%THXH$n^bQ~Qv<%VKt9BI1N+v_N9)AH+r$7K!K`yKE!TDnPv$x)1u zzsPDnB;441(vnlzei{M$c}(@imA2}BkJ(=jDveWWbMC*v_u~6Tv80)o8T~rAGxqu2 zpY@x~ppU{MGubO@omJ{(7IDuf-iqgv{W6#?pJpZ;riWHF=4ljHCq*0Bz9;C20zbE0 zLRnjwQJqg(qAagUCe~kKfIh7(yagR`PoE=EJd#ZolKrF}@G$#*VxQ|R{Ct)7h|s3b zQ;B_n;!RS%y@A@AFb6Rum^Dt*%vDo{{N5}zs|9DlytX@u_I$aruvK8Bs|uuINU5k7{4tJovYdOs3&=kC(I0XdMM(;y@vhizv1yKj;}nu;fU0}9y4(>p&21AlR_O&> z3bJ{Hs#%%Flrpy8T%|O1Jmk1l9y_r?MZcLRMOTCSJyBb4L?w9l0~?YmxYxgPF_At8 zmSaxiwh=ic->QY>9~nh_*;namWghKwvR?l*>O=iqx>b@UcIsJZ*GxFGETEP*c;R%* zm7#>ouQ|qb-NF_q#!omJC#d98md#%M%9Oj!$Ui_CIG8A#9?)W#t z)Udi)<@813eC4TA1IhgZ@!X2Xt4hMLk3+^QRhH_1oW7ql*}Ub;(H3BuEu2ueXUPB1 zc53Ha!u3C?UF&y^htN2?i1ExT-88>ccnp^YG1=p+{CkQGtc0Bz_w9v6CIBiQSJ2p+_Qj|i^t)%J`ZXj%}r^-IZgSRf#njUlAXho;Bg*AuI z;efGr5&c&OND7>;boHT&Uyg1XcI&QHY}Gs`@(_??2179t*{M^r{cay;(r>GSS5==A z<@G2W6As}K33L^*E8$DMRJ&XDIgHDHtujiU9k9DI$~6;`HPQ6c_)w5&4CSg&q|If{m@5Bl{&_&{V%2&vJUpqeQHpXVcTL%^a^o z#iJ?R&4VDKOwdyRu+h&mk&&RY;}N}aLi5(?i20ZZ|0B}E{6}sp?oXVwE7BXBEW~hf zXYbWAzHgN(wD+aXkZ;vC;WHmf_5b5{j^%CW_Z~F8l4dqzmGI+Ca<5C4 z%Ntv8!sxGw!}s3e&f+)lFHXYjVpq&kosM3!0}p;0yBmRT4DOtN^fZ`Pk0w6T{(b5B z_ZqzoLmu;htPf+q54YIjLprKHw$5)RgQV;dxRY!oCP&IZE2j8!1bHh#b2cEzfW`BW zk~=fHQ5#g@n+u}{eBc<5unYyoh5AM8(^gNI4{q+_nG6Z= zkR+U%FnSe{&<-tF`12LcZ0H5AF_17qE8v*;eMJc={@*V(?>kr5W!){%Cw_d^Z(Q>p zAQS@Gr3>eQqRYjxYDta@bU=GVvY!NK#z=usdA0}c($>y|S4jU9khoIVbN6B1Ore8) z>f$wR!vmAkBwc6EH?8*fT;IelRePnG_@)#W(ZisM$n%@;pUs)SQs?D1J}A`U^=s(N zb&Bp*>a&~(byqs^Ub5wZmu-Pkbuz8F?Ii<&O$+p`_4qy0m?(<)J|l8PrLJ*=j>-)V z`Y<()(|(PBK8T1Ts2F+2Tpao??UNSMdXs(FBnpe-fd=Y7Z}U8G(FZ&|)aqBF9R~BC zR9$y!9Z}&u+WhEf)BL(>&*QpYW%IY#vin+rW+ZEWTmCUOH{Ta* z&;lToTu71413^>^Euaz8l*(1XM*xbI$8gPdG$5(iUN#BOI(JqsB(`IqYw(WKmX=5G z8e)yN%cXonCqE^}xlq&?);qLb2-L2fqw4 zr}2ops@*j51JX#ftjxgs*NbCVu(Ai7B3uGnUdO|$WH}Q%-qPPHD?hhDq5^IDx3O4j z6$Y*L@-!K-A@#6(eH*rP2k{e$BJKm+FW$m(>M&Xc=HNU4?Ijp$`Z!{;1O8t{gjT7j zNyrijNoOG5R=!+#GR*QY0@!ncz~|e(&eObQzdSMgj!E5Qkk2$-R>aXUsLH^iWAARW zhdhuiM91kC*2PCm7(wKdHkNd!5yDRQFW+PuJ0KDRCTk0-B1GQA>#i$R*dJQ39rb5^ z+Q_!F$Hs@zQu7nC`x0zCPIqR6>fh%*GaRT?qOG45p+`g?v{xV#^nahxt)m{I75)E8T?X@JQq7(rb8a1hUm(SF0?{^(bC-uAA$TgqiD1( zIkqx2Z8Bwbv_#DY7WXFZGfi~6-LE&}Oka&aKGUiiN?cz231c`h(t*!R7g!q24J-9S z1Wne|)awSL984-H;Q$i+L5zsEy3o(!6dM5+HF^*B^yWbr1o$i1R=>o3yHC0!N+JU& zHAtc=C(2lD`3g<{8Y;&lXl>$39zVT0@7>}w=E2d$`ERBekJ8)X_ep&{g7vfDgf*)!NCyw#tG+w}D}<=4b%#Sj4X%ySRz6&D zF4hnb+eoXI3|9~Gyf8^NkF*NvGz1#Y*rWlySg-0M#YS^QUKGz3V!fR!Gt+VI=?n|~ zgxFO&xx%mK?BWBOznSGOsHfr5_HdanZu22sc^ceqg&3|xzc5}Wu(L) zzbUm#XyBRJ*G6TE`gd#d{P#(|bxGIq!OFUaixMT(kjeP3D39R5cVmNmfRT`OO}JR0o?l1OMN@Y5h$6osiX^=2_C&)zL2W8y6OL9h!6 z`tb_xXHg)l0YeZIOg;@WWej69WOm4Oi3^jzQlzX75;x7-Y^Sgff*}fpmQaJ>iDwyD z+)e~r)9K#h1e0)L5HzuV#S5lvVw{pFLRMrzY2hE{Ol-3EwoY}JuGS)IV<%jQZG{6J zo2DCH;pfsCZs`S}P0FEZ4wfPOK_53{UES>tQOw$J|G5|CZeQnTT?68E_fSHuE(Eaq zFzQqjye}we4Bl%j?v4^pDSMN7Ep4eab^dDE941PeUwTdFGb`)?z#S0S}@o#mLub({}4>679pgV9`G?UghxAb+d&Mw@HgNoa%BiRZV5;)1fo5O>ODXz8hoArLI}!Sj*4p?46xFj%eRYSUtWA$E=6UL?hL zae&b-K_lXCuUzrz^K1g++1zJ$GsI80whV1MBy zfg>2$#}f92Or(ST?QV!d3vG2>@j=2UTqa))e5#U^ox+*d8Pi4pH)I0d;rbq|bwt1R zmZ!9zO;|?M(uZ{b;PTS8$bogy_v;O{vQV1nhjtpX;(jngnfVee1$?DbrBCw4QvYIN zQwQpj5nMhwxfqliK2U9t$9C^6S|YvI3{NUZPWcndE8RRzH@#XRQN4EAe5xKt4hw*s4<#BQubRt@pfLq( z3f#g2L-XR?T3HmRFZb_K?M#~^B;#G8E{A{x2V z)R+FWH}TEUA(z`m=G%^!&u#k>ZX((;I%D$Fz?{kbQ7;Gu7u$?qbtOe~CU)Hp?aCuP z5NTR)GmO8C?rqGW#=<3Z#Sxt$)ot2vnMzQ@YZcrV;gvhn7G#1d)7?V1B+8dr;;6<- z$5Y`$wyaR3_}cz~UC1_+jSH5$v0Tvio7G&Oife&>V$KnKpr+`VXgBK`dK z0ECt-%>xCfW9)%Tw7)MHjTQ&X)b~-wwqcu|nI#JiDaRg&MtZPH(S`t~3y1 zvN!(9xhId$rnSjp$i#U6=#|n7t#7}!^D6Jnv%fUw*QVlbEtJMyG+zmtx=@bSOSCr9 zw1|*^-x5KZb3W<7SE%X;@NX1GS{pxzA=Zx9#`6;*tZp3q<`L)#O_euyw#qnr9`icW zw5^Wo*SL=Db$`tZZR!iJR7ahZ-sJ>@`&!=?@J?xUleD_FTAM!+`5&Po+(Z9mD761E zs)fGsFbaL&czRgT!F5AsUf3903f^FDCep08A2W~cPzkPIfXSV=4hEHP%)YY?DSAk* zsmmwK;}f|b;hX#hHCRr6!T++d1A>U|9S}wZ^F8esZkzMGpDKS9ziy;zi1*r^yswI@ zS0Rov4|sGNRzlJ6wHtP_E^Zy;TalJVH$t{8?u%TIDQX=UX|tHS$zI^9){-dA^NBkf z;&q0%>lr=&rdKw@rSMq`)rp&^tF8BK55gY0_><# z;eHF1FZoa=m+Y|o4aj`@6?(OP?DKK?dq^HJaAJJPA-g+}6N%-n;^H^H9PP{@|a+ReVQLYXsg z;*=^U;hO^>#Qh92pN6Tatu=#Jo~|Vog#dT3N8a0%>?ffO?zo635vg}S=1t(}8?lNE zT@L}zaZ=+`D9dqHJNtyqZ|x|UX1~@hh(0GlnLwZO3Zte-?y))~uym&5%B4DzcB#-_ zJrRgghrm2uD17Y{vbc14V@px#z})o0SfD>hNNFYr6j3gORz04iU*3ASedL~_c&o5D zU!s0N8l8Buho2MCKMKSFgQ}*9ZJDjDpB4OGmvgD{{TN@68tt>oCmSBCQqEL9|HuDr za+^s^&nY|WMQq`y_`Y@-BgF_jRn9G7@3;L7T(4{{U%D zk{%p%c&b@xA~A{tBB&1sw{v41?ZSfhwKfCQH!@fRXE%mk^P`qkl{u^6nexMmzR8?5 z-(Cij;XlD5&>)}D9I@(%8|IRhgWsfN$MuV5VJKb>4X942%P|fAPN|TEC z>4CP0CPvXn8e(do5y`3L;T%(vDR|$w0ce|2mNpbS5z|7cWFS|=+~W+dMO9ZmK)JL+=>Xs}dCAH)<&`|7Ign{{=91;(zaa3>KfYP+k--b6F!>#2h) zwY92Wm5>oOl2H_|O1hnag5}Pa-|ZETbQ|`8aNhy-`rjEV!A}K!9*(#<{WGra z+gD$yC`SZ+j2$QHkEa~ofFvO9`Prl{S_m|t>Vz9EePj=>7sr=9E6anELuf0BH0+uO zZoQb52VwgNXzWfdgNCjCG;Z`Q<=b$qe!~C#Zus`)CnUdxOfPicHGp=Ja+k3Zuv~uI zJrh(36ok=|NRthryw8<1LKrya)=L#HMhsDtV&@dQ&970Ng@NKS?ScE3<<3Pkd!E<_4ezVCzr{P z1Fg!Q@s`zyBb!dW4F6kxS?i|4)&CJ!)O>9=QcNPQ*hb^J81n-WSvVQ zIA&vF4!;_3)Ai_mrbU|#d~+i+^NRs4bHb=A)lGs_*O_Pz1{3c(ErD`l^3FEMkM-X} zjY|-=!VZ3_pbZj!g(98aKdr6droOvZ=H=GySdOdJCje=HRUbziIf>Xws!Jl_J9hrX zTHQU8#bu63sb@Xfkk6ZEmpXp7!8`iA;+~M;Tcfa`V_D2vV27^Ed7zmxEKr;i(<4X# zodPWbec*1LT$!7B_`+kLg9>V;yhxa#{vqCSGktIg_=nj60H`Mp0b^395}CIo-ZGov z4BJD60p1zMC^Lyp0~M%;D%|vNe!sQaEeF*s7so%RF6{>abrJS`J_G3U^->xFbSvvw zkmMo#JHG~c^eS(o!o5EK9LeDyNP_qvy?11xg_GDGo~>cW?V7zoU29@&jfa zXf;)xQkA=(fUk9|E;$Z-^*05;PeZT@Tfe{E0;a@F!>C=b>x}UrwB^J`=cv?OqbCl2 z+O{ehTim04iDyrGZ!^y9m)%T5E5jg1BJOf0ot-Ss55fJqWWY@!{WhbOlCGG>gU^3_ zH@`ZNaI4|0i<4*HpJ{cy6!$tqB<%Jus+FWN@nhZZ{?!SW(N5R~nz{s^p?}sjhK74h zhhs(Wtl7{%_=>a<8D-~3RhCppt#?J8wn>HZ=u_w|4D3E57q$v+_qyi+Xb+1(^6GtC z@|DNN855OW5cG+KBH0E}lTr%n_QQfi0`iZ~BA2(j1R-yLoIc=V**YTG#4W1A zC1Q9TjRV3ASaT!>*QwJTy^@OEEZ5dALuQh0U%Iin61x(k^Q0qYMJqeuk;IXHin2*_ z`}xM17s*YARUscP!CUfe3KMUX+rt%(SMp)wnBPSXbt^z}gK=985B!#M>unM}j{Hu` zKg;;;_UA33O9Jasg6Pl0$9OCN-EtpV2W&UgZB7L-y3k?>CkD_kmr1^F+dVP^h@i{~ z1+F5cl6$YM2m?4qIsiJrx#YBJ`&7y54TXa<@48R1S-aTx0MWK9K7W(J%W3*_Gb$MOHN06DqMqmOzfCCt7Z@Qn}4;?q^+4*&@4Zf?sg0s{$Zw(_7vrpbx7` zxN0$=p(3gknOj|eA?p_aD3`cpbM}i%qbV)kVYf`$e)Ph% zfL2S1b-giv`SsE6^ajKAq2~7zH#&kMTXY}{Z$ zcSCqpY>lxe9A*{S-CuERQ*m{5|@P|mpTamz-1k`FAz=bUI%e)a>%~_~6 zbz}Os1#-0UbrBbG`6}!{#`vo32{mOePGD>g$3F@URr}t!H{F!~G_x4y$)b-}^~0r6 zWM=rw-;05s^;!!6f3vM0*rUpNMb>3GYkN9L6|kEO*h2|5gG)wmyq)tn@cu~D$=&a4 zQC)yzM{vW*pp)tl-sVi}Aiitl?P0(l@K=%t9qeIQS8N%jK&bSX8%?pYyU_+M-Q$8o z?LTl!hCj;?8Ua$2q0H%2UdbVy$fhV@zs-MJA3V(Jb?rHiy=y|-baQJjA^6*0Nw zVa{I!jZjJ&Ttc#{y-D1pXO`!b8phPhinEfJLK>;eub=m(>SBtyfAY;XAmJ0I%%*H@!!xTww9j z25O(oS1)4yq$j4N=6oIqTxSUhHfPOdto8R)n&rjInC{P?T=hZkT_|nOn0D*mgkl|zs^fW94;T*0$HWcBF z0WQSvc7{KLeP%t`E_B{_GGIYf+swJ!3E;5A@FX~F*(yrMDI;v&v7D6s!%%$HZaB$I z@*fpzbf_B^F;tE|ksDgQYgO}Ykbg3Ktz}3=$FarQz1K%sW`@Kz8^x&J3DZ0mR`Gz^=UyjX0pDe2|q2RQh4}WOLsyDsH1lO}csl>`Te1ZV&CZe#FQ7 z14xzU2l{$lYMc{YoJeU<3u5IDn%(%fprLB*QVW7N5w*_AKRd28Hu2i{H=}+sI-|di z-d?z~9O-}LKb(afCEkzpRFaDYTI$Zq)ty>^Ljcs!-~Iq--@hF-zOlOp&jX~BWPpBG zP_7cI$b@Cz$!%#stXo1P5U_;);hK;;z&aw0Z|;shDBV*?sbbU&*GkWpOm>$PJt@we zIHi&S#F`CR0j$X6U5S%g2S^+(W85HEK2MYQ)fnL5wl3A&KdQEis1VDYIsZ43bqb6d zfYyL(GqVt}EvJ~0@@zK`{t;x|;F6mlmYok7M3ox=>|nOY!+!<6fGu8{|6>iR7-n;i zJnGUs9uc6HI>QqFd;|vVpU?foU#WB98@sf&3@>%iAZ=qQql#-!t)=wCry^Gk90><@ zD*Jx#GVx4-nWYH3W!jTp3_v`@e|q)j2%);riW+#F_cO5sv|9ap5`b@-$f#q{+jjRr zUNkL{K4#21D}vE0_5CIvS(+YN&$ud{Fz*M9JF!dXR2d6tQ=o^4V^6lgGP~PY(1`T@ z*)*%Cx!PpFoxyhR->|}ff+QKInoz$-miK>5`)emE-#$QEAutwZS?&+&6v_^+`o55!VcUv@QCXS`c+oDpIK$-O5u zg(oQRGZE-+D;70N^TRgpL^9d*T5*3xhF^t2wS~`6_QsMY-S09*Te%k{2GoxOlYML3 zWePt(pCmSoprPE2B|&+v+BR{~4HT3*LQ%DrGkCm1#orFQoKWNKb`)W4C744odTe7Q zS-&V9hG4RkQs~Ry4n}a68Nm1NV7+7=!S*Qg)|h>B@jTK!b?p;G7%aEv~)mp2DJSE5Gki7W)QI`&S1a{7d})T{YJER1K|{B z9+Zai5ct*P>b=m9=W?pQ^Bl2uFa@;V^g<$+LDjAtR1y342WOm3fPe5gsGSm^MG7XD zp>q|LleLDgKx#AV*#q>`@mT)>(WuOBX6#P`fS>iD z5N7&3DQRgem}N+?rAshlS%wXpb9~{k8-Vih?(ebAN{X(dmw-_I@odl!ldEOwLp3|r zM)yC{QFsJt3bdZ(Nr0 z^*YP?C_T5!!Gk@nR~3VM;2TTP^CW|L0N=UWJQG$hB6T_=uRXzXqlDg82M;d z*H{1+fH7pRe}yiPpbX{h;l$*s0S@NK4c7f!)BfN7nxVf7509*D1+Oc<1zj|P2fY~w zXeB*@8$Sw+W9!4gt61!YR^-H0 zV7baAR{#APZ6JSPt-@J=`Qh)GNiP%v&P)>5I#9pI&P?x74BSMm4}5kjf`PgiHZTl} z#Y)f7;{URk${-ja%p23k4V**W=1d?{9ehX0j9EX}xJW>^ceCPU2DcWz45kPy11dWyTBDdH;>g=qzIw5A+(*kYXy?df>0`~NPEn0%V=?Ac3*8K!P;Flk}E<3{V zPO&YW`fG+VU5mo` zm|Irv0S)u)5x_PzfQ%y51OZ*J@Ei2^tyTYfYweHxi6WSR8>4&9FA{~)J^OMDKnqP1 z@de%%DTnt$vtAo{)7tE;CiVc;C@Wi1!$MpWXgqh=XdHcKha|S*|0oPV)4QrH-eRw< z@z&~*4MfBDr~-Y@MxE#^sc0+r{|qZomQBgmB&OTlwXF6#Z7{I1WyZT<#$;XAQ#p1w z*FH~FUrd5GhhOw8`N6B?8=5F?-0gq+nR9%~{cYyVwQ#Q$Ek zS3^-${EmbW&{r>EsiTigB^fHsx^70+?DFQ7=*pLd4d%@7co=9_c(fmIJtz)=X9s)_ z18dR5t}5FCPk`m~H1F~xQhOhzajo+Ti*lMYGnRMsN2 ze*qdvD_4|U2d%Rt*2#BBbk5tR?3f&>%8UbtSc`N1KBDS@ssyf7UfSQDaIG86g|XN6 zr%dxbBL5Xw-^Tv!Hz3yLgL{&s?FukzPLg~52el;dH+L*s#+Kzp)?``#xe1yxtwhAd z?ntBpR+E|&`$(E$h{oK*M#_%;M*BCHk6i|vwVL>P&h4RjiAW zc4qrDdQ-U89|C$r%_Kjnu7Wy~kzDv4G}Hi;pRuGwsn9>}w=#nWUcVKi;W7z0K9EH~ z4-6;%!k!>c)JfJ<0x`RDJ~Fun&71}Jq#0-~eA%juZQT5`^g2fn@jmO~#CAdGuR&q^ zD4L8pS|x8ML8!EhZf?WI`Y7j&)rA#8V60U@poC=&-`~^?);Y-%*-G0vC$^7n zlu13O^fg&KPfp0*Diq67D@mp<7mxOx4MMGR74Jwl-hak(kr^J5V&OHS=Vzn#V;Qk5 zJUg=CraWZ}+-)BNSYD0YC9Jj1@-n1$PIT&V*)cOifMI_RCU4ed`~^z2SKsbVKb=cF+gcqz&+?pn2|lcDDgAlp`( zcX;o}KYA`|bI5=MKMM{JPS5ORI`l|xJZGa{v5MNvNP&p44|=s9C5BVA3wr^M=m21W zy|3{A?<;lK8r|7DHlA_~&JMGE4ff8H5mHY%IMzmp^%qO7qk&Fq<$!{o`N2*o`K-P) z0x(?U^mkk|@ML4VY)2>k`tRd$3tN}T2)VGJ;3s$_g&%m1}rL5O>r_W@=v|Lx9ArU0ot=|7p&iLP3rsa zbpXWLDvF>O^GQWxxKWqgK>PF+q|5*Lt@``=xqawdjdntIqdt0b@4;&M-_7n7Wca-W zZt}(sCqU?R@J~ZDU@@uroh$tLT6eea^Ti=km*ya=E_=q^42L(jgTnsB6d(X_B(1If zyx{ZERDfSY^eldJxaI28n)CYqrG)O!Ew~O8Rz%|Qb$y-;3ixnh$&Z-g5r!LR7dIYCLFV8~7LA$~)ro`-oob&7$on6@J`;%=`u$m0#uG+WTk$0L)+% zFpkD=hv^R9E^7B34T7ZGF6&$_e_EQB5L_DsD<%*1`OhJPJ2{TM$KM=UCiW^g{nt9Q(hCYIVG|7sP9HV2QTvTdr0r?_4xDu_qiUueMc3?`u;T)4&)A< zF2#2pkmq2XgWU7~8JK$p1hVh9cX>8+x9$~b1ef(7i6_SMG|S^Fi2otC zlOj%Y{|qTV!8Yc(0X@U{GhQ|Yw|}4izt{-rwc)#AWjp>S_L}KK)5F5we%-&Bp@P>*_r5Be4pWYb`ug@;(yr&vd{6Ib zUv63dOF~EWmY~iKH%;~R<=8X652OW`jI`nfp7j{LtlTanvM%s^7eNqD@H4(b)vhc$ z0=sxEB4PY~04U}^ZOk4-{r&02-xN2SO4~uI;OpV>xzZ3XxY4IX4n0@~@+5UPzz8Cv z_H%{b`|4XsiNNY*GcLQ8FY(xP>XK6p*Faxq@O<~~YsB(GE9EnHc5%_^smnaUD8H{& zRpYKMqJJ-N!H9qJlTGmLx6=oQU-E_+u9!68f{M?SsN8j9B>k#2tN2#>eee4xz+ZP^ z8ePE$_dh-X+;3lh>kB}!_!0$w`|JPDy>_c;Xs3dcBUgA6av8xUj4H z2~LnS;mgF*zjRBb7wO6S)$xkU*2ruj2QD|Qc) zJ{GLyTJ(Y?Kxopl5FpE4vWuEHb`g*uDM@VsLz6F~PTwE*`P;ruv&hg$3fObx=VcMD z)$O(}d8QZHWBJyS%O_=JLKJUk#RYU=`n&8acaSxeZzYd$xe*z~yCO0>JxT=jfp^E2 zAVKaOv2&%p#Op_5cRwQe)fIDR{=eJaL{;pDy}$oQZ``*SzBT+F!~5P8+HjVXTc#&_ znwO#P>d@rcLdb_$W;_sW+kdVP&jL!6C3%7fv9*gr8~T@yiId&A=A>M~SCOlc=<9{{ zW`!TN!|JY<@a}w&FX-!)P1o-nbhj1mi;LrV*d08j&b=$&8(3_S` z2DdDmc7RcH?`BF#CD6@Yqhdqb-t1nTIJ5f*HpgkbPt z8K1Fx^@zNja#e__6g}_kZ4q#x9x<2%JdobeIs0&`vWC;jpX9v`rM+>TF&bnrIoL^_ zUF=(HIJAgQMaPC(M(H?q=>v@+Yx3k4+uI5&njIOj4snp@Dh-#wTq>GT*JmmXzob^Hx=Q+n#_US9z|i*MfhqDzK!5 z+OBJm9e`x=w{!W_%;%HwPKM8&oM^O7*~uq~`?v=p_y?|tGt386R7!pf;SRLjaW&@o zfpDHfwk(F*D=woyVfAsXunj&9vV8LFU7Spt5c4X%(ffdrT`l90F2O%`RwcA(&U&-0 z2j1X!;kQhr_=iRv)po!dt%~*31Yva^6TrFrk4rZAeYsExm0pFxm(8r9R#=_2yaCr{ zbbeD}HrUx{T{>v(?w%`}^M^M#-(eVV^;|E{vvtVngZtg%RE9>zsx+@2W$NHQjiSZ1(z?HdF8m-RWoiRd&+lhN~*RszC<5SpVO&Xs*7zV z;#|e8T;?hT#>GF)NZdsf{COJ3ULW=83R$)}z>vwI3$3wgr# zE9m$?$!qpNBD3{xf7{C!p5vV4&6k`Rf_f7~{4wSz-`F6(npcnnf|#B!pWg0;)XW4r zpm?wr0weSJ!=ELzw)z1v?;8BWw|joQ|JWYNwcCmZ#*`~Wa02)4Rik)$C1ibY|E`U& zkJO1dJP~Zfec(`XIx&-HW&(BQ`Oz0)@fvAH$O*AWEQw}s#L=t#nB`W}bQfh8dc%^0x zis{yuHAuaZk)ClCuw<2&;^?^y4%y_YmAz>iUmpT4u+1ZXp3gDR9|VR$+v65P)85J* zhayoG+hLMsUFp$W!%^UADXcJ-=`-M`Qqoncs(QVYYr~VpJhzJCCku8pdl%4|X5HO| zpUN_$bsl~ClPs<~2e?9x4dgB-R&7wWrkPSRxlp^L+^Tt?lqC<_c@p6-e#n|!`mM|E zc~*?+lYk#RW%hcj0pI}Y_xTd9s0D8&8d<&ijg*T&c;+>ar6``&_6AbCT8G?U-9hN3 zjI6JPxYk|mx|+!&eh0M}+?(8pSA!l8$jH*o=&S%wL9;CFlI1>^=n-EDi2$>3@b^5+ zb%Ceu*l=UTBOW%^qIcf|qzWL&Uq23=a&88BP(eZgPe&VgI(qA`A-h<3H`kg<;J^Zn z4_tpW0-|m`P0uFLyv!GMZq60xkGVB# zV9|vM1*3If*hg2m-mazP2hj98Gvq$&kPE_l3KKjgoRniVV`MJ zRCKM-ei2C;trJCbiurM^_X00dy>-izA_bboP6o(_iZehylb33f2Zrxe<&);moaqMl zKb~WQ0-WhKxVvF}Xoj0+FYscZvZYmQkNJR{<#EU6V1+X=@~PJRnf>o_hu((oKjxol zkXO6;(cSy^b=z0RMnNs}t?o;nuJo458FvQmaiptnMUd<;N)v@A zh}Cf$NOtjzxTVFryhIQBrdwZWvwRK?MAGKz>Tb{TzN$eaurT4CF>XGu>i2%krq!V@ zg9sw>4?E??hApv-|v8zY}?Lt$vFYryn z{0zg;FLc`7wdh59G&*0Kqdd?7+{rB{PtQb>G|2GOa1lnw2Mw~}RURWyJljw|C*_4a z(3k{#K&IT2G}T2wAb?B&7an-b)nsUp6`z4QIP_5X>`=}p{RZSV+pa=`Hm;j(af zA9#-2i+{60kPN?ZPk!BGQ0Hv1hNmPPE#w_G{e9TG>XSo;rZZc0@!sG}{Ou3BxrD0m z2QIBezfe_E-LGlZ-SeL7L-94fvOXiyt50RQkFvN=a@r3lj9Xmq1bPepJn|4ZOn7=| z5xAR6MpE?6mnqz;-l=pxi;XJEmI@p{ieE_gQknmv(bMOmbl+uA=DE=;&~l&w=aV0%yukB+FdBcTWRM;V-=+hy{BT z)BnmMe7>bQki~d-=)dOGm6U-pM7D)dDEV{MEHZ+5eRfKgb7P(2zTAY>VTOgQ*ORU* zg;OamX2MC4Ix?i`4!2q_rY~cR)cpLyau$(eyIwg!>Z0P3B%FiJpq3<*0v_e~k#sV$ zgBc||IL_gUP5pHu7lO5!->{}?4Z-jf?R5{v)u|A?MH6`To@i8+7aKfnl(Dk3rB^zD z#XDndq|4OZ5zTCO#tesvFOgafW_?j&o3B%Jx7w(8y|zP)O;rV17xOPy`zrZG%H$_8 z+g$@W&PAO3q|id&GDHPf$Vd8~)GNB1qRaMRw5tfleZU*Vucs1O_KXSPtk^f92}_Sc z)BnsPQj&U=bYyhV&t;$jffnal$LnAvVl8VcV=3dX@`MhA<{t-jX>Tp=(1nRxGsvp7 z8o8ltS)$Nh&A!>-k<$hP=7!U8G8gcJHA_hy%Vd8y!G*H+0 zxeTJF*lY)iyiTjd`-x{Bob*#lc95p}$jG(QZupfK449pQ=xG3@{_^NV<-mMvWk&?j z{En?leX2Z2uT_2jt6jc)ikl1U%e|g1w3G8+j^)3jr6!WnHl1SC?4K#kX|cY(6kDyC z9M-JgO-af8)-4Nr>w6etV&wVlOjN6WNcr8>jG~_=tic`j@Yv)~rBbKtDcVt8B4?QH3Z}}Niq~Q){oXaKI8;>JD(H z8zk4_V-n-Bsc2B`^LTz~&3K>0M6gyz^H#S7_2!7wgs*i|ha$o@C8h5QyHKPoN=`3@ zX?)x}CS)O|hEy9%$^)H0(5i9M!H4CWYukFFQfOz$UPmQJe$T}T3+SOb+sX4f142=9 zLdg`>$3NRd`tYnK7&-H96&9I79FO0RsT;s%sU!O)b+>O6pWt-bp@-ICZUtB4YeZJ; zcR_YxrB{dClVueBBW322*6fnIPd>3O%;&kCXgE>&X|Z#6bbk}vujp7j-ucC-j|bTH z7R)54ixFo1Nbm_mO_ld;7%CgJ6#Qjh+8w+5z7rK$gxBYF+tr+JbE#s=pfG(jfKo%haRMQ7x}~grG&C=~}Eg6ek== zDnd#@X2i*T4Vv4(hMi{W*9tDQDXTTQtkA>|=T(iLeUeqJ$U=;HZ^}q1WP8k+E6=ZV zi!3-ZyC)e~1wuhS>o2SNoQULrfoxgGshsra9-qEe)I5B_P2@tGx2unBCJeaU`Cz;D zyo8o>qWPM8#b_fVdE>Sd-PkO_C{lxvvJ1l^uysB_zE=+N?Bkhi+O+q=7koVwU2Es8 zp}X>VVtsDQNp8_BzMbJctZ_y>TrVU;_;j*9g!2sZ#Wk~pd-gZvJ3~kCF#TC z^3%>Uk4@s!;;31+c^DXNiIaO}Wvi0*bn1qm>JH{|G$~iN?-9`|0M-?L=`c<|oRzI$ z6`2i{9AR$`Bn`K`Oi>vw+YMgNyG;L-0(zZWHtH4s^S&35_e&gLARs$KCA^)rPO#-h zS+^^ZJ$ZArJ0B6ysDTkuw{!R`MpFh+z$EO|74_6$U%b9E$mCa zh}O~3XOsmZh-Yiy5i>qU8^Sy9&uz?%%dbYP;d4g)_qZ+whdCSHecWV!1R^Qx^<5!> zn}(?hqqysZ8egTTr`!nNB6%R!uXyFkik;@3R@zTi5-zmtN_SbdXsH17xadB5nO=&e zvgkIXUGGfPMmW4tRw=g=eRZWS4Yk>q<7EYt8U2HpGp0&{{g@u?xGi0};DCi|!Efp*axAsEfaeb74emnTN1u*Jb4z_JvI=xR}P>W@;oP zN#aEFU@*r<;wB4PvlTHi^Bf}!LrfW3Kf_ec`9Eq6SkBO;Zz}!gB6{q73T-*zZgwZz z5p;?^Lk><$-D9tQYc~gLk9!Y8kOsQ)y#=Yv_SdqP_f#cFN<3Jz2Mm=|Bf!sE zioMev68go?6&p5+y%+NzXG<;H{EqnGgjg;HZu9dU(gQk}ud@gob=i`3PJ~RR@KYfL zU9?4Er~=->D^RY7Ru3B;AlWcUi!zP-Zr>A&nmu38mV;gu^xVT2%=>@5t5|IZWfbz0GM#YTGBn2%(xGdmm0YayD~xa6`l-h-PblzP*3o;U*blkMS!fNky0X zCVp~iupO}*VcnX?+iMu@foT7`1D~nk@ZLV*9OjrrzY7Z^LBOk@Efx`iv@AW%Y%c6K;E>$BLgLkwjC0Pn*vu*l@OR$t7R&&a?afB3|7uqVSda zUrehZQ7co2o6bn-=1((DM$iUgoeF$m9sZ0i6^nadD@7A&z0+)4h_LTf`N1otxVe&Y zkW!W6s&3-lPA5m)2l#lD*zF3*R)|8DVYVRHwBp#-*NcrOlDKBA4TS-Y=Ii`$ToTWVK6_jKp3Bi-6!bZjr3LHkdCgbAA6C&v>r}?Tvi7ao6_A@tg4UiZv(ssdF@eFu zWAJ10kp)+@e8jesDBq&{WZ7R5y~pXxz=D-7`q0sLB(^cs?ed__&d&0;%h*ks?aMm{ zK?)ghZ;D`FXzv|Et}2-aDM*_I7kyGT7a+gBCKIGPWXL27mCCh0+lR#6oC-c3jLtT9 zPjAL`uy8s<%dqeNCNsgPn9XFIv^SgPm3wvN=T^g0Wk@b|NT59QLday0Jiuta-*)v; zwVCN`z73?13)+9L{NwHsCzRO;H;9;-E&7yV6qAO>-!!pd8j5Chv&*xFmNsEi{_pU% zFC2foqu*Aoupx_T2dTnl6PsVL7_lz{4u8d*YzMJ8G8~|&rM+}z-nv$Gar#UiH;qz0 z!KFW@0;>~x@*;jqn+VaSVB@FSq>dlKATjSJl-BdHQ)!(lxLu5c=f>%&G&#(pK>{tCZb(gB2opvt-8kFR zzBr_AlZTmk+RR8%`cH-0#n%uP4t2P@ZrtOM5dBTy_@UHMv3!%AAp);Bn-QV^Fsp=eX`RDD zJ+h(medXFAGT?nI%wI(VYtxf6&!D0xmjz|X@o-{z49VB=g19)_s2T}15g-Q#$;gHV z6NG{^2fuqIQ5MG)BJk_P6fde@4zsn_+Q&qh-8JsJYvCzPJk#Ro*48$N`d7~>qKt{f zzb67Z@pWmaE6w3<$89VwG`IO2Gv4JGt_IBG*;&9NdYgoESLy8n|Bx>C@X0ZgDhCBI zXJh>A-JDPzaYY$Ts1dtOgk(T}NVIwm^jPB=Nc<@}yN{hpq0puqan64ll7jXI+r_4j zoK_cvh!_gAZ(kh({%vH(D%@l0w4Q7T7risX0M~o#wb?uMwI$ofVhcijtUepr4#Bg%vm?urb7zad=UsFlo@-leLzH41o2Al@@pu5eY!h6g-c znaDPg=^0I}!cPk$Qqj9n4?V4<==+OZ9L&#iD-4lhwp=vQa(fvL`nP?e>f#+cm$UN4 zdrmw8%X^6NJ07HP?FQTUr4ME3Ck_j9&sJISF5 z8f0!kVFuI;Y{+dEJGm~Tm4}|a?pQFcvqzLz`Wzpvv*_;m@acPL@1LFr?huQCj6RA| zg8;dwQU|A}FM0{zUAzqHw+-NiAImm;!Fo=)p@|DO=UV$HI$2b!p4Yq%aG1R{UaFV( zsHkwMusXqAA1Efb{N%GCE7KIWAKopkeRjY17}AGu1<<7I!I#5bvqUPaJLf`bXGJ*5H<@C; z27H(@zoKyEB*@Zi^O}m@ZpxLc0_c9+I3cgPrv5Eg1gU%x*rUSb`s}NHQyfMH?e4z> zM{a%ObEY5eg*y7@Rq)5ptSaZpO_$@ifr+;ZQoM|`@DgPy^_)%N9cyK4o=Z9L%l znKFM$g-J|;{NS8NwXchP&rF_*Ru`8M#&3By?eFh^MR2)Uh!et6kk)yk2e@50|KnD5 zwJ(tfN(!ac-#J6g;ocf&q^o~$ug>C=JkSAy_I0qnPP)oB3V9=a5GO@)xO-D>{os=Y z6p*eKxOL<3PXDZ3Pag9q{(m3xTfG#Z(8%b2s4ALe_<;-1Do^sKoUOXZ%yg2Bl3xXR zt&8(z>HMT_Yl&RIQ8{y7!E6?k*_#VaCKp|)+0xx!j3A$TkUq!jGIrx_1kvN2aHS># zET7HpNYIe6b#Zr10qu}mdw58ui~D;NiEjc2pKarDO-^5m&f<#s zg7+9@t^F4FiP(|8eC+vepgSKouNPgLJ>N%Q*@=~ttkP>Gqi&#u77LxRl?AWMb0G!JH(rC=P>73=eL<=2Q9c;zm${j zW5DEZ{VG2VmLqUbysD3NyLa%1lJmW-qA{s$PhRr$;VMrbBsKavU~b)E^DJqN%5>w; zwsK^+lY{v|FWQ1Ba7MSJ`Da}&!`b9f@6M24%&YF6GyQ(^%egP{Q}zC#+FWNX#~0AO z>A7pJ5mj>i9onGd#8@FPL;{ZQ=5F)q;G?83tPz8sY!~Mj$O%&=*N!B~?!6DMC>*u< z3`OMoGvB;j;Yx)M>wf}j?gHvCv?B9DE3wppHJd7GqfK*&8F!EHt$99GH<1-i7Hb)v zqpYqRofpQJwe9OO;|P_EZikW&{vea!*SY${!8?r=|JX@CU_(|hNqKKoIVglJ*c;sc zqzQJ0zI8<97nlRT==P$vp*)GHf2e2dmGR~3qr`(k$djtlTjQED+)dh69? zHQncj&RwO9o*o*Wt5bxd-VUkm3QZ!Bd>g&IzQ7PWPZgw=nabflG>%ntj`eC#;)+5f|@AXybnq0`X7Ep}B7(}0UB2eME+px9$9J8Z>mb{Qix zPFp^9DRg#Pwg`a9mD5x6Cm(O#%?_SJk-kRLY@P23WGSImr&i-4Hdw0+spvoUPfBWS zdL`9pv&q?%M4YS__=h}(ThHMj)A|kZ225xe4L<_EDUHE~&0HS|p=%~@+ULO5H!H9< z;ZE~`6|QbZjt7>dmDF?&O`E!GWzE;Jg4q*sIhR7=YPu&X39NQ|w=7@BUBTX88bmJK zJ=!y(kd)g%o~q9=$I{oaQC7k~bb}@fW)10K|7wR&F`t&2jzHn>u#YEbY0g(kO3mpP z)_%mHQ*|D4u2Wg;*8Y?MS=O)FHxYEUaXN=QzNW3rA)`~IQVviO90b^`m$Fqi9LoRM zKEe8hp%g*2bKt)FR?den{W1~N@?klTO>uCBjhuhD8%jLjHbM2wLX^%L8VO%FV=TPld)UtMeBR5=%Lw4oJHKHTQznI0%YH-Xj&H3-+$5I zU9l*G5ZIY}0@fh&=W-%6#J3->fpuh5>HExjL5}Z5;IHwk>^ZpLdYV zBsyZf2z%$K%L`YUp4Ou5>b{l^*5n$DL~pK<+d6F@vxSnzY&m|RjC*BS!DNqy3!uki zN;YX*pfQ<{{Ik&|1Ql*LM#oBF-jit(DdLz5GL30#)1(Dm&T3&R0-;Yv z_v?oLBODzXT)q$S&yaY^&G#OSoK4O|?COsK;@oWAm(4ASB+Lf9V>!hoP%haDK~i=x zkuLMWZL?Ihiqi31_?CFchTPW)v-Tc`qbt-N|MI==VsD-aMe{bss7D@JJScBaFLcKt z;Yxp)OmO`3`8+}F;-8;bWyQA6H!kHcw_VIDQ`mkK7wFrQv!}|8&lI zwB4`_CHZ4x{L^`Lk>&b>1-sWBTpT%g#ETnk&N$nxW+IbeSM`*sPQp{w=8x5}2DMx9 z>9I!^nhF?!CHGGFS8q%Ci^g^fmBobB1|W|Gv3}`p5VG^U%9Z5n?2y_P<^R}Ysp6m9 z;cXJS8EkTqMWEx_5%C{llQIW?b~H=|dArzk84{^Crb&O5{t6YBIu_2dLpM+vlXd42 zXL|0HR}NAV{gxbL!%wq*HitD7Xe=(@@NGsV-z=YKZPX?B!lp5$Hkw;O?}Yj|ZNxA| z)E0w&przQM{^8)it2?-H+UK;BMS;A*s=dHB0A8&9a6KHH)Y7!xlWGl$=RlDkfJ8Gk z;X#!~SQxZovkFVq7}%&Z4mxyuQ$?{fS1$4y(@2x{(XQn!vMc<2YyBbYfusIimxyJB zAu*2-#&zR{-&awslR}Qo%s3*EE*T^A7j0+^zhh*>-}<77ki$h&I%??f#DC=~_IH~b zFtmB_R+KC&U)DF`)@n9ZY_$Hwq=t?!a%Xr|-3eD%<t~{|m$Z9x3PvEBRh{cEjF2TIYtX)E_GpdE*mJmDm%Hw9fN2%YTVY&|ZaLRXu2{*Iu z32&LXfW!HiN>6bCOh&#@SnUTd-JWpbmGE*`r!#G+!6}kTb7KweNqkt+Lf3(mxizxP zM^@OApam-)5-Eu`PcP zHs+HO^wU0qZa>;kdA471yz0$@1R^~Utj2n`sr1fXpKY^KUafH}KV?A6_u@(n)NRcF` zzSW_IMnON0{5vF$sH*q(7g!#*KC6b+OZls+{!XYGWlZ6(l=H@^L4H5+3+F5Cl$oL& z=E;WAIiK@8v>QavHNWvmzC2tetlz}0OV)Jqv(Dx;c94v!ZqV;a;lhjjhUl6fT-cqs z3xxEK#3`e{H~>XyE^w1fp})n3mENJOZ)l~s4VUO+^`L_yn%lq0`u};Q!_6p2>a$mu zGW2AmDBK<3z#2lyPp8tOQFeN$w4iskiv4l|i+^9lmVT7lwzAIT6oF9KtlIk19Ct8f z%{tL@J*X>!$qD^5g%J*oC5`voBq~6lcauWL>2N9100&w52I=#t_VP*9(5(T{MMBFG zmBSF8ErMnyiae`LkCxeXCNyzrYb6%fUswFh{(M6zH_fW}12En1uNo($K6DXl-xZkr zvs~jwO0UZH5uaavotcI`H|VBL0x!j`K_za_a_ftM(mp;o`PbAFzn~($nQQ%Mv`xGW zNnW0f6f8wK9`H?O&qajaw$qbJT?wuURq{&q8w@+LI@%wBu+&I4J8AP{S=|an@T|g| z)ZLs-ZeuO1;~{AH=J0|uz@0~$tc*zA*H?|_uC9|R%FAVb`YtQKW|4g9@9%1 znzY)%!1Vxz7T-_o2*dDQui)x}xPDXL0qt0II87{=ljH%&A z583De*O_2+LVntk*1Y&JzuoIuv0*`!|L_ut zk35G1#H0o(O$5h3B?Y~ksrlj?e`sRi=}&bTlF80$k(6FKF^9-v9c^7QzX*|4?9LPy z%Z@8v(TSM-GCyooCo3hgE?iz<-?Yhi3WD>%_nN*^H$6uMt8b#pojy*D*>mS7CiPtp zG1R}g7q~RNR3(O;9JIq-8~KrD*FQsnj^8s=;-zAeoi7-$D~27r!5| z&8^*!?UR0Btc<&SN@|;{U#hQkwE5_3>d8^Knrx!&!so{2`-zyv4*kIvke&K+Y`wg* zZxYIGcp)Z&PY;ci8t80a4d@{{Ppp!3aG}TjPCG;WYJwfH3o%<(M~J15wMRSYA!t9b zRwTob>R#|Yw>ra=HFO1<`3K{ueQn_AVyKc>lkxG;DvwZt<4!cu?O;vzK9z52Ljlfl zVmipi><5dVEfy~1^qKuM+1VqQlB+vfi@g4)EPM!==(fJK>57)A4k=f6hO5Rvo;?Nl z7l3q3=b=8gb!pVI!3Ke;tmQ@u%aR-=H-Gxsl0ICzD9dDt z?dtYf*)C7CQ7B5&`%d`t;uxRsu3}dL!63XhzoGGFbpq6mHY)cY`@8U$@T7R#*@f!M zDRZoD|l;pefyi@7H^RU%rkcNHb(4M z76C&~>uyT79g7~e#hi)A&TkLN#D!I~>|3kKQL6Y9+Gv}pFER=d!`aYk#E-5xW9lV* zuV$)gT>KhgsW)EAXmauU(mXQho4BZB`Pvp1wnq1;#E=KfF3A?MSe;cAxxbkHaY-kLjI^0BH86Ei7Q800rJ5Q#kJG*b`An$v15n+-0E;UAD4-d7!?+_ zj~zC$BhF+*lg%Bv)j~^t`Y*0EB%)6^huE7mV?L)QG=5(nv zwoM#UlRM`n-bIzLRKwPb8bLdUD+Wn0MCK(%p^b-B)%&>PG0)c46a{zOnl?u%<*?v5T7ki03}`SR3Ops*Av#jwIh&YNju1sUp$M5nnHyf*e$o@1>jTxMsUtkS|!Hi-zouv-i?<6bHgOlLNpWO^4b4@&$1upYGFJvY*C9tU1;S@P+p(xTr zROb|2{uh(Av0w`mO-vsrIG*Pa-!M2Db!o+u&><{s*s-4T_1mQJ9mt*n;7)8S9L?sH zN_$iOJ$+(b;`XMkoKT7?MJ&wZqfA~%3`I(piGPEnKVC8RU_0L+1nr3eFjvdO+pCt5 z;nvQ`-L;7o9*edDiQN;E22*tSjDf^-W{2< z3*zR;hFa%^wvHF>@E*HzdMc$cr!g3|%wWKrP>jw+f34Nt2fM2J=9p1#DIdUmU`K9y z$iy2P(eMhS0SC37BA1I^YsL>osPd%Z_lrftdi%sT@H@ypJ64096^H9+1ga{k$`lM> z-e%5M7#jICu0HTySVCu?ht|fsZCS|966qN;Q?|8x_d&*Q)Hl55;!VTE%7K$om@8Za z31XZBg2*1zkJ_i;Gw(5uD<^yQR$N0AuTQhCeeiPKcRS*~(1=W~(!6*svaWWQ@4pU5 zqGMqO>?3p-ii1G}|1da}&(v$)Vm7l44n3htJTg{3j9gIckqZki6Du`|^^KV`vOP@i z?{7L#R+F`j;V7umI~9J$Pc!*)Stmu`L%a#$BSXMdjeJ;Zr$*GIYzz5*{#=hK&0~9{ z)qdU*5deYhgwlcQ_k1R9*aH{I#c)AcBJaJ7^yJd>=$hS~Rl2e(Nn*F{b}}AvqHE6j z^l$dXLW^>mSYd|(YDVdy?6bYA_G=k{SH&}3 zv{!E~X9=*UTr1@D1dWL+U%tiAxDcyk)7X0ZzzeLz9sp~&#DR4pO`_F)gCGD2-^FqCdQKCt1BpK_wrNZ;FygZl-(nC|fTM;15Hf3&tzP%@@i58-|P z{oD_0SEyB?EK=PW%wM@wfZQ8vJ3->2yJ*mXcf9lD_MhQMU+Qs)%tgKNIgK}TAzCKB zPxRQBPYqhXnxJ$griBX_jT=~J==KWryV-`s%$}KI=DwK*g*hScQV>`}ndfS;fb2zu z#hJGwg7CGm=p4^KvrU+c;--{0>*E#mnGlqXrB-pbAp9JXkV1^06`tG=`O>(#c)qF^ zzYjwOIWZ{3K%U8OyYT2}nJRRwRxmC_d&t@7pEgn@Ms^`ok{L9xwmerxa$uuwn9yq0 zej2hwdmWsbLyx>tbDi0&r$@+oB{}GV6OKgNt*bw|voC5X_K-@CoMp;itY*C1t|05} zx@%-)KNsfuktBp9639ef@Te@+8a*Q7p$3~>AE#480ay)1=|6FLT;5>$2Kn%V8yRYU z?eUZoXi>KZ7672^E2*BxE7f?-_|Gor{uz1td|Y6PaIYyP!B5tV^{C>@RP#zF;i!9= zR~gZU(2awZLlJsSHV;_85U_vOu9so3kGI5VLrJvRLR@ps&R@i^&4kr~Lq}KE|D4U5 zTMu9G6hGHo^)Q^cb`GnRqPi9bvQVM&%(ht%RKyK}kMEYNvliq_8P0QdsK2KDv-KRe zRMZJ%TA1cSxT$e?+ui2q8;kLbUR(-|CqSHQ!4dgCKGc^`ID&4(ni!#*`* zK5qIcjDAh4-;O%6xwV=m6%|rtYlB}P2QH1ud$6IVx&#_EVuPKPBW1-JpIZ|db#V#y z#ZU|88i|>r>ksq3EHj@&j^sjZ)4&7I-`H`RA6icB&oxZ5kBxWPnxy{Sd9rmX+&ese zWIXFhb2Pfve&<%i${0bsrE+~{eNh%FKxUP`Oj$cGxCKw{D`o(@qn5@e*UyfV3qwGw z-erPxyvatROWCquhWt>$_6W(XRrolLqYL}>0FA~NKb_g9t!i-2ZgGd@GY`{>^TDCk zTpD=#U6^)w8^P4~c&b*{_fnGVeJ5XS1fuWR640@n*tGs7fY?Rf+c;I&Bhn$pK?HdZ&S%*O zrO*YVc)vc+>uq-Em6~&1PxsvLqpQ_ih-k#vl9~xZX^q}Hi2oY=jOY`3lgXM^5+TG_ zR@c(}CZakro~nmiWsOrPiM^75{Qnq!3^1I`t>;%<8Nl7#HHuZI1kqp#QYvPU^ zm`v(tF-v1E2RIF4%8NKvCN5&Lr(ud3u{>sa^W%tV@8NC!>~uV9I<_ap&^pvaC^K>C zyz_wmAQpac_%NOIDA9Aic+^K+3;B?}lGw=pH`xgZ|0Wm4k&tEB%3l!};!HpTB1GJe zGU6JAE8LPQXLC2x5vtpn(e5o6UvIXiuS~%XJvGu93DEStn&Q%V0TSau<4~IWVZvdN zR+flC>pbLTZhsM^!2RqtZRV@HIToU|>48V|U9I~%a!i&ast}^PPs#lZTfynP>3-!i zSjznTc+`!C7D}GF0ToT1+Q2CGcvqhzLVbeYRSggCvl)Q*+_ZiXv7)9sZZrKz3}+kD zZxO!bHbTLB?J(9drWrpDX!q;rh_n@_2b*pcUn5c_I~X#dTYWGD6Ep_r=rHTo4My@W z7H_=x@RwR^r$;7?-I>^U_nI1;y&gP-cgW=YS|C*^uS+E1^^e|*|GC9k*Q5N2gWD$} zDJDrjwOjiZyql-acPI{R3?Q?KHq&EG6{6#`%6Tf%lXir{D9F(nUuR6#Pag6bJ#DaL zVjg}Df2wzJ`RPv>bE=(^K+H*BSnzU}rq*`^Ll@*D48h{@wh$8i$2bc6%7q$zVA-E1StZHrRCJV zTtoe1k?4sqbPp8pX0Putss*P+1bwESDnY&8g4 znxV|YZm`Op8&i&Miit@d1DgF~&D&^WqHIo1k35sUJBIe0H9DF})eev@yJ6S$B*jd) z`)KeMN{A?Xuc_x)dq=dog_S??-yznEdOCP53Ijvj>lcVfWwmQ0Ej5i#)w;yXtV|8f zT}Z6?4+HmIq&wK%KTMv!utQQD>~ej?oKYMc^!{4bI~4?YtTzI(RXs5S{X z=LhP4)E58jw!b49v`(wroF5PP)jde4_sGh=M;rT6voGc5#U*B2hZ}08^VO^%CYG80T30$wsN%W%0hHoU4uQ8leeg&2zlH6`wtkb=uTko(IYAL)TlvnkX zc%Vd1%#%%)Kp{V-D6bLON*3;vF)!QD>QmV2`i?N~Zkx@8io4Bv8!s9M@e5D=dP@g` z5tHYQzi+0C5}Gz|H41&eYuAj+AcMTQ8P31GM6YC+8t!Jf+)x#2P`9Pd0Yu7i+Sj&( z=n?~N8-O)#q_ti7=(7JZlkVkOn(m6>bd=d)VHfKRY(cEY&IOrp>v_w zn{}H5$Q-J?rO%x#@PKGCRMG=BVX! zUnf2ijh{M1d8SHfCI-E8PH`C1Z5|2{^NM%lBym>3dl+*sTU(cv`lQ_CZqaG2DA}ssWqg6hn>n!4a+q zycd)ALG<_F@5=ry+HYvR4fAfc*xsk;XGK%9e3Zm2WsTxqF2d;(d1bCO+Lv|AX`SONx85 zkN>=@Sy|2Wqlxhj-^Kt^op^oEmVKg|gx4l@J^dcR(<#n(9@6PC-P!nfLX|JlgID>@ zY9iXh=dK59xSysUT{_%OlXkgrN!aW&K?+v7o=gh)*F8(EyD+)sOr|KSbF(#v`S}nH z!CYo^KCH;s4)sf1e^taGMA5%vonl&o_r1d!MilsJ&bO!y(SI7=C1xt<+@}bqjPLD3 zLjO)!yW=H2DI$DRc~t04!C;Ws?SP@l#^v-)X{w_@-iS9m-EA2Zz1Ikii}TA;Da`J) zZ1tt^K87af192gG$~h)|)O!3=Ul1;~c-N1FtO`GfA+atPA%Q#vk(t)8q@)*a0hgbbzDJiyYSi! z{15UG--;@#n)4JnG*K_l?bqq-IursvhB2Lkg`nr;fM8+(-A|at?XK(OZFhw*i^2Bl z>CVB6p@*o=N?eCiyKgpBM>WTb0kT;$qW4I?7l?2AMQsYJM0*S=O|<#OXwQQ4Oy>q??~ zksGcp{m%Q|evgMg?&IM-&U(Mrc|M=VWH=3!#9)#_R1a`x!T;22-e9~e7-$thMT3DF zFXSid3jxK@Z>lxJtACfmODFV6o}yldZZYrXlb0APg7}CrN^}yW9tO+od^CIqdyt^1 z3Q64*$k1U|157sLUjP&YfJbMbM>8}8P1%RJ158*L2ukdK@g31ZV zXnggCG!$UYuNzRZM4dW_GAhYJ?-Xi!Zg34b{?)i%0=ITe5b7rb&IcIg+@Lr zAfNv3mSOl&DS961_y*Nnw8M1!H8%NU&n|Is=JTTO%tF{ss<|k9%9nNCr(1n+tV?#% z2^LdG=d#8KPDF0xY>`f7>7qp@ui(Y?nD_%j4E<$FN8_)Z+BerLayxDO%1nShvTUj~ zSbJxW62bKJ!;jBMK%u|k%Gnr_m)K8v@e-dof5-WL3{fHA`{#E~(1IbGAZ?~Lq}x7Q zzgF3Ln>1zC+?e8vndZj0c+900Q#wC@zfWo{ zva>}3Uj*E@w|g;^^)A^$O-mC-rvXQ*%%(5|O3`0^V~u&IPX5;FfP7J-`bI*=wY5s> z)Zt60+{A~x#4zl~T9z%ty)4mTjbx5%f@wXRBJ?~yio zcwMNjz4f$J?wbaDW}{zK@pg3sYmwh{4+Y2&lYMDjKT9}NY|Im_f}3c{cd%LjBW;VGa_QyWR?6R zc_1=)+J0s#Cs|Zm$vE-wNe0WF_TQhs&s;$QR5+V#H@H&LoutTHJ!YXA8`BZ5QibJl z_6g~dl(M$a-gW!_@N4nW49bGK|IIbTS>%Z+QO`6XpGY|&pSYh!Mw%-A;&8UZbU`cF zHn3Gc=NlaHn{}?67byG{C$*nQZR84mOj*qXz-AIV(Z{s=K-X!tfXSVY?z81kiPp1J`eZ}HjF@EGpZf#U&U<(gBbJw{Wlp$4j& z7pZxMp*l;`P7+wnKkL1i(GB6cq2t9s4s8S1Gc%PsgSAys|Taxh9>!v>hXmG_lf@&VbYSp?85d~?mTU6c%1pp z!F0B{A>i8PvN?JE(lO1;NTitVw^8-1y6rD$v}u>aiwGEgc&SjD1(U9k~h5*!B>$?`K|H9Kp<0JbUya zGPLzi^zOudQ=oQM0E$hFXPm5Uj^C=k*@+4>H-BglDkxQEQCjUdX@)wSI=?!7M7DKC zt?Bk6L3f0w@>oN6nZ0F_bS-SOX7naO-~|9i-Iw?IDXw4m>sSRZA@X*{x0P{Ra4_V^cFzHj~!CNHzq7ZjP~fSrB+3l#w|K62h8++U>~E# z{aPrg_UOMyJGdmCmgv`cMB1y>wRqb8`8qC7C%bd>{p9+ZK59QCBEsrWatAX!>`>rROW>8LLsdc{p0P%P+Uz9S4GW~M~OSweOcBp+|$K{T-4 z(Q*fxih|aIxqZC=8jPFEJlxoWb8*n3X-+(;5aT=^6BzzY63ai2D zH67OodxN#DxJR$Wgf;)DsA^$goy7Y8!S(X#Zuc7(1jL3y1eD)2X~?meQ+W924li~{ zK7HtoAoGlOc;9}JfBH|ijWgw45GaK7#or}ka2P|o&ezM7UHSu3C_DPf@N5uj$+ZP{PpVEc^BrC+VJW;*n>G|D7ZcJ zIAkhPnttJhjI-(7`3WeAoSNc0>oLEB^k<@_j|gA#ePXfytqxJAaip}Xd`hBlYfTU ziItuwMplyIS$9SU-k##W2J}n*jTyfZ2%VgxcXHt&*o>V|Yz=`_Ev9WfBqHBz*gE;Z z`m2}0LdHe{}i|s;vkeCec5=I*f6}H&eQ(dp(%`=%*!wxU^-lzSNyPAj?Kz9 zrIIUv~ko%7p&zIu3?K;XU{g6vrFc02~xDSSb%ckfO3Rz~V7b zckveb-B(VxMKBY}OtgCt?F4oo?BFrx-5*3%GR9^0PHMp?bCQ5F24LGb@?rsKGXkjC zy!v#6%*c)oH4E5fB9E<;e~hwSE}8#uI(}^B;=;Ql!rPxOaux&jI_vb8hK09h+>{knP`kP zX>wX>0K}viG70Rk4o{`$QbhMD<2uk1hQdPz#8B@5uP@b6nSu$Mq)HC3oSj`3UXPO;0l2=gC+0{ zfX3E@Y{ymKNf(PlX#hm^Wl-DPT)gv{6w2)>IPeNAIVKt-I5PRsnNd=et2GJKU(Nti zl`Yv`dXVO>Ol0qu(7m0{g-+@4s4P*RGJzEtuboq1X9RxP3;xb#G!GCKJ3K=8&r7QX z9V%icmI;QR27&3B&LI%b*EhC4ff**v2mK32ER}#(nfKQBS-3wU4|EC_r839?WTNa# zosq*%krLJx+DwP4N2&CDdR4^vL}@} z2}VxpKxHSG7tk<1B?v0;p${2+c(UN%mJaJ$?92!m>MdFL|MLi7{Q2#$ zI?z&*8WDz+s@QHP%wf|Cvjk+|Y+d4SS55g`Okwxta)m)dpW64twgylxW7QQo|7`x* z5W`!yh09tAQhN*1Tn{|)4QEsJ%ws#Pds?4IxNCdFnj|LN^k?FxWMh} zI8u-j=5b$WBK0_5^m;O|-;=BgGAr3X!3$q(*+Fv7DT%<5N*&~I12?M4yIgu|eIr2F zT!$8uxpb}ArLx4w-xZm9_)vV6R%gGQ*Esk!Kk>LDIvv~^GdMmr)+H4T(UWK%;eKkE zw&o}wRpQ;=UX_6BYCiu%Y?&dYEAR^W;)AwhjxD+ToNK*~wn>7*;gP?R5hr2yc>a<= zR9sRYxqNxu-{Jq$DQ+Gn<2a!qqd6WzwzgWn?K8U*(@z?IoN{nB%`jxgh>P=xeb(^j zO|2E;F7*_~D_rySRp|>6EdH?Z7^qya4p>0x(eMb#tjW$#JjPuK%GURe0#+bQ^h|7; za@+2I$XuQ%niPh2mys2X@%?JA%N~0=21u}DyDcF-jY8H#b#)Xn$S#*QUm`2ASPvcn zWcX?*KgFY0ZJGHQl^^~K5N9YtFieBkvN^p3l}??4J4fZZ?GR5HuGT`7^Ke}8O1yKrrQ4i7{OT3=Ef zCSR-3)Xo6M=t%VT2@z*my-a&FT$>|RtFNH#jD!kQ=vGMqTOTO@1@!u(2X^QUWLu95 zQbqyfO%DV_L_iOl|k}4pf?Uym-yg%?_Q?U zv)U7fx(FIjRekv<->&8Bi~rIGMNRAp^eUA^9Lzl>Vg~R5AD6G;^V_o$2X;X+=2*`n z%E;kFL4b1=6lwA@Nx(;EcYW8#k*T}!#cx12 zd;Bbp&7dqg2xEjU$exE1c@;zY^s3oE|2*nR(5+RCV*Y ztg`%&V<#FRMeRS~h|e;47mczG&kC!sb<$~`u+BK!r4B$vr+n{^dVCXz^7es??a*Oj z!zbL6Z=%M8%@U?XRoEE5)}Gi!u>aTd6Yk;Kp!JX=xhkv}-Uvvf$RhCUUk|7jbsQfC zeP?DqPxvzL|G93`qtxbIdam7>(Gg{+BX_n8@!MmVq&^$KnF0g&-s^HIq6q@k)Nq%6 zkd3`l5XzlX3$()^SrH7L0$XI1A{2`lZHWdVj8IeF*1J& zf2?{`RK~R>OxdTuCgN~AiLrd{gUKfiV*E>hmEq0h#iqRh{FnN$LH3I zeV1{?KcNTa;LczXy;{{+)G+zb-1FE82&$tftA+!FD=U0`4d8uK_=k*tn*VYj6 z%`Z;6h0@(j%!UjpTAUtHAgY%y(w&`ZkZFr3T*zq*uiPVoOk0u#iZ7{_XgQlQ@m{2a z&pVeELf)4X?qQKrb`FOv5%h+C)6Tf5nhOe7YOygD@Bk5b8>lly#gM8E6I}>Y6wa&U zeCDghCDZQ5W@7vvTV`vUE}D~@;i~AS%g!%!!dD6+ul)+PwGo{9S@bG$$m3khWBMwF z1t*5pZk%7ajkPD%sE#!c5$3ZE6W=K0^Xrb`t%Jvr1O z*U^!cwtP=n{xO1IbVC8%@($JX$O0%z*8^{xv~+;@!HJcEiQahFxRjDo?wJ1^&s*-< zRAKl+kZA{Gs(of0Uw34fSAYU><(VnpxF6gp9G{rz-!@Fv;OKTr=4iar8oz;fgm zJRY=6z+bNLm}{L7SQ7 zpKFU$6~ELe7CoT+3%->0yt!i!ORPEb&5uwaO2jWr6VD_smbb?!f%IcKqTG*TxG7<& z`TSF=Z6%I+p38r);b6c&g;Lnpk?(&z>Ga~O1{o8;+m(SrJ$xgM{DYMODc5qUfj79h zD%Q1>9;~`;H5#%#T}N#gEYWh{pn|1rW@cVGpFQNgLd`YL5Um6Cb3Ef%k@ce)gW$XO z$nz3{S58C-h1n;Pie%tzp<)+4#?m+^p2brtmVwLynXcvw)3EG0Lx94uP;PAg!v~`{ zp&^>cSg`+_EyN6;TKH|F8}2&hsya(d?hEVO596LQ8^a}(k?7F*1x*ea|FaIj8{FZo^muDrchM0)iIJT zapX0_tR^VTx>sF|Y>N`*Fcy`Gw}txZTLwwt!v>D74(#|q;lF7}xLr%A*l>-D=?kIi zNhTO0Lnx32VeDZ1NY6!T5wE9^v2`78H`y|JBZn)u5o&uU=GYQ=j^0S4$a!^6LhVBt zx#9)^b!%;p{-JcpD*$FUCRs3O&Ruuhsikalw{jT32#fr`zpqFD+aKUgPVD3+#6sUo zy!kg-cPBn`YhRKcYK3K^LatQwC6lP;@y|d|6hK+Qp=i+c{gB5J@X;@c0($Zk5`b|I zS5&~M|LlMI;C)=wn7X1m1}F4d-h7Wx=YRp{1{kK(Yib2tQ0g)FOwc=yu)eTi3i2n6 zRxJB!S;#A+FE@%P`F`J(cW%e-8Arh7`=Rbq0Xbw5e>u1z;2DEiw2u;qzDWU7} zC~Iy`R+cgFeHHlEkH8@jL+@?1D-mq4g6H&_B`jX+&+mKQUsArkd62yd?G((b3Wr-= z?OgkjJ#{SiszAmc~`Ht*z+silhjB#>u*9*77DEO=$ zhPB@YWe+fhj2zZUYTkQV Date: Tue, 19 Dec 2023 13:17:26 +0700 Subject: [PATCH 358/639] Update frontend/src/app/components/transaction/transaction.component.ts Co-authored-by: mononaut <83316221+mononaut@users.noreply.github.com> --- .../src/app/components/transaction/transaction.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/transaction/transaction.component.ts b/frontend/src/app/components/transaction/transaction.component.ts index f110c0435..1ee8a3ad6 100644 --- a/frontend/src/app/components/transaction/transaction.component.ts +++ b/frontend/src/app/components/transaction/transaction.component.ts @@ -439,7 +439,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { block_time: block.timestamp, }; this.stateService.markBlock$.next({ blockHeight: block.height }); - if (this.accelerationInfo && ['accelerating', 'mined', 'completed'].includes(this.accelerationInfo.status)) { + if (this.tx.acceleration || (this.accelerationInfo && ['accelerating', 'mined', 'completed'].includes(this.accelerationInfo.status))) { this.audioService.playSound('wind-chimes-harp-ascend'); } else { this.audioService.playSound('magic'); From 7f488f5b01048dce6552a69c72daa42e3147dbe9 Mon Sep 17 00:00:00 2001 From: natsee Date: Tue, 19 Dec 2023 14:40:37 +0100 Subject: [PATCH 359/639] Fade out the bottom of collapsed rbf history --- .../rbf-timeline/rbf-timeline.component.html | 4 ++-- .../rbf-timeline/rbf-timeline.component.scss | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html index 8a750e624..9ff35d669 100644 --- a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html +++ b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html @@ -1,6 +1,6 @@
    -
    +
    @@ -37,7 +37,7 @@
    -
    +
    diff --git a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss index 8afc3f026..c0b38b59d 100644 --- a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss +++ b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss @@ -31,6 +31,19 @@ -ms-overflow-style: none; scrollbar-width: none; + .fade-out { + position: relative; + + &::before { + content: ''; + position: absolute; + width: 100%; + height: 100%; + background: linear-gradient(to bottom, rgba(36, 39, 62, 0) 0%, rgba(36, 39, 62, 1) 100%); + z-index: 1; + } + } + &::-webkit-scrollbar { display: none; } @@ -197,6 +210,10 @@ &.fullrbf { border-right: solid 10px #1bd8f4; } + &.last-pipe { + height: 150px; + bottom: -42px; + } } .corner { From fc36e04dc0500c0132c2dd90de65a7c7cc124a23 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Tue, 19 Dec 2023 08:20:21 -0700 Subject: [PATCH 360/639] update start9 os and icon --- README.md | 2 +- .../app/docs/api-docs/api-docs.component.html | 2 +- frontend/src/resources/profile/start9.png | Bin 14008 -> 49886 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e5779416d..e272c6b39 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Mempool can be conveniently installed on the following full-node distros: - [RaspiBlitz](https://github.com/rootzoll/raspiblitz) - [RoninDojo](https://code.samourai.io/ronindojo/RoninDojo) - [myNode](https://github.com/mynodebtc/mynode) -- [Start9](https://github.com/Start9Labs/embassy-os) +- [Start9](https://github.com/Start9Labs/start-os) - [nix-bitcoin](https://github.com/fort-nix/nix-bitcoin/blob/a1eacce6768ca4894f365af8f79be5bbd594e1c3/examples/configuration.nix#L129) **We highly recommend you deploy your own Mempool instance this way.** No matter which option you pick, you'll be able to get your own fully-sovereign instance of Mempool up quickly without needing to fiddle with any settings. diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index 49b11ad7b..77cf01326 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -373,7 +373,7 @@
    - We support one-click installation on a number of Raspberry Pi full-node distros including Umbrel, RaspiBlitz, MyNode, RoninDojo, and Start9's Embassy. + We support one-click installation on a number of Raspberry Pi full-node distros including Umbrel, RaspiBlitz, MyNode, RoninDojo, and StartOS. diff --git a/frontend/src/resources/profile/start9.png b/frontend/src/resources/profile/start9.png index 2cfe19ded9b1372494b8b11836ac62e5e9c90ad4..345a9869cf355fe25f27fa4d52132458a0d3f3aa 100644 GIT binary patch literal 49886 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

    Ovtf*nL@gSdACc7IN#w*q(qasboeh(OrTrAK3) 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 From 4f3852bbba88265b88ae0175febe5ce484e83bde Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Tue, 19 Dec 2023 21:49:52 -0700 Subject: [PATCH 361/639] One more --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e272c6b39..7e426f155 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Mempool can be conveniently installed on the following full-node distros: - [RaspiBlitz](https://github.com/rootzoll/raspiblitz) - [RoninDojo](https://code.samourai.io/ronindojo/RoninDojo) - [myNode](https://github.com/mynodebtc/mynode) -- [Start9](https://github.com/Start9Labs/start-os) +- [StartOS](https://github.com/Start9Labs/start-os) - [nix-bitcoin](https://github.com/fort-nix/nix-bitcoin/blob/a1eacce6768ca4894f365af8f79be5bbd594e1c3/examples/configuration.nix#L129) **We highly recommend you deploy your own Mempool instance this way.** No matter which option you pick, you'll be able to get your own fully-sovereign instance of Mempool up quickly without needing to fiddle with any settings. From f4715419073e98792b78e2735c4f72c2bed665e8 Mon Sep 17 00:00:00 2001 From: natsee Date: Wed, 20 Dec 2023 16:21:40 +0100 Subject: [PATCH 362/639] Fix fade out on RBF history --- .../rbf-timeline/rbf-timeline.component.html | 21 +++++------ .../rbf-timeline/rbf-timeline.component.scss | 35 ++++++++++--------- 2 files changed, 29 insertions(+), 27 deletions(-) diff --git a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html index 9ff35d669..6f19537e1 100644 --- a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html +++ b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.html @@ -1,6 +1,6 @@

    -
    +
    @@ -50,15 +50,16 @@
    -
    - - - - -
    +
    +
    +
    + + + +
    diff --git a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss index c0b38b59d..8962be63c 100644 --- a/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss +++ b/frontend/src/app/components/rbf-timeline/rbf-timeline.component.scss @@ -30,31 +30,32 @@ overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; - - .fade-out { - position: relative; - - &::before { - content: ''; - position: absolute; - width: 100%; - height: 100%; - background: linear-gradient(to bottom, rgba(36, 39, 62, 0) 0%, rgba(36, 39, 62, 1) 100%); - z-index: 1; - } - } - + &::-webkit-scrollbar { display: none; } + } - .toggle-wrapper { + .fade-out { + position: relative; + + &::before { + content: ''; + position: absolute; width: 100%; - text-align: center; - margin: 1.25em 0 0; + height: 70px; + top: -70px; + background: linear-gradient(to bottom, rgba(36, 39, 62, 0) 0%, rgba(36, 39, 62, 1) 100%); + z-index: 1; } } + .toggle-wrapper { + width: 100%; + text-align: center; + margin: 1.25em 0 0; + } + .intervals, .nodes { min-width: 100%; display: flex; From c3675d5b1c4d347a38204051302064d1b5f9e320 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 20 Dec 2023 18:30:19 +0000 Subject: [PATCH 363/639] Fix widget responsiveness on acceleration dashboard --- .../accelerations-list.component.html | 4 +- .../accelerations-list.component.scss | 67 ++++++++++++++++--- .../accelerator-dashboard.component.scss | 3 + 3 files changed, 61 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html index 32012d363..f2265282f 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html @@ -1,10 +1,10 @@ -
    +

    Accelerations

    -
    +
    diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss index 69aae18cc..4182abb68 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.scss @@ -14,11 +14,24 @@ .container-xl.legacy { max-width: 1140px; } +.container-xl.widget-container { + min-height: 335px; + @media (max-width: 767px) { + min-height: auto; + } +} .container { max-width: 100%; } +.acceleration-list { + min-height: 295px; + @media (max-width: 767px) { + min-height: auto; + } +} + tr, td, th { border: 0px; padding-top: 0.65rem !important; @@ -51,34 +64,63 @@ tr, td, th { .txid { width: 25%; - @media (max-width: 1100px) { - padding-right: 10px; - } - @media (max-width: 875px) { - display: none; - } overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 30%; + @media (max-width: 1060px) and (min-width: 768px) { + display: none; + } + @media (max-width: 500px) { + display: none; + } } -.fee { - width: 35%; -} - -.block { +.fee-rate { width: 20%; + @media (max-width: 1060px) and (min-width: 768px) { + text-align: start !important; + } + @media (max-width: 500px) { + text-align: start !important; + } + @media (max-width: 840px) and (min-width: 768px) { + display: none; + } + @media (max-width: 410px) { + display: none; + } } .bid { width: 30%; + min-width: 150px; + @media (max-width: 840px) and (min-width: 768px) { + text-align: start !important; + } + @media (max-width: 410px) { + text-align: start !important; + } } .time { width: 25%; } +.fee { + width: 35%; + @media (max-width: 1060px) and (min-width: 768px) { + text-align: start !important; + } + @media (max-width: 500px) { + text-align: start !important; + } +} + +.block { + width: 20%; +} + .status { width: 20% } @@ -122,4 +164,7 @@ tr, td, th { flex-direction: row; align-items: center; justify-content: center; + @media (max-width: 767px) { + height: 100px; + } } diff --git a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss index 0d1c3b1c0..145569342 100644 --- a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss +++ b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.scss @@ -139,6 +139,9 @@ } .list-card { height: 410px; + @media (max-width: 767px) { + height: auto; + } } .mempool-block-wrapper { From 07f9410d457ce2273259e2e5c6243750c7d4381d Mon Sep 17 00:00:00 2001 From: wiz Date: Thu, 21 Dec 2023 05:05:59 +0900 Subject: [PATCH 364/639] ops: Fix elements unix socket path --- production/nginx/upstream-esplora.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/production/nginx/upstream-esplora.conf b/production/nginx/upstream-esplora.conf index 941f43566..b7fbbf163 100644 --- a/production/nginx/upstream-esplora.conf +++ b/production/nginx/upstream-esplora.conf @@ -2,7 +2,7 @@ upstream esplora-bitcoin-mainnet { server unix:/bitcoin/socket/esplora-bitcoin-mainnet fail_timeout=10s max_fails=10 weight=99999; } upstream esplora-liquid-mainnet { - server unix:/elements/socket/esplora-liquid-mainnet fail_timeout=10s max_fails=10 weight=99999; + server unix:/elements/socket/esplora-elements-liquid fail_timeout=10s max_fails=10 weight=99999; } upstream esplora-bitcoin-testnet { server unix:/bitcoin/socket/esplora-bitcoin-testnet fail_timeout=10s max_fails=10 weight=99999; @@ -11,5 +11,5 @@ upstream esplora-bitcoin-signet { server unix:/bitcoin/socket/esplora-bitcoin-signet fail_timeout=10s max_fails=10 weight=99999; } upstream esplora-liquid-testnet { - server unix:/elements/socket/esplora-liquid-testnet fail_timeout=10s max_fails=10 weight=99999; + server unix:/elements/socket/esplora-elements-liquidtestnet fail_timeout=10s max_fails=10 weight=99999; } From ec4c418c22339f511008d090fd57056dd0744f01 Mon Sep 17 00:00:00 2001 From: James Blacklock Date: Wed, 20 Dec 2023 17:02:12 -0500 Subject: [PATCH 365/639] sign contributor agreement --- contributors/jamesblacklock.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 contributors/jamesblacklock.txt diff --git a/contributors/jamesblacklock.txt b/contributors/jamesblacklock.txt new file mode 100644 index 000000000..11591f451 --- /dev/null +++ b/contributors/jamesblacklock.txt @@ -0,0 +1,3 @@ +I hereby accept the terms of the Contributor License Agreement in the CONTRIBUTING.md file of the mempool/mempool git repository as of December 20, 2023. + +Signed: jamesblacklock From cd964d37e806811fa52dba0647e70efd802a9050 Mon Sep 17 00:00:00 2001 From: James Blacklock Date: Wed, 20 Dec 2023 17:03:06 -0500 Subject: [PATCH 366/639] fix bug in backend Docker start.sh script --- backend/.gitignore | 6 ++++++ docker/backend/start.sh | 2 +- frontend/.gitignore | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/backend/.gitignore b/backend/.gitignore index b4393c2f0..5cefd4bab 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -7,6 +7,12 @@ mempool-config.json pools.json icons.json +# docker +Dockerfile +GeoIP +start.sh +wait-for-it.sh + # compiled output /dist /tmp diff --git a/docker/backend/start.sh b/docker/backend/start.sh index 232cf7284..aab5ad489 100755 --- a/docker/backend/start.sh +++ b/docker/backend/start.sh @@ -53,7 +53,7 @@ __ELECTRUM_TLS_ENABLED__=${ELECTRUM_TLS_ENABLED:=false} # ESPLORA __ESPLORA_REST_API_URL__=${ESPLORA_REST_API_URL:=http://127.0.0.1:3000} -__ESPLORA_UNIX_SOCKET_PATH__=${ESPLORA_UNIX_SOCKET_PATH:="null"} +__ESPLORA_UNIX_SOCKET_PATH__=${ESPLORA_UNIX_SOCKET_PATH:=""} __ESPLORA_BATCH_QUERY_BASE_SIZE__=${ESPLORA_BATCH_QUERY_BASE_SIZE:=1000} __ESPLORA_RETRY_UNIX_SOCKET_AFTER__=${ESPLORA_RETRY_UNIX_SOCKET_AFTER:=30000} __ESPLORA_REQUEST_TIMEOUT__=${ESPLORA_REQUEST_TIMEOUT:=5000} diff --git a/frontend/.gitignore b/frontend/.gitignore index 8159e7c7b..d2a765dda 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -6,6 +6,13 @@ /out-tsc server.run.js +# docker +Dockerfile +entrypoint.sh +nginx-mempool.conf +nginx.conf +wait-for + # Only exists if Bazel was run /bazel-out From 0370cc896c50e2236e4b8abc815fb4a3d1e6e653 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Thu, 21 Dec 2023 13:06:52 +0000 Subject: [PATCH 367/639] Fix missing mempool fee chart when webgl disabled --- .../mempool-block/mempool-block.component.ts | 1 + frontend/src/app/services/websocket.service.ts | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/components/mempool-block/mempool-block.component.ts b/frontend/src/app/components/mempool-block/mempool-block.component.ts index bb6e7791f..197b07247 100644 --- a/frontend/src/app/components/mempool-block/mempool-block.component.ts +++ b/frontend/src/app/components/mempool-block/mempool-block.component.ts @@ -64,6 +64,7 @@ export class MempoolBlockComponent implements OnInit, OnDestroy { }), tap(() => { this.stateService.markBlock$.next({ mempoolBlockIndex: this.mempoolBlockIndex }); + this.websocketService.startTrackMempoolBlock(this.mempoolBlockIndex); }) ); diff --git a/frontend/src/app/services/websocket.service.ts b/frontend/src/app/services/websocket.service.ts index 1e7f528eb..3c72252db 100644 --- a/frontend/src/app/services/websocket.service.ts +++ b/frontend/src/app/services/websocket.service.ts @@ -183,14 +183,18 @@ export class WebsocketService { } startTrackMempoolBlock(block: number) { - this.websocketSubject.next({ 'track-mempool-block': block }); - this.isTrackingMempoolBlock = true - this.trackingMempoolBlock = block + // skip duplicate tracking requests + if (this.trackingMempoolBlock !== block) { + this.websocketSubject.next({ 'track-mempool-block': block }); + this.isTrackingMempoolBlock = true; + this.trackingMempoolBlock = block; + } } stopTrackMempoolBlock() { this.websocketSubject.next({ 'track-mempool-block': -1 }); - this.isTrackingMempoolBlock = false + this.isTrackingMempoolBlock = false; + this.trackingMempoolBlock = null; } startTrackRbf(mode: 'all' | 'fullRbf') { From 40f2d553e20db8f8054f7ad909b830a1c47c7459 Mon Sep 17 00:00:00 2001 From: natsee Date: Fri, 22 Dec 2023 10:39:40 +0100 Subject: [PATCH 368/639] Fix faq nav bar overflow --- frontend/src/app/docs/api-docs/api-docs.component.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/docs/api-docs/api-docs.component.scss b/frontend/src/app/docs/api-docs/api-docs.component.scss index 8a4150262..27dfec61d 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.scss +++ b/frontend/src/app/docs/api-docs/api-docs.component.scss @@ -157,7 +157,7 @@ ul.no-bull.block-audit code{ position: fixed; top: 80px; overflow-y: auto; - height: calc(100vh - 50px); + height: calc(100vh - 75px); scrollbar-color: #2d3348 #11131f; scrollbar-width: thin; } From 93b074edf09b44c56c0b30cc21bc6d338d7f1c0b Mon Sep 17 00:00:00 2001 From: natsee Date: Wed, 27 Dec 2023 18:50:41 +0100 Subject: [PATCH 369/639] Add endpoints to docs api --- .../src/app/docs/api-docs/api-docs-data.ts | 1181 ++++++++++++++++- 1 file changed, 1172 insertions(+), 9 deletions(-) diff --git a/frontend/src/app/docs/api-docs/api-docs-data.ts b/frontend/src/app/docs/api-docs/api-docs-data.ts index 97be0c2b1..c5319bf2a 100644 --- a/frontend/src/app/docs/api-docs/api-docs-data.ts +++ b/frontend/src/app/docs/api-docs/api-docs-data.ts @@ -209,6 +209,114 @@ export const restApiDocsData = [ } } }, + { + type: "endpoint", + category: "general", + httpRequestMethod: "GET", + fragment: "get-price", + title: "GET Price", + description: { + default: "Returns bitcoin latest price denominated in main currencies." + }, + urlString: "/v1/prices", + showConditions: [""], + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + commonJS: ``, + esModule: ``, + curl: `/api/v1/prices`, + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [], + response: `{ + time: 1703252411, + USD: 43753, + EUR: 40545, + GBP: 37528, + CAD: 58123, + CHF: 37438, + AUD: 64499, + JPY: 6218915 +}` + }, + codeSampleTestnet: emptyCodeSample, + codeSampleSignet: emptyCodeSample, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, + { + type: "endpoint", + category: "general", + httpRequestMethod: "GET", + fragment: "get-historical-price", + title: "GET Historical Price", + description: { + default: "Returns bitcoin historical price denominated in main currencies." + }, + urlString: "/v1/historical-price", + showConditions: [""], + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + commonJS: ``, + esModule: ``, + curl: `/api/v1/historical-price`, + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [], + response: `{ + prices: [ + { + time: 1703692800, + USD: 42972, + EUR: 39590, + GBP: 36803, + CAD: 56883, + CHF: 36486, + AUD: 63006, + JPY: 6124530 + }, + ... + { + time: 1279497600, + USD: 0.08584, + EUR: -1, + GBP: -1, + CAD: -1, + CHF: -1, + AUD: -1, + JPY: -1 + } + ], + exchangeRates: { + USDEUR: 0.92, + USDGBP: 0.86, + USDCAD: 1.32, + USDCHF: 0.85, + USDAUD: 1.47, + USDJPY: 142.52 + } +} +` + }, + codeSampleTestnet: emptyCodeSample, + codeSampleSignet: emptyCodeSample, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, { type: "endpoint", category: "general", @@ -1409,20 +1517,20 @@ export const restApiDocsData = [ ]` }, codeSampleSignet: { - esModule: [`1wiz18xYmhRX6xStj2b9t1rwWX4GKUgpv`], - commonJS: [`1wiz18xYmhRX6xStj2b9t1rwWX4GKUgpv`], - curl: [`1wiz18xYmhRX6xStj2b9t1rwWX4GKUgpv`], + esModule: [`tb1pu8ysre22dcl6qy5m5w7mjwutw73w4u24slcdh4myq06uhr6q29dqwc3ckt`], + commonJS: [`tb1pu8ysre22dcl6qy5m5w7mjwutw73w4u24slcdh4myq06uhr6q29dqwc3ckt`], + curl: [`tb1pu8ysre22dcl6qy5m5w7mjwutw73w4u24slcdh4myq06uhr6q29dqwc3ckt`], response: `[ { - txid: "e58b47f657b496a083ad9a4fb10c744d5e993028efd9cfba149885334d98bdf5", + txid: "c56a054302df8f8f80c5ac6b86b24ed52bf41d64de640659837c56bc33d10c9e", vout: 0, status: { confirmed: true, - block_height: 698571, - block_hash: "00000000000000000007536c0a664a7d2a01c31569623183eba0768d9a0c163d", - block_time: 1630520708 + block_height: 174923, + block_hash: "000000750e335ff355be2e3754fdada30d107d7d916aef07e2f5d014bec845e5", + block_time: 1703321003 }, - value: 642070789 + value: 546 }, ... ]` @@ -1470,6 +1578,65 @@ export const restApiDocsData = [ } } }, + { + type: "endpoint", + category: "addresses", + httpRequestMethod: "GET", + fragment: "get-address-validate", + title: "GET Address Validation", + description: { + default: "Returns whether an address is valid or not. Available fields: isvalid (boolean), address (string), scriptPubKey (string), isscript (boolean), iswitness (boolean), witness_version (numeric, optional), and witness_program (string, optional).", + }, + urlString: "/v1/validate-address/:address", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/validate-address/%{1}`, + commonJS: ``, + esModule: ``, + }, + codeSampleMainnet: { + curl: [`1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY`], + response: `{ + isvalid: true, + address: "1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY", + scriptPubKey: "76a914c825a1ecf2a6830c4401620c3a16f1995057c2ab88ac", + isscript: false, + iswitness: false +}` + }, + codeSampleTestnet: { + curl: [`tb1q4kgratttzjvkxfmgd95z54qcq7y6hekdm3w56u`], + response: `{ + isvalid: true, + address: "tb1q4kgratttzjvkxfmgd95z54qcq7y6hekdm3w56u", + scriptPubKey: "0014ad903ead6b149963276869682a54180789abe6cd", + isscript: false, + iswitness: true, + witness_version: 0, + witness_program: "ad903ead6b149963276869682a54180789abe6cd" +}` + }, + codeSampleSignet: { + curl: [`tb1pu8ysre22dcl6qy5m5w7mjwutw73w4u24slcdh4myq06uhr6q29dqwc3ckt`], + response: `{ + isvalid: true, + address: "tb1pu8ysre22dcl6qy5m5w7mjwutw73w4u24slcdh4myq06uhr6q29dqwc3ckt", + scriptPubKey: "5120e1c901e54a6e3fa0129ba3bdb93b8b77a2eaf15587f0dbd76403f5cb8f40515a", + isscript: true, + iswitness: true, + witness_version: 1, + witness_program: "e1c901e54a6e3fa0129ba3bdb93b8b77a2eaf15587f0dbd76403f5cb8f40515a" +}` + }, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, { type: "category", category: "assets", @@ -2109,6 +2276,61 @@ export const restApiDocsData = [ } } }, + { + type: "endpoint", + category: "blocks", + httpRequestMethod: "GET", + fragment: "get-block-timestamp", + title: "GET Block Timestamp", + description: { + default: "Returns the height and the hash of the block closest to the given :timestamp." + }, + urlString: "/v1/mining/blocks/timestamp/:timestamp", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/mining/blocks/timestamp/%{1}`, + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: ['1672531200'], + response: `{ + height: 769786, + hash: "000000000000000000017f6405c2382de84944eb21be9cec0379a735813f137b", + timestamp: "2022-12-31T23:30:31.000Z" +}` + }, + codeSampleTestnet: { + esModule: [], + commonJS: [], + curl: ['1672531200'], + response: `{ + height: 2413838, + hash: "00000000000000082888e2353ea4baaea04d2e0e88f2ee054ad2bbcc1d6a5469", + timestamp: "2022-12-31T23:57:26.000Z" +}` + }, + codeSampleSignet: { + esModule: [], + commonJS: [], + curl: ['1672531200'], + response: `{ + height: 123713, + hash: "0000010c6df8ffe1684ab9d7cfac69836a4538c057fab4571b809120fe486c96", + timestamp: "2022-12-31T23:55:56.000Z" +}` + }, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, { type: "endpoint", category: "blocks", @@ -4042,6 +4264,101 @@ export const restApiDocsData = [ } } }, + { + type: "endpoint", + category: "mining", + httpRequestMethod: "GET", + fragment: "get-difficulty-adjustments", + title: "GET Difficulty Adjustments", + description: { + default: "

    Returns the record of difficulty adjustments over the specified trailing :interval:

    • Block timestamp
    • Block height
    • Difficulty
    • Difficulty change

    If no time interval is specified, all available data is returned." + }, + urlString: "/v1/mining/difficulty-adjustments/[:interval]", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/mining/difficulty-adjustments/1m`, + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [], + response: `[ + [ + 1703311464, + 822528, + 72006146478567.1, + 1.06983 + ], + [ + 1702180644, + 820512, + 67305906902031.39, + 0.990408 + ], + [ + 1700957763, + 818496, + 67957790298897.88, + 1.0507 + ] +]` + }, + codeSampleTestnet: { + esModule: [], + commonJS: [], + curl: [], + response: `[ + [ + 1703429523, + 2544008, + 105074715.9955905, + 105075000 + ], + [ + 1703426009, + 2544005, + 1, + 0 + ], + [ + 1703422944, + 2544000, + 105074715.9955905, + 105075000 + ], + ... +]` + }, + codeSampleSignet: { + esModule: [], + commonJS: [], + curl: [], + response: `[ + [ + 1702402252, + 173376, + 0.002967416960321784, + 1.01893 + ], + [ + 1701214807, + 171360, + 0.002912289751655253, + 0.9652 + ] +]` + }, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, { type: "endpoint", category: "mining", @@ -4559,6 +4876,407 @@ export const restApiDocsData = [ }, ... ] +}` + }, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, + { + type: "endpoint", + category: "mining", + httpRequestMethod: "GET", + fragment: "get-block-predictions", + title: "GET Block Predictions", + description: { + default: "

    Returns average block health in the specified :timePeriod, ordered oldest to newest. :timePeriod can be any of the following: " + miningTimeIntervals + ".

    For 24h and 3d time periods, every block is included and figures are exact (not averages). For the 1w time period, figures may be averages depending on how fast blocks were found around a particular timestamp. For other time periods, figures are averages.

    " + }, + urlString: ["/v1/mining/blocks/predictions/:timePeriod"], + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/mining/blocks/predictions/%{1}`, + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [`3y`], + response: `[ + [ + 1687247274, + 777625, + 100 + ], + [ + 1687066238, + 788621, + 99.85 + ], + [ + 1687263518, + 795182, + 99.46 + ], + [ + 1687312271, + 795260, + 100 + ], + ... +]` + }, + codeSampleTestnet: { + esModule: [], + commonJS: [], + curl: [`3y`], + response: `[ + [ + 1687246773, + 2429248, + 100 + ], + [ + 1687285500, + 2438380, + 100 + ], + [ + 1687342820, + 2438467, + 100 + ], + [ + 1687372143, + 2438522, + 100 + ], + ... +]` + }, + codeSampleSignet: { + esModule: [], + commonJS: [], + curl: [`3y`], + response: `[ + [ + 1687246696, + 129639, + 0 + ], + [ + 1687303289, + 148191, + 0 + ], + [ + 1687315093, + 148218, + 0 + ], + [ + 1687368211, + 148312, + 0 + ], + ... +]` + }, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, + { + type: "endpoint", + category: "mining", + httpRequestMethod: "GET", + fragment: "get-block-audit-score", + title: "GET Block Audit Score", + description: { + default: "Returns the block audit score for the specified :blockHash. Available fields: hash, matchRate, expectedFees, and expectedWeight." + }, + urlString: ["/v1/mining/blocks/audit/score/:blockHash"], + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/mining/blocks/audit/score/%{1}`, + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [`000000000000000000032535698c5b0c48283b792cf86c1c6e36ff84464de785`], + response: `{ + hash: "000000000000000000032535698c5b0c48283b792cf86c1c6e36ff84464de785", + matchRate: 99.66, + expectedFees: 12090955, + expectedWeight: 3991988 +}` + }, + codeSampleTestnet: { + esModule: [], + commonJS: [], + curl: [`000000000000025a66f30a181e438b9f65ef33cec3014b7a4ff4c7578289cd6e`], + response: `{ + hash: "000000000000025a66f30a181e438b9f65ef33cec3014b7a4ff4c7578289cd6e", + matchRate: 100, + expectedFees: 579169, + expectedWeight: 12997 +}` + }, + codeSampleSignet: { + esModule: [], + commonJS: [], + curl: [`000000c1491d7d4229d4bf07e0dcaa7e396767b45be388e1174c7439a9490121`], + response: `{ + hash: "000000c1491d7d4229d4bf07e0dcaa7e396767b45be388e1174c7439a9490121", + matchRate: 100, + expectedFees: 80520, + expectedWeight: 16487 +}` + }, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, + { + type: "endpoint", + category: "mining", + httpRequestMethod: "GET", + fragment: "get-blocks-audit-scores", + title: "GET Blocks Audit Scores", + description: { + default: "Returns blocks audit score for the past 16 blocks. If :startHeight is specified, the past 15 blocks before (and including) :startHeight are returned. Available fields: hash, matchRate, expectedFees, and expectedWeight." + }, + urlString: ["/v1/mining/blocks/audit/scores/:startHeight"], + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/mining/blocks/audit/scores/%{1}`, + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [`820000`], + response: `[ + { + hash: "000000000000000000034cd3689507da0386d3d1790dd56f2e6945e650e02c74", + matchRate: 100, + expectedFees: 225828975, + expectedWeight: 3991756 + }, + { + hash: "00000000000000000000b3ad97907e99c54e6b9145a8f77842e59d9c0c8377cf", + matchRate: 100, + expectedFees: 295107022, + expectedWeight: 3991752 + }, + ... +]` + }, + codeSampleTestnet: { + esModule: [], + commonJS: [], + curl: [`2566570`], + response: `[ + { + hash: "00000000000002e7e96e7b5ee04a5fbb3ef9575a9f4a99effb32a8a89d9d2f19", + matchRate: 100, + expectedFees: 964677, + expectedWeight: 24959 + }, + { + hash: "00000000000003bd3962806d0e06d9982eb2e06aeba912687b2bac3668db32aa", + matchRate: 100, + expectedFees: 631200, + expectedWeight: 15516 + }, + ... +]` + }, + codeSampleSignet: { + esModule: [], + commonJS: [], + curl: [`175504`], + response: `[ + { + hash: "00000012d54289925efc151f2e111e0775e80c3b6bb4b0dcd3ff01dec4bbc5d0", + matchRate: 100, + expectedFees: 4767, + expectedWeight: 2524 + }, + { + hash: "00000031e269cf0b567260b01ae11453175f4598fdb4f1908c5e2f4265b9d93a", + matchRate: 100, + expectedFees: 9090, + expectedWeight: 1851 + }, + ... +]` + }, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, + { + type: "endpoint", + category: "mining", + httpRequestMethod: "GET", + fragment: "get-block-audit-summary", + title: "GET Block Audit Summary", + description: { + default: "Returns the block audit summary for the specified :blockHash. Available fields: height, id, timestamp, template, missingTxs, addedTxs, freshTxs, sigopTxs, fullrbfTxs, acceleratedTxs, matchRate, expectedFees, and expectedWeight." + }, + urlString: ["/v1/block/:blockHash/audit-summary"], + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/block/%{1}/audit-summary`, + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [`00000000000000000000f218ceda7a5d9c289040b9c3f05ef9f7c2f4930e0123`], + response: `{ + height: 822418, + id: "00000000000000000000f218ceda7a5d9c289040b9c3f05ef9f7c2f4930e0123", + timestamp: 1703262962, + template: [ + { + txid: "1de119e4fe0fb92378de74a59fec337c39d505bbc0d04d20d151cc3fb7a91bf0", + fee: 92000, + vsize: 140.25, + value: 354245800, + rate: 655.9714795008913, + flags: 1099511631881 + }, + ... + ], + missingTxs: [], + addedTxs: [ + "3036565d1af6c5b14876a255cdf06214aa350e62154d1ce8619c8e933d0526f8", + "aaa9d8e8f1de712574182a618b4d608f96f39bfc55e296d2e5904561cdef2e77", + ... + ], + freshTxs: [ + "8ede292d8f0319cbe79fff9fd47564cd7f78fad74d7c506d2b157399ff41d904" + ], + sigopTxs: [], + fullrbfTxs: [ + "271e7792910a4ea134c02c03c9d7477b32a8531a5dd92fbc4dbf3ca70614fcce", + "634a5b2de393f0f5b4eeb335bee75c1779b1f2308a07e86cafb95894aa4734d0", + ... + ], + acceleratedTxs: [], + matchRate: 100, + expectedFees: 169464627, + expectedWeight: 3991702 +}` + }, + codeSampleTestnet: { + esModule: [], + commonJS: [], + curl: [`000000000000007cfba94e051326b3546c968a188a7e12e340a78cefc586bfe3`], + response: `{ + height: 2566708, + id: "000000000000007cfba94e051326b3546c968a188a7e12e340a78cefc586bfe3", + timestamp: 1703684826, + template: [ + { + txid: "6556caa3c6bff537f04837a6f7182dd7a253f31a46de4f21dec9584720156d35", + fee: 109707, + vsize: 264.75, + value: 456855, + rate: 414.37960339943345, + flags: 9895621445642 + }, + { + txid: "53b7743b8cfa0108dbcdc7c2f5e661b9d8f56216845a439449d7f9dfc466b147", + fee: 74640, + vsize: 215.5, + value: 19063915, + rate: 348.5338491295938, + flags: 1099528491017 + }, + ... + ], + missingTxs: [ + "8f2eae756119e43054ce1014a06e81d612113794d8b519e6ff393d7e0023396a", + "012b44b0fc0fddc549a056c85850f03a83446c843504c588cd5829873b30f5a9", + ... + ], + addedTxs: [], + freshTxs: [ + "af36a8b88f6c19f997614dfc8a41395190eaf496a49e8db393dacb770999abd5", + "fdfa272c8fe069573b964ddad605d748d8c737e94dfcd09bddaae0ee0a2445df", + ... + ], + sigopTxs: [], + fullrbfTxs: [], + acceleratedTxs: [], + matchRate: 86.96, + expectedFees: 1541639, + expectedWeight: 26425 +}` + }, + codeSampleSignet: { + esModule: [], + commonJS: [], + curl: [`0000008acf5177d07f1d648f4d54f26095936a5d29a0a6145dd75a0415e63c0f`], + response: `{ + height: 175519, + id: "0000008acf5177d07f1d648f4d54f26095936a5d29a0a6145dd75a0415e63c0f", + timestamp: 1703682844, + template: [ + { + txid: "f95b38742c483b81dc4ff49a803bae7625f1596ec5756c944d7586dfe8b38250", + fee: 3766, + vsize: 172.25, + value: 115117171776, + rate: 21.86357039187228, + flags: 1099528425481 + }, + { + txid: "8665c4d05732c930c2037bc0220e4ab9b1b64ce3302363ff7d118827c7347b52", + fee: 3766, + vsize: 172.25, + value: 115116509429, + rate: 21.86357039187228, + flags: 1099528425481 + }, + ... + ], + missingTxs: [], + addedTxs: [], + freshTxs: [], + sigopTxs: [], + fullrbfTxs: [], + acceleratedTxs: [], + matchRate: 100, + expectedFees: 10494, + expectedWeight: 6582 }` }, codeSampleLiquid: emptyCodeSample, @@ -5127,6 +5845,267 @@ export const restApiDocsData = [ } } }, + { + type: "endpoint", + category: "mempool", + httpRequestMethod: "GET", + fragment: "get-mempool-rbf", + title: "GET Mempool RBF Transactions", + description: { + default: "Returns the list of mempool transactions that are part of a RBF chain." + }, + urlString: "/v1/replacements", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/replacements`, + commonJS: ``, + esModule: ``, + }, + codeSampleMainnet: { + curl: [], + response: `[ + { + tx: { + txid: "1ca4b22006e57b1b13f5cc89a41cf7c9e99fe225aabf407251e4fe0268f22d93", + fee: 14983, + vsize: 141.5, + value: 343934, + rate: 105.886925795053, + rbf: true, + fullRbf: false + }, + time: 1703331467, + fullRbf: false, + replaces: [ + { + tx: { + txid: "9f8e30674af641bb153a35254d539468e1d847b16bbdc13ce23b5a970b0b11cf", + fee: 13664, + vsize: 141.25, + value: 345253, + rate: 96.7362831858407, + rbf: true + }, + time: 1703331398, + interval: 69, + fullRbf: false, + replaces: [] + } + ] + }, + ... +]` + }, + codeSampleTestnet: { + curl: [], + response: `[ + { + tx: { + txid: "7766e3f008011b776905f96fcad9d4a7b75d1b368d1e77db2901254f1fa8357d", + fee: 9101, + vsize: 317, + value: 147706698, + rate: 28.709779179810724, + rbf: true, + fullRbf: false + }, + time: 1703331325, + fullRbf: false, + replaces: [ + { + tx: { + txid: "43055f6e5750c6aa0c2214e59e99f367398d96bde935e7666c3e648d249a4e40", + fee: 7000, + vsize: 317, + value: 147708799, + rate: 22.082018927444796, + rbf: true + }, + time: 1703331154, + interval: 171, + fullRbf: false, + replaces: [] + } + ] + }, + ... +]` + }, + codeSampleSignet: { + curl: [], + response: `[ + { + tx: { + txid: "13985a5717a1ea54ce720cd6b70421b1667061be491a6799acf6dea01c551248", + fee: 5040, + vsize: 215.5, + value: 762745, + rate: 23.387470997679813, + rbf: true, + fullRbf: false, + mined: true + }, + time: 1703316271, + fullRbf: false, + replaces: [ + { + tx: { + txid: "eac5ec8487414c955f4a5d3b2e516c351aec5299f1335f9019a00907962386ce", + fee: 4560, + vsize: 215.25, + value: 763225, + rate: 21.18466898954704, + rbf: true + }, + time: 1703316270, + interval: 1, + fullRbf: false, + replaces: [] + } + ], + mined: true + } +]` + }, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, + { + type: "endpoint", + category: "mempool", + httpRequestMethod: "GET", + fragment: "get-mempool-fullrbf", + title: "GET Mempool Full RBF Transactions", + description: { + default: "Returns the list of mempool transactions that are part of a Full-RBF chain." + }, + urlString: "/v1/fullrbf/replacements", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/fullrbf/replacements`, + commonJS: ``, + esModule: ``, + }, + codeSampleMainnet: { + curl: [], + response: `[ + { + tx: { + txid: "25e2bfaf0e0821e5cb71f11e460b2f71e1d5a3755015de42544afa5fbad6d443", + fee: 24436, + vsize: 297.75, + value: 273418, + rate: 82.0688497061293, + rbf: false, + fullRbf: true + }, + time: 1703409882, + fullRbf: true, + replaces: [ + { + tx: { + txid: "07d501e8ad4a25f07f3ced0a6102741720f710765e6fdb2eb966ba0df657997a", + fee: 24138, + vsize: 297.75, + value: 273716, + rate: 81.06801007556675, + rbf: false + }, + time: 1703409853, + interval: 29, + fullRbf: true, + replaces: [] + } + ] + }, + ... +]` + }, + codeSampleTestnet: { + curl: [], + response: `[ + { + tx: { + txid: "25e2bfaf0e0821e5cb71f11e460b2f71e1d5a3755015de42544afa5fbad6d443", + fee: 24436, + vsize: 297.75, + value: 273418, + rate: 82.0688497061293, + rbf: false, + fullRbf: true + }, + time: 1703409882, + fullRbf: true, + replaces: [ + { + tx: { + txid: "07d501e8ad4a25f07f3ced0a6102741720f710765e6fdb2eb966ba0df657997a", + fee: 24138, + vsize: 297.75, + value: 273716, + rate: 81.06801007556675, + rbf: false + }, + time: 1703409853, + interval: 29, + fullRbf: true, + replaces: [] + } + ] + }, + ... +]` + }, + codeSampleSignet: { + curl: [], + response: `[ + { + tx: { + txid: "25e2bfaf0e0821e5cb71f11e460b2f71e1d5a3755015de42544afa5fbad6d443", + fee: 24436, + vsize: 297.75, + value: 273418, + rate: 82.0688497061293, + rbf: false, + fullRbf: true + }, + time: 1703409882, + fullRbf: true, + replaces: [ + { + tx: { + txid: "07d501e8ad4a25f07f3ced0a6102741720f710765e6fdb2eb966ba0df657997a", + fee: 24138, + vsize: 297.75, + value: 273716, + rate: 81.06801007556675, + rbf: false + }, + time: 1703409853, + interval: 29, + fullRbf: true, + replaces: [] + } + ] + }, + ... +]` + }, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, { type: "category", category: "transactions", @@ -5143,7 +6122,7 @@ export const restApiDocsData = [ description: { default: "Returns the ancestors and the best descendant fees for a transaction." }, - urlString: "/v1/fees/cpfp", + urlString: "/v1/cpfp", showConditions: bitcoinNetworks.concat(liquidNetworks), showJsExamples: showJsExamplesDefault, codeExample: { @@ -6000,6 +6979,148 @@ export const restApiDocsData = [ } } }, + { + type: "endpoint", + category: "transactions", + httpRequestMethod: "GET", + fragment: "get-transaction-rbf-history", + title: "GET Transaction RBF History", + description: { + default: "Returns the RBF tree history of a transaction." + }, + urlString: "v1/tx/:txId/rbf", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/tx/%{1}/rbf`, + commonJS: ``, + esModule: ``, + }, + codeSampleMainnet: { + curl: [`2e95ff9094df9f3650e3f2abc189250760162be89a88f9f2f23301c7cb14b8b4`], + response: `{ + replacements: { + tx: { + txid: "2e95ff9094df9f3650e3f2abc189250760162be89a88f9f2f23301c7cb14b8b4", + fee: 1668, + vsize: 276.75, + value: 14849, + rate: 4.824207492795389, + rbf: false, + fullRbf: true + }, + time: 1703240261, + fullRbf: true, + replaces: [ + { + tx: { + txid: "3f4670463daadffed07d7a1060071b07f7e81a2566eca21d78bb513cbf21c82a", + fee: 420, + vsize: 208.25, + value: 4856, + rate: 2.0168067226890756, + rbf: false + }, + time: 1702870898, + interval: 369363, + fullRbf: true, + replaces: [] + } + ... + ] + }, + replaces: [ + "3f4670463daadffed07d7a1060071b07f7e81a2566eca21d78bb513cbf21c82a", + "92f9b4f719d0ffc9035d3a9767d80c940cecbc656df2243bafd33f52b583ee92" + ] +}` + }, + codeSampleTestnet: { + curl: [`5faaa30530bee55de8cc896bdf48f803c2274a94bffc2842386bec2a8bf7a813`], + response: `{ + replacements: { + tx: { + txid: "5faaa30530bee55de8cc896bdf48f803c2274a94bffc2842386bec2a8bf7a813", + fee: 9101, + vsize: 318, + value: 148022607, + rate: 28.61949685534591, + rbf: true, + fullRbf: false, + mined: true + }, + time: 1703322610, + fullRbf: false, + replaces: [ + { + tx: { + txid: "06e69641fa889fe9148669ac2904929004e7140087bedaec8c8e4e05aabded52", + fee: 7000, + vsize: 318, + value: 148024708, + rate: 22.0125786163522, + rbf: true + }, + time: 1703322602, + interval: 8, + fullRbf: false, + replaces: [] + } + ], + mined: true + }, + replaces: [ + "06e69641fa889fe9148669ac2904929004e7140087bedaec8c8e4e05aabded52" + ] +}` + }, + codeSampleSignet: { + curl: [`13985a5717a1ea54ce720cd6b70421b1667061be491a6799acf6dea01c551248`], + response: `{ + replacements: { + tx: { + txid: "13985a5717a1ea54ce720cd6b70421b1667061be491a6799acf6dea01c551248", + fee: 5040, + vsize: 215.5, + value: 762745, + rate: 23.387470997679813, + rbf: true, + fullRbf: false, + mined: true + }, + time: 1703316272, + fullRbf: false, + replaces: [ + { + tx: { + txid: "eac5ec8487414c955f4a5d3b2e516c351aec5299f1335f9019a00907962386ce", + fee: 4560, + vsize: 215.25, + value: 763225, + rate: 21.18466898954704, + rbf: true + }, + time: 1703316270, + interval: 2, + fullRbf: false, + replaces: [] + } + ], + mined: true + }, + replaces: [ + "eac5ec8487414c955f4a5d3b2e516c351aec5299f1335f9019a00907962386ce" + ] +}` + }, + codeSampleLiquid: emptyCodeSample, + codeSampleLiquidTestnet: emptyCodeSample, + codeSampleBisq: emptyCodeSample, + } + } + }, { type: "endpoint", category: "transactions", @@ -6098,6 +7219,48 @@ export const restApiDocsData = [ } } }, + { + type: "endpoint", + category: "transactions", + httpRequestMethod: "GET", + fragment: "get-transaction-times", + title: "GET Transaction Times", + description: { + default: "Returns the timestamps when a list of unconfirmed transactions was initially observed in the mempool. If a transaction is not found in the mempool or has been mined, the timestamp will be 0." + }, + urlString: "/v1/transaction-times", + showConditions: bitcoinNetworks.concat(liquidNetworks), + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/transaction-times?txId[]=%{1}&txId[]=%{2}`, + commonJS: ``, + esModule: ``, + }, + codeSampleMainnet: { + curl: ['51545ef0ec7f09196e60693b59369a134870985c8a90e5d42655b191de06285e', '6086089bd1c56a9c42a39d470cdfa7c12d4b52bf209608b390dfc4943f2d3851'], + response: `[1703082129,1702325558]` + }, + codeSampleTestnet: { + curl: ['25e7a95ebf10ed192ee91741653d8d970ac88f8e0cd6fb14cc6c7145116d3964', '1e158327e52acae35de94962e60e53fc70f6b175b0cfc3e2058bed4b895203b4'], + response: `[1703267563,1703267322]` + }, + codeSampleSignet: { + curl: ['8af0c5199acd89621244f2f61107fe5a9c7c7aad54928e8400651d03ca949aeb', '08f840f7b0c33c5b0fdadf1666e8a8c206836993d95fc1eeeef39b5ef9de03d0'], + response: `[1703267652,1703267696]` + }, + codeSampleLiquid: { + curl: ['6091498f06a3054f82a0c3e5be0a23030185c658dc3568684b0bccc4e759be11', '631212a073aa4ca392e3aeb469d1366ec2ee288988b106e4a6fc8dae8c4d7a9a'], + response: `[1703267652,1703267696]`, + }, + codeSampleLiquidTestnet: { + curl: ['fa8d43e47b2c4bbee12fd8bc1c7440028be2da6ac0f1df6ac77c983938c503fb', '26b12cd450f8fa8b6a527578db218bf212a60b2d5eb65c168f8eb3be6f5fd991'], + response: `[1703268185,1703268209]`, + }, + } + } + }, { type: "endpoint", category: "transactions", From d2a5adbd9d234aa5023cd43d7c73eb8b35902944 Mon Sep 17 00:00:00 2001 From: natsee Date: Thu, 28 Dec 2023 15:34:36 +0100 Subject: [PATCH 370/639] Fix duplicate address field in search results --- .../search-form/search-results/search-results.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/search-form/search-results/search-results.component.html b/frontend/src/app/components/search-form/search-results/search-results.component.html index d4f68edbd..6c096fc4e 100644 --- a/frontend/src/app/components/search-form/search-results/search-results.component.html +++ b/frontend/src/app/components/search-form/search-results/search-results.component.html @@ -35,7 +35,7 @@ - +
    Bitcoin Addresses
    + + + +
    TXIDAccelerated
    Accelerated
    diff --git a/frontend/src/app/components/block/block-preview.component.ts b/frontend/src/app/components/block/block-preview.component.ts index c4dfe40df..49417508f 100644 --- a/frontend/src/app/components/block/block-preview.component.ts +++ b/frontend/src/app/components/block/block-preview.component.ts @@ -2,7 +2,7 @@ import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/co import { ActivatedRoute, ParamMap } from '@angular/router'; import { ElectrsApiService } from '../../services/electrs-api.service'; import { switchMap, tap, throttleTime, catchError, shareReplay, startWith, pairwise, filter } from 'rxjs/operators'; -import { of, Subscription, asyncScheduler } from 'rxjs'; +import { of, Subscription, asyncScheduler, forkJoin } from 'rxjs'; import { StateService } from '../../services/state.service'; import { SeoService } from '../../services/seo.service'; import { OpenGraphService } from '../../services/opengraph.service'; @@ -121,21 +121,37 @@ export class BlockPreviewComponent implements OnInit, OnDestroy { this.overviewSubscription = block$.pipe( startWith(null), pairwise(), - switchMap(([prevBlock, block]) => this.apiService.getStrippedBlockTransactions$(block.id) - .pipe( - catchError((err) => { - this.overviewError = err; - this.openGraphService.fail('block-viz-' + this.rawId); - return of([]); - }), - switchMap((transactions) => { - return of({ transactions, direction: 'down' }); - }) - ) + switchMap(([prevBlock, block]) => { + return forkJoin([ + this.apiService.getStrippedBlockTransactions$(block.id) + .pipe( + catchError((err) => { + this.overviewError = err; + this.openGraphService.fail('block-viz-' + this.rawId); + return of([]); + }), + switchMap((transactions) => { + return of(transactions); + }) + ), + block.height > 819500 ? this.apiService.getAccelerationHistory$({ blockHash: block.id }) : of([]) + ]); + } ), ) - .subscribe(({transactions, direction}: {transactions: TransactionStripped[], direction: string}) => { + .subscribe(([transactions, accelerations]) => { this.strippedTransactions = transactions; + + const acceleratedInBlock = {}; + for (const acc of accelerations) { + acceleratedInBlock[acc.txid] = acc; + } + for (const tx of transactions) { + if (acceleratedInBlock[tx.txid]) { + tx.acc = true; + } + } + this.isLoadingOverview = false; if (this.blockGraph) { this.blockGraph.destroy(); diff --git a/frontend/src/app/components/block/block.component.ts b/frontend/src/app/components/block/block.component.ts index bb83494c5..d3fef00a6 100644 --- a/frontend/src/app/components/block/block.component.ts +++ b/frontend/src/app/components/block/block.component.ts @@ -328,17 +328,28 @@ export class BlockComponent implements OnInit, OnDestroy { this.overviewError = err; return of(null); }) - ) + ), + block.height > 819500 ? this.apiService.getAccelerationHistory$({ blockHash: block.id }) : of([]) ]); }) ) - .subscribe(([transactions, blockAudit]) => { + .subscribe(([transactions, blockAudit, accelerations]) => { if (transactions) { this.strippedTransactions = transactions; } else { this.strippedTransactions = []; } + const acceleratedInBlock = {}; + for (const acc of accelerations) { + acceleratedInBlock[acc.txid] = acc; + } + for (const tx of transactions) { + if (acceleratedInBlock[tx.txid]) { + tx.acc = true; + } + } + this.blockAudit = null; if (transactions && blockAudit) { const inTemplate = {}; From fab82551cfa6e6a16c3d5d24e9fc753385d47ce3 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 31 Dec 2023 03:22:14 +0900 Subject: [PATCH 372/639] Remove old GPLv3 license file, rename AGPLv3 license to COPYING --- LICENSE.AGPL-3.md => COPYING.md | 0 LICENSE.GPL-3.md | 675 -------------------------------- 2 files changed, 675 deletions(-) rename LICENSE.AGPL-3.md => COPYING.md (100%) delete mode 100644 LICENSE.GPL-3.md diff --git a/LICENSE.AGPL-3.md b/COPYING.md similarity index 100% rename from LICENSE.AGPL-3.md rename to COPYING.md diff --git a/LICENSE.GPL-3.md b/LICENSE.GPL-3.md deleted file mode 100644 index 2fb2e74d8..000000000 --- a/LICENSE.GPL-3.md +++ /dev/null @@ -1,675 +0,0 @@ -### GNU GENERAL PUBLIC LICENSE - -Version 3, 29 June 2007 - -Copyright (C) 2007 Free Software Foundation, Inc. - - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - -### Preamble - -The GNU General Public License is a free, copyleft license for -software and other kinds of works. - -The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom -to share and change all versions of a program--to make sure it remains -free software for all its users. We, the Free Software Foundation, use -the GNU General Public License for most of our software; it applies -also to any other work released this way by its authors. You can apply -it to your programs, too. - -When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - -To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you -have certain responsibilities if you distribute copies of the -software, or if you modify it: responsibilities to respect the freedom -of others. - -For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - -Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - -For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - -Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the -manufacturer can do so. This is fundamentally incompatible with the -aim of protecting users' freedom to change the software. The -systematic pattern of such abuse occurs in the area of products for -individuals to use, which is precisely where it is most unacceptable. -Therefore, we have designed this version of the GPL to prohibit the -practice for those products. If such problems arise substantially in -other domains, we stand ready to extend this provision to those -domains in future versions of the GPL, as needed to protect the -freedom of users. - -Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish -to avoid the special danger that patents applied to a free program -could make it effectively proprietary. To prevent this, the GPL -assures that patents cannot be used to render the program non-free. - -The precise terms and conditions for copying, distribution and -modification follow. - -### TERMS AND CONDITIONS - -#### 0. Definitions. - -"This License" refers to version 3 of the GNU General Public License. - -"Copyright" also means copyright-like laws that apply to other kinds -of works, such as semiconductor masks. - -"The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - -To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of -an exact copy. The resulting work is called a "modified version" of -the earlier work or a work "based on" the earlier work. - -A "covered work" means either the unmodified Program or a work based -on the Program. - -To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - -To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user -through a computer network, with no transfer of a copy, is not -conveying. - -An interactive user interface displays "Appropriate Legal Notices" to -the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - -#### 1. Source Code. - -The "source code" for a work means the preferred form of the work for -making modifications to it. "Object code" means any non-source form of -a work. - -A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - -The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - -The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - -The Corresponding Source need not include anything that users can -regenerate automatically from other parts of the Corresponding Source. - -The Corresponding Source for a work in source code form is that same -work. - -#### 2. Basic Permissions. - -All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - -You may make, run and propagate covered works that you do not convey, -without conditions so long as your license otherwise remains in force. -You may convey covered works to others for the sole purpose of having -them make modifications exclusively for you, or provide you with -facilities for running those works, provided that you comply with the -terms of this License in conveying all material for which you do not -control copyright. Those thus making or running the covered works for -you must do so exclusively on your behalf, under your direction and -control, on terms that prohibit them from making any copies of your -copyrighted material outside their relationship with you. - -Conveying under any other circumstances is permitted solely under the -conditions stated below. Sublicensing is not allowed; section 10 makes -it unnecessary. - -#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - -No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - -When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such -circumvention is effected by exercising rights under this License with -respect to the covered work, and you disclaim any intention to limit -operation or modification of the work as a means of enforcing, against -the work's users, your or third parties' legal rights to forbid -circumvention of technological measures. - -#### 4. Conveying Verbatim Copies. - -You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - -You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - -#### 5. Conveying Modified Source Versions. - -You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these -conditions: - -- a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. -- b) The work must carry prominent notices stating that it is - released under this License and any conditions added under - section 7. This requirement modifies the requirement in section 4 - to "keep intact all notices". -- c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. -- d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - -A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - -#### 6. Conveying Non-Source Forms. - -You may convey a covered work in object code form under the terms of -sections 4 and 5, provided that you also convey the machine-readable -Corresponding Source under the terms of this License, in one of these -ways: - -- a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. -- b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the Corresponding - Source from a network server at no charge. -- c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. -- d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. -- e) Convey the object code using peer-to-peer transmission, - provided you inform other peers where the object code and - Corresponding Source of the work are being offered to the general - public at no charge under subsection 6d. - -A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - -A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, -family, or household purposes, or (2) anything designed or sold for -incorporation into a dwelling. In determining whether a product is a -consumer product, doubtful cases shall be resolved in favor of -coverage. For a particular product received by a particular user, -"normally used" refers to a typical or common use of that class of -product, regardless of the status of the particular user or of the way -in which the particular user actually uses, or expects or is expected -to use, the product. A product is a consumer product regardless of -whether the product has substantial commercial, industrial or -non-consumer uses, unless such uses represent the only significant -mode of use of the product. - -"Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to -install and execute modified versions of a covered work in that User -Product from a modified version of its Corresponding Source. The -information must suffice to ensure that the continued functioning of -the modified object code is in no case prevented or interfered with -solely because modification has been made. - -If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - -The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or -updates for a work that has been modified or installed by the -recipient, or for the User Product in which it has been modified or -installed. Access to a network may be denied when the modification -itself materially and adversely affects the operation of the network -or violates the rules and protocols for communication across the -network. - -Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - -#### 7. Additional Terms. - -"Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - -When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - -Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders -of that material) supplement the terms of this License with terms: - -- a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or -- b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or -- c) Prohibiting misrepresentation of the origin of that material, - or requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or -- d) Limiting the use for publicity purposes of names of licensors - or authors of the material; or -- e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or -- f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions - of it) with contractual assumptions of liability to the recipient, - for any liability that these contractual assumptions directly - impose on those licensors and authors. - -All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - -If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - -Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; the -above requirements apply either way. - -#### 8. Termination. - -You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - -However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. - -Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - -#### 9. Acceptance Not Required for Having Copies. - -You are not required to accept this License in order to receive or run -a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - -#### 10. Automatic Licensing of Downstream Recipients. - -Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - -An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - -You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - -#### 11. Patents. - -A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - -A contributor's "essential patent claims" are all patent claims owned -or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - -Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - -In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - -If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - -If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - -A patent license is "discriminatory" if it does not include within the -scope of its coverage, prohibits the exercise of, or is conditioned on -the non-exercise of one or more of the rights that are specifically -granted under this License. You may not convey a covered work if you -are a party to an arrangement with a third party that is in the -business of distributing software, under which you make payment to the -third party based on the extent of your activity of conveying the -work, and under which the third party grants, to any of the parties -who would receive the covered work from you, a discriminatory patent -license (a) in connection with copies of the covered work conveyed by -you (or copies made from those copies), or (b) primarily for and in -connection with specific products or compilations that contain the -covered work, unless you entered into that arrangement, or that patent -license was granted, prior to 28 March 2007. - -Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - -#### 12. No Surrender of Others' Freedom. - -If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under -this License and any other pertinent obligations, then as a -consequence you may not convey it at all. For example, if you agree to -terms that obligate you to collect a royalty for further conveying -from those to whom you convey the Program, the only way you could -satisfy both those terms and this License would be to refrain entirely -from conveying the Program. - -#### 13. Use with the GNU Affero General Public License. - -Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - -#### 14. Revised Versions of this License. - -The Free Software Foundation may publish revised and/or new versions -of the GNU General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in -detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies that a certain numbered version of the GNU General Public -License "or any later version" applies to it, you have the option of -following the terms and conditions either of that numbered version or -of any later version published by the Free Software Foundation. If the -Program does not specify a version number of the GNU General Public -License, you may choose any version ever published by the Free -Software Foundation. - -If the Program specifies that a proxy can decide which future versions -of the GNU General Public License can be used, that proxy's public -statement of acceptance of a version permanently authorizes you to -choose that version for the Program. - -Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - -#### 15. Disclaimer of Warranty. - -THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT -WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND -PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE -DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR -CORRECTION. - -#### 16. Limitation of Liability. - -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR -CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT -NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR -LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM -TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER -PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -#### 17. Interpretation of Sections 15 and 16. - -If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - -END OF TERMS AND CONDITIONS - -### How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - -To do so, attach the following notices to the program. It is safest to -attach them to the start of each source file to most effectively state -the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper -mail. - -If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands \`show w' and \`show c' should show the -appropriate parts of the General Public License. Of course, your -program's commands might be different; for a GUI interface, you would -use an "about box". - -You should also get your employer (if you work as a programmer) or -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. For more information on this, and how to apply and follow -the GNU GPL, see . - -The GNU General Public License does not permit incorporating your -program into proprietary programs. If your program is a subroutine -library, you may consider it more useful to permit linking proprietary -applications with the library. If this is what you want to do, use the -GNU Lesser General Public License instead of this License. But first, -please read . From 681f9a1c694cf70900da60bbedc62e2224445fb3 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 31 Dec 2023 03:39:23 +0900 Subject: [PATCH 373/639] ops: Enable redis for production mainnet --- production/mempool-config.mainnet.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/production/mempool-config.mainnet.json b/production/mempool-config.mainnet.json index 0aa90aa9c..36310e59d 100644 --- a/production/mempool-config.mainnet.json +++ b/production/mempool-config.mainnet.json @@ -106,7 +106,12 @@ "node206.tk7.mempool.space" ] }, - "MEMPOOL_SERVICES": { + "REDIS": { + "ENABLED": true, + "UNIX_SOCKET_PATH": "/tmp/redis.sock", + "BATCH_QUERY_BASE_SIZE": 5000 + }, + "MEMPOOL_SERVICES": { "API": "https://mempool.space/api/v1/services", "ACCELERATIONS": true } From 23ececca956beec76540d49fca782150b0933739 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 31 Dec 2023 18:05:25 +0000 Subject: [PATCH 374/639] Optimize websocket updates on new block --- backend/src/api/websocket-handler.ts | 54 ++++++++++++++----- .../mempool-block-overview.component.ts | 38 ++++++++++++- 2 files changed, 77 insertions(+), 15 deletions(-) diff --git a/backend/src/api/websocket-handler.ts b/backend/src/api/websocket-handler.ts index b082573f1..34d4682d2 100644 --- a/backend/src/api/websocket-handler.ts +++ b/backend/src/api/websocket-handler.ts @@ -282,8 +282,7 @@ class WebsocketHandler { } if (Object.keys(response).length) { - const serializedResponse = this.serializeResponse(response); - client.send(serializedResponse); + client.send(this.serializeResponse(response)); } } catch (e) { logger.debug(`Error parsing websocket message from ${client['remoteAddress']}: ` + (e instanceof Error ? e.message : e)); @@ -392,8 +391,7 @@ class WebsocketHandler { } if (Object.keys(response).length) { - const serializedResponse = this.serializeResponse(response); - client.send(serializedResponse); + client.send(this.serializeResponse(response)); } }); } @@ -639,8 +637,7 @@ class WebsocketHandler { } if (Object.keys(response).length) { - const serializedResponse = this.serializeResponse(response); - client.send(serializedResponse); + client.send(this.serializeResponse(response)); } }); } @@ -738,10 +735,13 @@ class WebsocketHandler { } } + const confirmedTxids: { [txid: string]: boolean } = {}; + // Update mempool to remove transactions included in the new block for (const txId of txIds) { delete _memPool[txId]; rbfCache.mined(txId); + confirmedTxids[txId] = true; } if (config.MEMPOOL.ADVANCED_GBT_MEMPOOL) { @@ -773,6 +773,8 @@ class WebsocketHandler { 'fees': fees, }); + const mBlocksWithTransactions = mempoolBlocks.getMempoolBlocksWithTransactions(); + const responseCache = { ...this.socketData }; function getCachedResponse(key, data): string { if (!responseCache[key]) { @@ -808,7 +810,7 @@ class WebsocketHandler { if (client['track-tx']) { const trackTxid = client['track-tx']; - if (trackTxid && txIds.indexOf(trackTxid) > -1) { + if (trackTxid && confirmedTxids[trackTxid]) { response['txConfirmed'] = JSON.stringify(trackTxid); } else { const mempoolTx = _memPool[trackTxid]; @@ -880,17 +882,24 @@ class WebsocketHandler { if (client['track-mempool-block'] >= 0 && memPool.isInSync()) { const index = client['track-mempool-block']; - if (mBlockDeltas && mBlockDeltas[index]) { - response['projected-block-transactions'] = getCachedResponse(`projected-block-transactions-${index}`, { - index: index, - delta: mBlockDeltas[index], - }); + + if (mBlockDeltas && mBlockDeltas[index] && mBlocksWithTransactions[index]?.transactions?.length) { + if (mBlockDeltas[index].added.length > (mBlocksWithTransactions[index]?.transactions.length / 2)) { + response['projected-block-transactions'] = getCachedResponse(`projected-block-transactions-full-${index}`, { + index: index, + blockTransactions: mBlocksWithTransactions[index].transactions, + }); + } else { + response['projected-block-transactions'] = getCachedResponse(`projected-block-transactions-delta-${index}`, { + index: index, + delta: mBlockDeltas[index], + }); + } } } if (Object.keys(response).length) { - const serializedResponse = this.serializeResponse(response); - client.send(serializedResponse); + client.send(this.serializeResponse(response)); } }); } @@ -951,10 +960,27 @@ class WebsocketHandler { private printLogs(): void { if (this.wss) { + let numTxSubs = 0; + let numProjectedSubs = 0; + let numRbfSubs = 0; + + this.wss.clients.forEach((client) => { + if (client['track-tx']) { + numTxSubs++; + } + if (client['track-mempool-block'] >= 0) { + numProjectedSubs++; + } + if (client['track-rbf']) { + numRbfSubs++; + } + }) + const count = this.wss?.clients?.size || 0; const diff = count - this.numClients; this.numClients = count; logger.debug(`${count} websocket clients | ${this.numConnected} connected | ${this.numDisconnected} disconnected | (${diff >= 0 ? '+' : ''}${diff})`); + logger.debug(`websocket subscriptions: track-tx: ${numTxSubs}, track-mempool-block: ${numProjectedSubs} track-rbf: ${numRbfSubs}`); this.numConnected = 0; this.numDisconnected = 0; } diff --git a/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts b/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts index 4beda043a..f09b8f5ea 100644 --- a/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts +++ b/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts @@ -35,6 +35,8 @@ export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChang blockSub: Subscription; deltaSub: Subscription; + firstLoad: boolean = true; + constructor( public stateService: StateService, private websocketService: WebsocketService, @@ -58,7 +60,40 @@ export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChang ) .pipe(switchMap(() => this.stateService.mempoolBlockTransactions$)) .subscribe((transactionsStripped) => { - this.replaceBlock(transactionsStripped); + if (this.firstLoad) { + this.replaceBlock(transactionsStripped); + } else { + const inOldBlock = {}; + const inNewBlock = {}; + const added: TransactionStripped[] = []; + const changed: { txid: string, rate: number | undefined, acc: boolean | undefined }[] = []; + const removed: string[] = []; + for (const tx of transactionsStripped) { + inNewBlock[tx.txid] = true; + } + for (const txid of Object.keys(this.blockGraph?.scene?.txs || {})) { + inOldBlock[txid] = true; + if (!inNewBlock[txid]) { + removed.push(txid); + } + } + for (const tx of transactionsStripped) { + if (!inOldBlock[tx.txid]) { + added.push(tx); + } else { + changed.push({ + txid: tx.txid, + rate: tx.rate, + acc: tx.acc + }); + } + } + this.updateBlock({ + removed, + changed, + added + }); + } }); this.deltaSub = this.stateService.mempoolBlockDelta$.subscribe((delta) => { this.updateBlock(delta); @@ -67,6 +102,7 @@ export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChang ngOnChanges(changes): void { if (changes.index) { + this.firstLoad = true; if (this.blockGraph) { this.blockGraph.clear(changes.index.currentValue > changes.index.previousValue ? this.chainDirection : this.poolDirection); } From bd34d71d8b82bc784da1f6be3da17d3c076c7cfa Mon Sep 17 00:00:00 2001 From: natsee Date: Sat, 30 Dec 2023 19:19:07 +0100 Subject: [PATCH 375/639] Update regexes in regex.utils.ts --- .../search-form/search-form.component.ts | 18 ++- .../pipes/relative-url/relative-url.pipe.ts | 1 + frontend/src/app/shared/regex.utils.ts | 121 +++++++++++++----- 3 files changed, 105 insertions(+), 35 deletions(-) diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index cb64df7f4..4ed6b1d64 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -38,11 +38,11 @@ export class SearchFormComponent implements OnInit { } regexAddress = getRegex('address', 'mainnet'); // Default to mainnet - regexBlockhash = getRegex('blockhash'); + regexBlockhash = getRegex('blockhash', 'mainnet'); regexTransaction = getRegex('transaction'); regexBlockheight = getRegex('blockheight'); - regexDate = /^(?:\d{4}[-/]\d{1,2}[-/]\d{1,2}(?: \d{1,2}:\d{2})?)$/; - regexUnixTimestamp = /^\d{10}$/; + regexDate = getRegex('date'); + regexUnixTimestamp = getRegex('timestamp'); focus$ = new Subject(); click$ = new Subject(); @@ -72,6 +72,7 @@ export class SearchFormComponent implements OnInit { this.network = network; // TODO: Eventually change network type here from string to enum of consts this.regexAddress = getRegex('address', network as any || 'mainnet'); + this.regexBlockhash = getRegex('blockhash', network as any || 'mainnet'); }); this.router.events.subscribe((e: NavigationStart) => { // Reset search focus when changing page @@ -181,8 +182,8 @@ export class SearchFormComponent implements OnInit { const lightningResults = result[1]; const matchesBlockHeight = this.regexBlockheight.test(searchText) && parseInt(searchText) <= this.stateService.latestBlockHeight; - const matchesDateTime = this.regexDate.test(searchText) && new Date(searchText).toString() !== 'Invalid Date'; - const matchesUnixTimestamp = this.regexUnixTimestamp.test(searchText); + const matchesDateTime = this.regexDate.test(searchText) && new Date(searchText).toString() !== 'Invalid Date' && new Date(searchText).getTime() <= Date.now() && new Date(searchText).getTime() >= 1231006505000; + const matchesUnixTimestamp = this.regexUnixTimestamp.test(searchText) && parseInt(searchText) <= Math.floor(Date.now() / 1000) && parseInt(searchText) >= 1231006505; // 1231006505 is the timestamp of the genesis block const matchesTxId = this.regexTransaction.test(searchText) && !this.regexBlockhash.test(searchText); const matchesBlockHash = this.regexBlockhash.test(searchText); const matchesAddress = !matchesTxId && this.regexAddress.test(searchText); @@ -237,7 +238,7 @@ export class SearchFormComponent implements OnInit { if (searchText) { this.isSearching = true; - const otherNetworks = findOtherNetworks(searchText, this.network as any); + const otherNetworks = findOtherNetworks(searchText, this.network as any || 'mainnet'); if (!this.regexTransaction.test(searchText) && this.regexAddress.test(searchText)) { this.navigate('/address/', searchText); } else if (otherNetworks.length > 0) { @@ -269,6 +270,11 @@ export class SearchFormComponent implements OnInit { } else if (this.regexDate.test(searchText) || this.regexUnixTimestamp.test(searchText)) { let timestamp: number; this.regexDate.test(searchText) ? timestamp = Math.floor(new Date(searchText).getTime() / 1000) : timestamp = searchText; + // Check if timestamp is too far in the future or before the genesis block + if (timestamp > Math.floor(Date.now() / 1000) || timestamp < 1231006505) { + this.isSearching = false; + return; + } this.apiService.getBlockDataFromTimestamp$(timestamp).subscribe( (data) => { this.navigate('/block/', data.hash); }, (error) => { console.log(error); this.isSearching = false; } diff --git a/frontend/src/app/shared/pipes/relative-url/relative-url.pipe.ts b/frontend/src/app/shared/pipes/relative-url/relative-url.pipe.ts index 83f5f20df..4211765df 100644 --- a/frontend/src/app/shared/pipes/relative-url/relative-url.pipe.ts +++ b/frontend/src/app/shared/pipes/relative-url/relative-url.pipe.ts @@ -12,6 +12,7 @@ export class RelativeUrlPipe implements PipeTransform { transform(value: string, swapNetwork?: string): string { let network = swapNetwork || this.stateService.network; + if (network === 'mainnet') network = ''; if (this.stateService.env.BASE_MODULE === 'liquid' && network === 'liquidtestnet') { network = 'testnet'; } else if (this.stateService.env.BASE_MODULE !== 'mempool') { diff --git a/frontend/src/app/shared/regex.utils.ts b/frontend/src/app/shared/regex.utils.ts index bac256c8d..d0cd08f24 100644 --- a/frontend/src/app/shared/regex.utils.ts +++ b/frontend/src/app/shared/regex.utils.ts @@ -9,13 +9,16 @@ const BECH32_CHARS_UP = `[AC-HJ-NP-Z02-9]`; const HEX_CHARS = `[a-fA-F0-9]`; // A regex to say "A single 0 OR any number with no leading zeroes" -// Capped at 13 digits so as to not be confused with lightning channel IDs (which are around 17 digits) +// Capped at 9 digits so as to not be confused with lightning channel IDs (which are around 17 digits) // (?: // Start a non-capturing group // 0 // A single 0 // | // OR -// [1-9][0-9]{0,12} // Any succession of numbers up to 13 digits starting with 1-9 +// [1-9][0-9]{0,8} // Any succession of numbers up to 9 digits starting with 1-9 // ) // End the non-capturing group. -const ZERO_INDEX_NUMBER_CHARS = `(?:0|[1-9][0-9]{0,12})`; +const ZERO_INDEX_NUMBER_CHARS = `(?:0|[1-9][0-9]{0,8})`; + +// Simple digits only regex +const NUMBER_CHARS = `[0-9]`; // Formatting of the address regex is for readability, // We should ignore formatting it with automated formatting tools like prettier. @@ -48,7 +51,7 @@ const ADDRESS_CHARS: { + BASE58_CHARS + `{33,34}`, // m|n is 34 length, 2 is 35 length (We match the first letter separately) bech32: `(?:` - + `tb1` // Starts with bc1 + + `tb1` // Starts with tb1 + BECH32_CHARS_LW + `{6,100}` // As per bech32, 6 char checksum is minimum + `|` @@ -76,18 +79,18 @@ const ADDRESS_CHARS: { + BASE58_CHARS + `{33}`, // All min-max lengths are 34 bech32: `(?:` - + `(?:` // bech32 liquid starts with ex or lq - + `ex` + + `(?:` // bech32 liquid starts with ex1 or lq1 + + `ex1` + `|` - + `lq` + + `lq1` + `)` + BECH32_CHARS_LW // blech32 and bech32 are the same alphabet and protocol, different checksums. + `{6,100}` + `|` + `(?:` // Same as above but all upper case - + `EX` + + `EX1` + `|` - + `LQ` + + `LQ1` + `)` + BECH32_CHARS_UP + `{6,100}` @@ -99,39 +102,39 @@ const ADDRESS_CHARS: { + `{33}`, // P2PKH is ???(TODO: find size), P2SH is 34 bech32: `(?:` + `(?:` // bech32 liquid testnet starts with tex or tlq - + `tex` // TODO: Why does mempool use this and not ert|el like in the elements source? + + `tex1` // TODO: Why does mempool use this and not ert|el like in the elements source? + `|` - + `tlq` // TODO: does this exist? + + `tlq1` // TODO: does this exist? + `)` + BECH32_CHARS_LW // blech32 and bech32 are the same alphabet and protocol, different checksums. + `{6,100}` + `|` + `(?:` // Same as above but all upper case - + `TEX` + + `TEX1` + `|` - + `TLQ` + + `TLQ1` + `)` + BECH32_CHARS_UP + `{6,100}` + `)`, }, bisq: { - base58: `B1` // bisq base58 addrs start with B1 + base58: `(?:[bB][13]` // b or B at the start, followed by a single 1 or 3 + BASE58_CHARS - + `{33}`, // always length 35 + + `{26,33})`, bech32: `(?:` - + `bbc1` // Starts with bbc1 + + `[bB]bc1` // b or B at the start, followed by bc1 + BECH32_CHARS_LW - + `{6,100}` + + `{6,100}` + `|` - + `BBC1` // All upper case version + + `[bB]BC1` // b or B at the start, followed by BC1 + BECH32_CHARS_UP + `{6,100}` + `)`, }, } -type RegexTypeNoAddr = `blockhash` | `transaction` | `blockheight`; -export type RegexType = `address` | RegexTypeNoAddr; +type RegexTypeNoAddrNoBlockHash = | `transaction` | `blockheight` | `date` | `timestamp`; +export type RegexType = `address` | `blockhash` | RegexTypeNoAddrNoBlockHash; export const NETWORKS = [`testnet`, `signet`, `liquid`, `liquidtestnet`, `bisq`, `mainnet`] as const; export type Network = typeof NETWORKS[number]; // Turn const array into union type @@ -139,15 +142,15 @@ export type Network = typeof NETWORKS[number]; // Turn const array into union ty export const ADDRESS_REGEXES: [RegExp, Network][] = NETWORKS .map(network => [getRegex('address', network), network]) -export function findOtherNetworks(address: string, skipNetwork: Network): Network[] { - return ADDRESS_REGEXES.filter(([regex, network]) => - network !== skipNetwork && - regex.test(address) - ).map(([, network]) => network); +export function findOtherNetworks(address: string, skipNetwork: Network): {network: Network, address: string}[] { + return ADDRESS_REGEXES + .filter(([regex, network]) => network !== skipNetwork && regex.test(address)) + .map(([, network]) => ({ network, address })); } -export function getRegex(type: RegexTypeNoAddr): RegExp; +export function getRegex(type: RegexTypeNoAddrNoBlockHash): RegExp; export function getRegex(type: 'address', network: Network): RegExp; +export function getRegex(type: 'blockhash', network: Network): RegExp; export function getRegex(type: RegexType, network?: Network): RegExp { let regex = `^`; // ^ = Start of string switch (type) { @@ -156,11 +159,37 @@ export function getRegex(type: RegexType, network?: Network): RegExp { case `blockheight`: regex += ZERO_INDEX_NUMBER_CHARS; // block height is a 0 indexed number break; - // Match a 32 byte block hash in hex. Assumes at least 32 bits of difficulty. + // Match a 32 byte block hash in hex. // [Testing Order]: Must always be tested before `transaction` case `blockhash`: - regex += `0{8}`; // Starts with exactly 8 zeroes in a row - regex += `${HEX_CHARS}{56}`; // Continues with exactly 56 hex letters/numbers + if (!network) { + throw new Error(`Must pass network when type is blockhash`); + } + let leadingZeroes: number; + switch (network) { + case `mainnet`: + leadingZeroes = 8; // Assumes at least 32 bits of difficulty + break; + case `testnet`: + leadingZeroes = 8; // Assumes at least 32 bits of difficulty + break; + case `signet`: + leadingZeroes = 5; + break; + case `liquid`: + leadingZeroes = 8; // We are not interested in Liquid block hashes + break; + case `liquidtestnet`: + leadingZeroes = 8; // We are not interested in Liquid block hashes + break; + case `bisq`: + leadingZeroes = 8; // Assumes at least 32 bits of difficulty + break; + default: + throw new Error(`Invalid Network ${network} (Unreachable error in TypeScript)`); + } + regex += `0{${leadingZeroes}}`; + regex += `${HEX_CHARS}{${64 - leadingZeroes}}`; // Exactly 64 hex letters/numbers break; // Match a 32 byte tx hash in hex. Contains optional output index specifier. // [Testing Order]: Must always be tested after `blockhash` @@ -185,16 +214,28 @@ export function getRegex(type: RegexType, network?: Network): RegExp { regex += ADDRESS_CHARS.mainnet.base58; regex += `|`; // OR regex += ADDRESS_CHARS.mainnet.bech32; + regex += `|`; // OR + regex += `04${HEX_CHARS}{128}`; // Uncompressed pubkey + regex += `|`; // OR + regex += `(?:02|03)${HEX_CHARS}{64}`; // Compressed pubkey break; case `testnet`: regex += ADDRESS_CHARS.testnet.base58; regex += `|`; // OR regex += ADDRESS_CHARS.testnet.bech32; + regex += `|`; // OR + regex += `04${HEX_CHARS}{128}`; // Uncompressed pubkey + regex += `|`; // OR + regex += `(?:02|03)${HEX_CHARS}{64}`; // Compressed pubkey break; case `signet`: regex += ADDRESS_CHARS.signet.base58; regex += `|`; // OR regex += ADDRESS_CHARS.signet.bech32; + regex += `|`; // OR + regex += `04${HEX_CHARS}{128}`; // Uncompressed pubkey + regex += `|`; // OR + regex += `(?:02|03)${HEX_CHARS}{64}`; // Compressed pubkey break; case `liquid`: regex += ADDRESS_CHARS.liquid.base58; @@ -216,6 +257,28 @@ export function getRegex(type: RegexType, network?: Network): RegExp { } regex += `)`; // End the non-capturing group break; + // Match a date in the format YYYY-MM-DD (optional: HH:MM) + // [Testing Order]: any order is fine + case `date`: + regex += `(?:`; // Start a non-capturing group + regex += `${NUMBER_CHARS}{4}`; // Exactly 4 digits + regex += `[-/]`; // 1 instance of the symbol "-" or "/" + regex += `${NUMBER_CHARS}{1,2}`; // Exactly 4 digits + regex += `[-/]`; // 1 instance of the symbol "-" or "/" + regex += `${NUMBER_CHARS}{1,2}`; // Exactly 4 digits + regex += `(?:`; // Start a non-capturing group + regex += ` `; // 1 instance of the symbol " " + regex += `${NUMBER_CHARS}{1,2}`; // Exactly 4 digits + regex += `:`; // 1 instance of the symbol ":" + regex += `${NUMBER_CHARS}{1,2}`; // Exactly 4 digits + regex += `)?`; // End the non-capturing group. This group appears 0 or 1 times + regex += `)`; // End the non-capturing group + break; + // Match a unix timestamp + // [Testing Order]: any order is fine + case `timestamp`: + regex += `${NUMBER_CHARS}{10}`; // Exactly 10 digits + break; default: throw new Error(`Invalid RegexType ${type} (Unreachable error in TypeScript)`); } From 9b6e60bfbaccc489e44f01a5c661d6e380641a8e Mon Sep 17 00:00:00 2001 From: wiz Date: Mon, 1 Jan 2024 08:01:06 +0900 Subject: [PATCH 376/639] ops: Add production/redis.conf --- production/redis.conf | 79 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 production/redis.conf diff --git a/production/redis.conf b/production/redis.conf new file mode 100644 index 000000000..f1ed13a68 --- /dev/null +++ b/production/redis.conf @@ -0,0 +1,79 @@ +save 3600 1 300 100 60 10000 +unixsocket /tmp/redis.sock +unixsocketperm 666 + +bind 127.0.0.1 -::1 +protected-mode yes +port 6379 +tcp-backlog 511 +timeout 0 +tcp-keepalive 300 +daemonize yes +pidfile /var/run/redis/redis.pid +loglevel notice +logfile /var/log/redis/redis.log +databases 16 +always-show-logo no +set-proc-title yes +proc-title-template "{title} {listen-addr} {server-mode}" +locale-collate "" +stop-writes-on-bgsave-error yes +rdbcompression yes +rdbchecksum yes +dbfilename dump.rdb +rdb-del-sync-files no +dir /var/db/redis/ +replica-serve-stale-data yes +replica-read-only yes +repl-diskless-sync yes +repl-diskless-sync-delay 5 +repl-diskless-sync-max-replicas 0 +repl-diskless-load disabled +repl-disable-tcp-nodelay no +replica-priority 100 +acllog-max-len 128 +lazyfree-lazy-eviction no +lazyfree-lazy-expire no +lazyfree-lazy-server-del no +replica-lazy-flush no +lazyfree-lazy-user-del no +lazyfree-lazy-user-flush no +oom-score-adj no +oom-score-adj-values 0 200 800 +disable-thp yes +appendonly no +appendfilename "appendonly.aof" +appenddirname "appendonlydir" +appendfsync everysec +no-appendfsync-on-rewrite no +auto-aof-rewrite-percentage 100 +auto-aof-rewrite-min-size 64mb +aof-load-truncated yes +aof-use-rdb-preamble yes +aof-timestamp-enabled no + +slowlog-log-slower-than 10000 +slowlog-max-len 128 +latency-monitor-threshold 0 +notify-keyspace-events "" +hash-max-listpack-entries 512 +hash-max-listpack-value 64 +list-max-listpack-size -2 +list-compress-depth 0 +set-max-intset-entries 512 +set-max-listpack-entries 128 +set-max-listpack-value 64 +zset-max-listpack-entries 128 +zset-max-listpack-value 64 +hll-sparse-max-bytes 3000 +stream-node-max-bytes 4096 +stream-node-max-entries 100 +activerehashing yes +client-output-buffer-limit normal 0 0 0 +client-output-buffer-limit replica 256mb 64mb 60 +client-output-buffer-limit pubsub 32mb 8mb 60 +hz 10 +dynamic-hz yes +aof-rewrite-incremental-fsync yes +rdb-save-incremental-fsync yes +jemalloc-bg-thread yes From 51bfffbf0ee60930efa7204d8e0276c887b6d440 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 1 Jan 2024 12:01:53 +0000 Subject: [PATCH 377/639] unsubscribe from mempool block tracking --- .../src/app/components/mempool-block/mempool-block.component.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/app/components/mempool-block/mempool-block.component.ts b/frontend/src/app/components/mempool-block/mempool-block.component.ts index 197b07247..89fb97dad 100644 --- a/frontend/src/app/components/mempool-block/mempool-block.component.ts +++ b/frontend/src/app/components/mempool-block/mempool-block.component.ts @@ -75,6 +75,7 @@ export class MempoolBlockComponent implements OnInit, OnDestroy { ngOnDestroy(): void { this.stateService.markBlock$.next({}); + this.websocketService.stopTrackMempoolBlock(); } getOrdinal(mempoolBlock: MempoolBlock): string { From 3e1b85e32ca7526f9772a495b14ef8bd6cfb3546 Mon Sep 17 00:00:00 2001 From: natsee Date: Sun, 31 Dec 2023 23:23:53 +0100 Subject: [PATCH 378/639] Add search addresses from cross networks feature --- .../search-form/search-form.component.ts | 48 ++++++++++--------- .../search-results.component.html | 16 +++++-- .../search-results.component.scss | 4 ++ .../search-results.component.ts | 2 +- frontend/src/app/shared/regex.utils.ts | 37 ++++++++++++++ 5 files changed, 79 insertions(+), 28 deletions(-) diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index 4ed6b1d64..ed46f1e88 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -2,14 +2,14 @@ import { Component, OnInit, ChangeDetectionStrategy, EventEmitter, Output, ViewC import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { EventType, NavigationStart, Router } from '@angular/router'; import { AssetsService } from '../../services/assets.service'; -import { StateService } from '../../services/state.service'; +import { Env, StateService } from '../../services/state.service'; import { Observable, of, Subject, zip, BehaviorSubject, combineLatest } from 'rxjs'; import { debounceTime, distinctUntilChanged, switchMap, catchError, map, startWith, tap } from 'rxjs/operators'; import { ElectrsApiService } from '../../services/electrs-api.service'; import { RelativeUrlPipe } from '../../shared/pipes/relative-url/relative-url.pipe'; import { ApiService } from '../../services/api.service'; import { SearchResultsComponent } from './search-results/search-results.component'; -import { findOtherNetworks, getRegex } from '../../shared/regex.utils'; +import { Network, findOtherNetworks, getRegex, getTargetUrl, needBaseModuleChange } from '../../shared/regex.utils'; @Component({ selector: 'app-search-form', @@ -19,7 +19,7 @@ import { findOtherNetworks, getRegex } from '../../shared/regex.utils'; }) export class SearchFormComponent implements OnInit { @Input() hamburgerOpen = false; - + env: Env; network = ''; assets: object = {}; isSearching = false; @@ -68,6 +68,7 @@ export class SearchFormComponent implements OnInit { } ngOnInit(): void { + this.env = this.stateService.env; this.stateService.networkChanged$.subscribe((network) => { this.network = network; // TODO: Eventually change network type here from string to enum of consts @@ -103,9 +104,6 @@ export class SearchFormComponent implements OnInit { const searchText$ = this.searchForm.get('searchText').valueChanges .pipe( map((text) => { - if (this.network === 'bisq' && text.match(/^(b)[^c]/i)) { - return text.substr(1); - } return text.trim(); }), tap((text) => { @@ -139,9 +137,6 @@ export class SearchFormComponent implements OnInit { ); }), map((result: any[]) => { - if (this.network === 'bisq') { - result[0] = result[0].map((address: string) => 'B' + address); - } return result; }), tap(() => { @@ -171,6 +166,7 @@ export class SearchFormComponent implements OnInit { blockHeight: false, txId: false, address: false, + otherNetworks: [], addresses: [], nodes: [], channels: [], @@ -186,10 +182,13 @@ export class SearchFormComponent implements OnInit { const matchesUnixTimestamp = this.regexUnixTimestamp.test(searchText) && parseInt(searchText) <= Math.floor(Date.now() / 1000) && parseInt(searchText) >= 1231006505; // 1231006505 is the timestamp of the genesis block const matchesTxId = this.regexTransaction.test(searchText) && !this.regexBlockhash.test(searchText); const matchesBlockHash = this.regexBlockhash.test(searchText); - const matchesAddress = !matchesTxId && this.regexAddress.test(searchText); + let matchesAddress = !matchesTxId && this.regexAddress.test(searchText); + const otherNetworks = findOtherNetworks(searchText, this.network as any || 'mainnet'); - if (matchesAddress && this.network === 'bisq') { - searchText = 'B' + searchText; + // Add B prefix to addresses in Bisq network + if (!matchesAddress && this.network === 'bisq' && getRegex('address', 'mainnet').test(searchText)) { + searchText = 'B' + searchText; + matchesAddress = !matchesTxId && this.regexAddress.test(searchText); } if (matchesDateTime && searchText.indexOf('/') !== -1) { @@ -205,7 +204,8 @@ export class SearchFormComponent implements OnInit { txId: matchesTxId, blockHash: matchesBlockHash, address: matchesAddress, - addresses: addressPrefixSearchResults, + addresses: matchesAddress && addressPrefixSearchResults.length === 1 && searchText === addressPrefixSearchResults[0] ? [] : addressPrefixSearchResults, // If there is only one address and it matches the search text, don't show it in the dropdown + otherNetworks: otherNetworks, nodes: lightningResults.nodes, channels: lightningResults.channels, }; @@ -230,6 +230,8 @@ export class SearchFormComponent implements OnInit { this.navigate('/lightning/node/', result.public_key); } else if (result.short_id) { this.navigate('/lightning/channel/', result.id); + } else if (result.network) { + this.navigate('/address/', result.address, undefined, result.network); } } @@ -238,12 +240,8 @@ export class SearchFormComponent implements OnInit { if (searchText) { this.isSearching = true; - const otherNetworks = findOtherNetworks(searchText, this.network as any || 'mainnet'); if (!this.regexTransaction.test(searchText) && this.regexAddress.test(searchText)) { this.navigate('/address/', searchText); - } else if (otherNetworks.length > 0) { - // Change the network to the first match - this.navigate('/address/', searchText, undefined, otherNetworks[0]); } else if (this.regexBlockhash.test(searchText)) { this.navigate('/block/', searchText); } else if (this.regexBlockheight.test(searchText)) { @@ -288,11 +286,15 @@ export class SearchFormComponent implements OnInit { navigate(url: string, searchText: string, extras?: any, swapNetwork?: string) { - this.router.navigate([this.relativeUrlPipe.transform(url, swapNetwork), searchText], extras); - this.searchTriggered.emit(); - this.searchForm.setValue({ - searchText: '', - }); - this.isSearching = false; + if (needBaseModuleChange(this.env.BASE_MODULE as 'liquid' | 'bisq' | 'mempool', swapNetwork as Network)) { + window.location.href = getTargetUrl(swapNetwork as Network, searchText, this.env); + } else { + this.router.navigate([this.relativeUrlPipe.transform(url, swapNetwork), searchText], extras); + this.searchTriggered.emit(); + this.searchForm.setValue({ + searchText: '', + }); + this.isSearching = false; + } } } diff --git a/frontend/src/app/components/search-form/search-results/search-results.component.html b/frontend/src/app/components/search-form/search-results/search-results.component.html index d4f68edbd..adc92b0bf 100644 --- a/frontend/src/app/components/search-form/search-results/search-results.component.html +++ b/frontend/src/app/components/search-form/search-results/search-results.component.html @@ -1,4 +1,4 @@ -

    Explore the full Bitcoin ecosystem - + ®

    @@ -32,7 +32,7 @@

    Explore the full Bitcoin ecosystem - + ®

    diff --git a/frontend/src/index.bisq.html b/frontend/src/index.bisq.html index cb733cb41..06c903ea2 100644 --- a/frontend/src/index.bisq.html +++ b/frontend/src/index.bisq.html @@ -7,16 +7,16 @@ - + - + - + diff --git a/frontend/src/index.liquid.html b/frontend/src/index.liquid.html index 2029e5083..d2810d6e6 100644 --- a/frontend/src/index.liquid.html +++ b/frontend/src/index.liquid.html @@ -7,17 +7,17 @@ - + - + - + diff --git a/unfurler/src/index.ts b/unfurler/src/index.ts index 3c7d3cc92..166b86158 100644 --- a/unfurler/src/index.ts +++ b/unfurler/src/index.ts @@ -343,7 +343,7 @@ class Server { ${ogTitle} - + From d665d2a12cb5bfc48c20a78e162b3e1365d74210 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sat, 6 Jan 2024 03:42:45 +0000 Subject: [PATCH 387/639] Handle unmineable transactions in GBT implementations --- backend/rust-gbt/src/gbt.rs | 11 +++++++---- backend/src/api/tx-selection-worker.ts | 3 +++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/backend/rust-gbt/src/gbt.rs b/backend/rust-gbt/src/gbt.rs index fb28dc299..412d4e5e9 100644 --- a/backend/rust-gbt/src/gbt.rs +++ b/backend/rust-gbt/src/gbt.rs @@ -127,7 +127,7 @@ pub fn gbt(mempool: &mut ThreadTransactionsMap, accelerations: &[ThreadAccelerat let next_from_stack = next_valid_from_stack(&mut mempool_stack, &audit_pool); let next_from_queue = next_valid_from_queue(&mut modified, &audit_pool); if next_from_stack.is_none() && next_from_queue.is_none() { - continue; + break; } let (next_tx, from_stack) = match (next_from_stack, next_from_queue) { (Some(stack_tx), Some(queue_tx)) => match queue_tx.cmp(stack_tx) { @@ -203,10 +203,13 @@ pub fn gbt(mempool: &mut ThreadTransactionsMap, accelerations: &[ThreadAccelerat let queue_is_empty = mempool_stack.is_empty() && modified.is_empty(); if (exceeded_package_tries || queue_is_empty) && blocks.len() < (MAX_BLOCKS - 1) { // finalize this block - if !transactions.is_empty() { - blocks.push(transactions); - block_weights.push(block_weight); + if transactions.is_empty() { + break; } + + blocks.push(transactions); + block_weights.push(block_weight); + // reset for the next block transactions = Vec::with_capacity(initial_txes_per_block); block_weight = BLOCK_RESERVED_WEIGHT; diff --git a/backend/src/api/tx-selection-worker.ts b/backend/src/api/tx-selection-worker.ts index 0acc2f65e..8ac7328fe 100644 --- a/backend/src/api/tx-selection-worker.ts +++ b/backend/src/api/tx-selection-worker.ts @@ -173,10 +173,13 @@ function makeBlockTemplates(mempool: Map) // this block is full const exceededPackageTries = failures > 1000 && blockWeight > (config.MEMPOOL.BLOCK_WEIGHT_UNITS - 4000); const queueEmpty = top >= mempoolArray.length && modified.isEmpty(); + if ((exceededPackageTries || queueEmpty) && blocks.length < 7) { // construct this block if (transactions.length) { blocks.push(transactions.map(t => t.uid)); + } else { + break; } // reset for the next block transactions = []; From 5f66a954023eddf805dd0022d53ee2763d2dafb1 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 7 Jan 2024 18:02:11 +0000 Subject: [PATCH 388/639] Smooth out irregular mempool block updates --- .../block-overview-graph/block-scene.ts | 2 +- .../mempool-block-overview.component.ts | 43 +++++++++++++------ 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/components/block-overview-graph/block-scene.ts b/frontend/src/app/components/block-overview-graph/block-scene.ts index cb589527d..adcf736fc 100644 --- a/frontend/src/app/components/block-overview-graph/block-scene.ts +++ b/frontend/src/app/components/block-overview-graph/block-scene.ts @@ -11,7 +11,7 @@ export default class BlockScene { getColor: ((tx: TxView) => Color) = defaultColorFunction; orientation: string; flip: boolean; - animationDuration: number = 1000; + animationDuration: number = 900; configAnimationOffset: number | null; animationOffset: number; highlightingEnabled: boolean; diff --git a/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts b/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts index f09b8f5ea..84c9a3416 100644 --- a/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts +++ b/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts @@ -3,8 +3,8 @@ import { Component, ComponentRef, ViewChild, HostListener, Input, Output, EventE import { StateService } from '../../services/state.service'; import { MempoolBlockDelta, TransactionStripped } from '../../interfaces/websocket.interface'; import { BlockOverviewGraphComponent } from '../../components/block-overview-graph/block-overview-graph.component'; -import { Subscription, BehaviorSubject, merge, of } from 'rxjs'; -import { switchMap, filter } from 'rxjs/operators'; +import { Subscription, BehaviorSubject, merge, of, timer } from 'rxjs'; +import { switchMap, filter, concatMap, map } from 'rxjs/operators'; import { WebsocketService } from '../../services/websocket.service'; import { RelativeUrlPipe } from '../../shared/pipes/relative-url/relative-url.pipe'; import { Router } from '@angular/router'; @@ -33,7 +33,8 @@ export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChang poolDirection: string = 'left'; blockSub: Subscription; - deltaSub: Subscription; + rateLimit = 1000; + private lastEventTime = Date.now() - this.rateLimit; firstLoad: boolean = true; @@ -55,11 +56,32 @@ export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChang ngAfterViewInit(): void { this.blockSub = merge( - of(true), - this.stateService.connectionState$.pipe(filter((state) => state === 2)) - ) - .pipe(switchMap(() => this.stateService.mempoolBlockTransactions$)) - .subscribe((transactionsStripped) => { + this.stateService.mempoolBlockTransactions$, + this.stateService.mempoolBlockDelta$, + ).pipe( + concatMap(event => { + const now = Date.now(); + const timeSinceLastEvent = now - this.lastEventTime; + this.lastEventTime = Math.max(now, this.lastEventTime + this.rateLimit); + + // If time since last event is less than X seconds, delay this event + if (timeSinceLastEvent < this.rateLimit) { + return timer(this.rateLimit - timeSinceLastEvent).pipe( + // Emit the event after the timer + map(() => event) + ); + } else { + // If enough time has passed, emit the event immediately + return of(event); + } + }) + ).subscribe((update) => { + if (update['added']) { + // delta + this.updateBlock(update as MempoolBlockDelta); + } else { + const transactionsStripped = update as TransactionStripped[]; + // new transactions if (this.firstLoad) { this.replaceBlock(transactionsStripped); } else { @@ -94,9 +116,7 @@ export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChang added }); } - }); - this.deltaSub = this.stateService.mempoolBlockDelta$.subscribe((delta) => { - this.updateBlock(delta); + } }); } @@ -113,7 +133,6 @@ export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChang ngOnDestroy(): void { this.blockSub.unsubscribe(); - this.deltaSub.unsubscribe(); this.timeLtrSubscription.unsubscribe(); this.websocketService.stopTrackMempoolBlock(); } From 9485dfe2ce7d69d6375ddba1d2b1e9b7e6b667de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jan 2024 02:48:43 +0000 Subject: [PATCH 389/639] Bump cypress-fail-on-console-error from 5.0.0 to 5.1.0 in /frontend Bumps [cypress-fail-on-console-error](https://github.com/nils-hoyer/cypress-fail-on-console-error) from 5.0.0 to 5.1.0. - [Release notes](https://github.com/nils-hoyer/cypress-fail-on-console-error/releases) - [Commits](https://github.com/nils-hoyer/cypress-fail-on-console-error/compare/5.0.0...5.1.0) --- updated-dependencies: - dependency-name: cypress-fail-on-console-error dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 187 +++++++++++++++++++++++++------------ frontend/package.json | 2 +- 2 files changed, 127 insertions(+), 62 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b02ee1c50..dfd5b1f72 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -31,6 +31,7 @@ "bootstrap": "~4.6.2", "browserify": "^17.0.0", "clipboard": "^2.0.11", + "cypress-fail-on-console-error": "~5.1.0", "domino": "^2.1.6", "echarts": "~5.4.3", "lightweight-charts": "~3.8.0", @@ -59,7 +60,7 @@ "@cypress/schematic": "^2.5.0", "@types/cypress": "^1.1.3", "cypress": "^13.6.0", - "cypress-fail-on-console-error": "~5.0.0", + "cypress-fail-on-console-error": "~5.1.0", "cypress-wait-until": "^2.0.1", "mock-socket": "~9.3.1", "start-server-and-test": "~2.0.0" @@ -4068,9 +4069,9 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", "optional": true, "dependencies": { "@sinonjs/commons": "^3.0.0" @@ -6242,17 +6243,18 @@ "optional": true }, "node_modules/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.0.tgz", + "integrity": "sha512-x9cHNq1uvkCdU+5xTkNh5WtgD4e4yDFCsp9jVc7N7qVeKeftv3gO/ZrviX5d+3ZfxdYnZXZYujjRInu1RogU6A==", "optional": true, "dependencies": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.0.8" }, "engines": { "node": ">=4" @@ -6277,10 +6279,13 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "optional": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, "engines": { "node": "*" } @@ -7137,13 +7142,13 @@ } }, "node_modules/cypress-fail-on-console-error": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cypress-fail-on-console-error/-/cypress-fail-on-console-error-5.0.0.tgz", - "integrity": "sha512-xui/aSu8rmExZjZNgId3iX0MsGZih6ZoFH+54vNHrK3HaqIZZX5hUuNhAcmfSoM1rIDc2DeITeVaMn/hiQ9IWQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cypress-fail-on-console-error/-/cypress-fail-on-console-error-5.1.0.tgz", + "integrity": "sha512-u/AXLE9obLd9KcGHkGJluJVZeOj1EEOFOs0URxxca4FrftUDJQ3u+IoNfjRUjsrBKmJxgM4vKd0G10D+ZT1uIA==", "optional": true, "dependencies": { - "chai": "^4.3.4", - "sinon": "^15.0.0", + "chai": "^4.3.10", + "sinon": "^17.0.0", "sinon-chai": "^3.7.0", "type-detect": "^4.0.8" } @@ -7403,15 +7408,15 @@ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" }, "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "optional": true, "dependencies": { "type-detect": "^4.0.0" }, "engines": { - "node": ">=0.12" + "node": ">=6" } }, "node_modules/deep-equal": { @@ -11759,6 +11764,15 @@ "node": ">=8.0" } }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "optional": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -12537,9 +12551,9 @@ } }, "node_modules/nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", + "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", "optional": true, "dependencies": { "@sinonjs/commons": "^2.0.0", @@ -12558,6 +12572,24 @@ "type-detect": "4.0.8" } }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "optional": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "optional": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, "node_modules/nise/node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -14842,16 +14874,16 @@ ] }, "node_modules/sinon": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.2.0.tgz", - "integrity": "sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", + "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", "optional": true, "dependencies": { "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.3.0", + "@sinonjs/fake-timers": "^11.2.2", "@sinonjs/samsam": "^8.0.0", "diff": "^5.1.0", - "nise": "^5.1.4", + "nise": "^5.1.5", "supports-color": "^7.2.0" }, "funding": { @@ -19882,9 +19914,9 @@ } }, "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", "optional": true, "requires": { "@sinonjs/commons": "^3.0.0" @@ -21594,17 +21626,18 @@ "optional": true }, "chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.0.tgz", + "integrity": "sha512-x9cHNq1uvkCdU+5xTkNh5WtgD4e4yDFCsp9jVc7N7qVeKeftv3gO/ZrviX5d+3ZfxdYnZXZYujjRInu1RogU6A==", "optional": true, "requires": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.0.8" } }, "chalk": { @@ -21623,10 +21656,13 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "optional": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "optional": true, + "requires": { + "get-func-name": "^2.0.2" + } }, "check-more-types": { "version": "2.24.0", @@ -22403,13 +22439,13 @@ } }, "cypress-fail-on-console-error": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cypress-fail-on-console-error/-/cypress-fail-on-console-error-5.0.0.tgz", - "integrity": "sha512-xui/aSu8rmExZjZNgId3iX0MsGZih6ZoFH+54vNHrK3HaqIZZX5hUuNhAcmfSoM1rIDc2DeITeVaMn/hiQ9IWQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cypress-fail-on-console-error/-/cypress-fail-on-console-error-5.1.0.tgz", + "integrity": "sha512-u/AXLE9obLd9KcGHkGJluJVZeOj1EEOFOs0URxxca4FrftUDJQ3u+IoNfjRUjsrBKmJxgM4vKd0G10D+ZT1uIA==", "optional": true, "requires": { - "chai": "^4.3.4", - "sinon": "^15.0.0", + "chai": "^4.3.10", + "sinon": "^17.0.0", "sinon-chai": "^3.7.0", "type-detect": "^4.0.8" } @@ -22490,9 +22526,9 @@ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" }, "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "optional": true, "requires": { "type-detect": "^4.0.0" @@ -25754,6 +25790,15 @@ "streamroller": "^3.0.2" } }, + "loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "optional": true, + "requires": { + "get-func-name": "^2.0.1" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -26361,9 +26406,9 @@ } }, "nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", + "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", "optional": true, "requires": { "@sinonjs/commons": "^2.0.0", @@ -26382,6 +26427,26 @@ "type-detect": "4.0.8" } }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "optional": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + }, + "dependencies": { + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "optional": true, + "requires": { + "type-detect": "4.0.8" + } + } + } + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -28036,16 +28101,16 @@ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" }, "sinon": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.2.0.tgz", - "integrity": "sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", + "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", "optional": true, "requires": { "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.3.0", + "@sinonjs/fake-timers": "^11.2.2", "@sinonjs/samsam": "^8.0.0", "diff": "^5.1.0", - "nise": "^5.1.4", + "nise": "^5.1.5", "supports-color": "^7.2.0" }, "dependencies": { diff --git a/frontend/package.json b/frontend/package.json index a4a4ac462..8dbcbcf3e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -111,7 +111,7 @@ "@cypress/schematic": "^2.5.0", "@types/cypress": "^1.1.3", "cypress": "^13.6.0", - "cypress-fail-on-console-error": "~5.0.0", + "cypress-fail-on-console-error": "~5.1.0", "cypress-wait-until": "^2.0.1", "mock-socket": "~9.3.1", "start-server-and-test": "~2.0.0" From fc8eca4c26c38b2e57ce86c62f854f44e072e71d Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 8 Jan 2024 14:42:00 +0000 Subject: [PATCH 390/639] Handle stale smoothed mempool block updates --- .../mempool-block-overview.component.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts b/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts index 84c9a3416..8dad6a9c1 100644 --- a/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts +++ b/frontend/src/app/components/mempool-block-overview/mempool-block-overview.component.ts @@ -35,6 +35,7 @@ export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChang blockSub: Subscription; rateLimit = 1000; private lastEventTime = Date.now() - this.rateLimit; + private subId = 0; firstLoad: boolean = true; @@ -59,23 +60,30 @@ export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChang this.stateService.mempoolBlockTransactions$, this.stateService.mempoolBlockDelta$, ).pipe( - concatMap(event => { + concatMap(update => { const now = Date.now(); const timeSinceLastEvent = now - this.lastEventTime; this.lastEventTime = Math.max(now, this.lastEventTime + this.rateLimit); + const subId = this.subId; + // If time since last event is less than X seconds, delay this event if (timeSinceLastEvent < this.rateLimit) { return timer(this.rateLimit - timeSinceLastEvent).pipe( // Emit the event after the timer - map(() => event) + map(() => ({ update, subId })) ); } else { // If enough time has passed, emit the event immediately - return of(event); + return of({ update, subId }); } }) - ).subscribe((update) => { + ).subscribe(({ update, subId }) => { + // discard stale updates after a block transition + if (subId !== this.subId) { + return; + } + // process update if (update['added']) { // delta this.updateBlock(update as MempoolBlockDelta); @@ -122,6 +130,7 @@ export class MempoolBlockOverviewComponent implements OnInit, OnDestroy, OnChang ngOnChanges(changes): void { if (changes.index) { + this.subId++; this.firstLoad = true; if (this.blockGraph) { this.blockGraph.clear(changes.index.currentValue > changes.index.previousValue ? this.chainDirection : this.poolDirection); From d5c5ae0e090adda89872f2e21f75dbecab937da0 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 8 Jan 2024 16:33:19 +0000 Subject: [PATCH 391/639] Additional fee recommendation sanity checks --- backend/src/api/fee-api.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/backend/src/api/fee-api.ts b/backend/src/api/fee-api.ts index 0cab5a295..24fd25a4b 100644 --- a/backend/src/api/fee-api.ts +++ b/backend/src/api/fee-api.ts @@ -39,15 +39,25 @@ class FeeApi { const secondMedianFee = pBlocks[1] ? this.optimizeMedianFee(pBlocks[1], pBlocks[2], firstMedianFee) : this.defaultFee; const thirdMedianFee = pBlocks[2] ? this.optimizeMedianFee(pBlocks[2], pBlocks[3], secondMedianFee) : this.defaultFee; + let fastestFee = Math.max(minimumFee, firstMedianFee); + let halfHourFee = Math.max(minimumFee, secondMedianFee); + let hourFee = Math.max(minimumFee, thirdMedianFee); + const economyFee = Math.max(minimumFee, Math.min(2 * minimumFee, thirdMedianFee)); + + // ensure recommendations always increase w/ priority + fastestFee = Math.max(fastestFee, halfHourFee, hourFee, economyFee); + halfHourFee = Math.max(halfHourFee, hourFee, economyFee); + hourFee = Math.max(hourFee, economyFee); + // explicitly enforce a minimum of ceil(mempoolminfee) on all recommendations. // simply rounding up recommended rates is insufficient, as the purging rate // can exceed the median rate of projected blocks in some extreme scenarios // (see https://bitcoin.stackexchange.com/a/120024) return { - 'fastestFee': Math.max(minimumFee, firstMedianFee), - 'halfHourFee': Math.max(minimumFee, secondMedianFee), - 'hourFee': Math.max(minimumFee, thirdMedianFee), - 'economyFee': Math.max(minimumFee, Math.min(2 * minimumFee, thirdMedianFee)), + 'fastestFee': fastestFee, + 'halfHourFee': halfHourFee, + 'hourFee': hourFee, + 'economyFee': economyFee, 'minimumFee': minimumFee, }; } From 0230f95001875039995c6f68a3adc80f85ce0eea Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 8 Jan 2024 22:33:11 +0000 Subject: [PATCH 392/639] Fix bad coinbase price url, switch to median prices --- backend/src/tasks/price-feeds/coinbase-api.ts | 4 ++-- backend/src/tasks/price-updater.ts | 14 ++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/backend/src/tasks/price-feeds/coinbase-api.ts b/backend/src/tasks/price-feeds/coinbase-api.ts index 424ac8867..d2c6d063a 100644 --- a/backend/src/tasks/price-feeds/coinbase-api.ts +++ b/backend/src/tasks/price-feeds/coinbase-api.ts @@ -5,14 +5,14 @@ class CoinbaseApi implements PriceFeed { public name: string = 'Coinbase'; public currencies: string[] = ['USD', 'EUR', 'GBP']; - public url: string = 'https://api.coinbase.com/v2/prices/spot?currency='; + public url: string = 'https://api.coinbase.com/v2/prices/BTC-{CURRENCY}/spot'; public urlHist: string = 'https://api.exchange.coinbase.com/products/BTC-{CURRENCY}/candles?granularity={GRANULARITY}'; constructor() { } public async $fetchPrice(currency): Promise { - const response = await query(this.url + currency); + const response = await query(this.url.replace('{CURRENCY}', currency)); if (response && response['data'] && response['data']['amount']) { return parseInt(response['data']['amount'], 10); } else { diff --git a/backend/src/tasks/price-updater.ts b/backend/src/tasks/price-updater.ts index fd799fb87..0d5ca5958 100644 --- a/backend/src/tasks/price-updater.ts +++ b/backend/src/tasks/price-updater.ts @@ -23,6 +23,14 @@ export interface PriceHistory { [timestamp: number]: ApiPrice; } +function getMedian(arr: number[]): number { + const sortedArr = arr.slice().sort((a, b) => a - b); + const mid = Math.floor(sortedArr.length / 2); + return sortedArr.length % 2 !== 0 + ? sortedArr[mid] + : (sortedArr[mid - 1] + sortedArr[mid]) / 2; +} + class PriceUpdater { public historyInserted = false; private timeBetweenUpdatesMs = 360_0000 / config.MEMPOOL.PRICE_UPDATES_PER_HOUR; @@ -173,7 +181,7 @@ class PriceUpdater { if (prices.length === 0) { this.latestPrices[currency] = -1; } else { - this.latestPrices[currency] = Math.round((prices.reduce((partialSum, a) => partialSum + a, 0)) / prices.length); + this.latestPrices[currency] = Math.round(getMedian(prices)); } } @@ -300,9 +308,7 @@ class PriceUpdater { if (grouped[time][currency].length === 0) { continue; } - prices[currency] = Math.round((grouped[time][currency].reduce( - (partialSum, a) => partialSum + a, 0) - ) / grouped[time][currency].length); + prices[currency] = Math.round(getMedian(grouped[time][currency])); } await PricesRepository.$savePrices(parseInt(time, 10), prices); ++totalInserted; From 89d37f00580eb033dcca81dd27c33b12fa178da5 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 9 Jan 2024 16:18:04 +0000 Subject: [PATCH 393/639] Fix unmineable tx handling --- backend/rust-gbt/src/gbt.rs | 129 +++++++++++++++--------------- backend/src/api/mempool-blocks.ts | 11 +-- 2 files changed, 72 insertions(+), 68 deletions(-) diff --git a/backend/rust-gbt/src/gbt.rs b/backend/rust-gbt/src/gbt.rs index 412d4e5e9..e1ceeefb6 100644 --- a/backend/rust-gbt/src/gbt.rs +++ b/backend/rust-gbt/src/gbt.rs @@ -60,6 +60,7 @@ pub fn gbt(mempool: &mut ThreadTransactionsMap, accelerations: &[ThreadAccelerat indexed_accelerations[acceleration.uid as usize] = Some(acceleration); } + info!("Initializing working vecs with uid capacity for {}", max_uid + 1); let mempool_len = mempool.len(); let mut audit_pool: AuditPool = Vec::with_capacity(max_uid + 1); audit_pool.resize(max_uid + 1, None); @@ -127,74 +128,75 @@ pub fn gbt(mempool: &mut ThreadTransactionsMap, accelerations: &[ThreadAccelerat let next_from_stack = next_valid_from_stack(&mut mempool_stack, &audit_pool); let next_from_queue = next_valid_from_queue(&mut modified, &audit_pool); if next_from_stack.is_none() && next_from_queue.is_none() { - break; - } - let (next_tx, from_stack) = match (next_from_stack, next_from_queue) { - (Some(stack_tx), Some(queue_tx)) => match queue_tx.cmp(stack_tx) { - std::cmp::Ordering::Less => (stack_tx, true), - _ => (queue_tx, false), - }, - (Some(stack_tx), None) => (stack_tx, true), - (None, Some(queue_tx)) => (queue_tx, false), - (None, None) => unreachable!(), - }; - - if from_stack { - mempool_stack.pop(); + info!("No transactions left! {:#?} in overflow", overflow.len()); } else { - modified.pop(); - } + let (next_tx, from_stack) = match (next_from_stack, next_from_queue) { + (Some(stack_tx), Some(queue_tx)) => match queue_tx.cmp(stack_tx) { + std::cmp::Ordering::Less => (stack_tx, true), + _ => (queue_tx, false), + }, + (Some(stack_tx), None) => (stack_tx, true), + (None, Some(queue_tx)) => (queue_tx, false), + (None, None) => unreachable!(), + }; - if blocks.len() < (MAX_BLOCKS - 1) - && ((block_weight + (4 * next_tx.ancestor_sigop_adjusted_vsize()) - >= MAX_BLOCK_WEIGHT_UNITS) - || (block_sigops + next_tx.ancestor_sigops() > BLOCK_SIGOPS)) - { - // hold this package in an overflow list while we check for smaller options - overflow.push(next_tx.uid); - failures += 1; - } else { - let mut package: Vec<(u32, u32, usize)> = Vec::new(); - let mut cluster: Vec = Vec::new(); - let is_cluster: bool = !next_tx.ancestors.is_empty(); - for ancestor_id in &next_tx.ancestors { - if let Some(Some(ancestor)) = audit_pool.get(*ancestor_id as usize) { - package.push((*ancestor_id, ancestor.order(), ancestor.ancestors.len())); - } - } - package.sort_unstable_by(|a, b| -> Ordering { - if a.2 != b.2 { - // order by ascending ancestor count - a.2.cmp(&b.2) - } else if a.1 != b.1 { - // tie-break by ascending partial txid - a.1.cmp(&b.1) - } else { - // tie-break partial txid collisions by ascending uid - a.0.cmp(&b.0) - } - }); - package.push((next_tx.uid, next_tx.order(), next_tx.ancestors.len())); - - let cluster_rate = next_tx.cluster_rate(); - - for (txid, _, _) in &package { - cluster.push(*txid); - if let Some(Some(tx)) = audit_pool.get_mut(*txid as usize) { - tx.used = true; - tx.set_dirty_if_different(cluster_rate); - transactions.push(tx.uid); - block_weight += tx.weight; - block_sigops += tx.sigops; - } - update_descendants(*txid, &mut audit_pool, &mut modified, cluster_rate); + if from_stack { + mempool_stack.pop(); + } else { + modified.pop(); } - if is_cluster { - clusters.push(cluster); - } + if blocks.len() < (MAX_BLOCKS - 1) + && ((block_weight + (4 * next_tx.ancestor_sigop_adjusted_vsize()) + >= MAX_BLOCK_WEIGHT_UNITS) + || (block_sigops + next_tx.ancestor_sigops() > BLOCK_SIGOPS)) + { + // hold this package in an overflow list while we check for smaller options + overflow.push(next_tx.uid); + failures += 1; + } else { + let mut package: Vec<(u32, u32, usize)> = Vec::new(); + let mut cluster: Vec = Vec::new(); + let is_cluster: bool = !next_tx.ancestors.is_empty(); + for ancestor_id in &next_tx.ancestors { + if let Some(Some(ancestor)) = audit_pool.get(*ancestor_id as usize) { + package.push((*ancestor_id, ancestor.order(), ancestor.ancestors.len())); + } + } + package.sort_unstable_by(|a, b| -> Ordering { + if a.2 != b.2 { + // order by ascending ancestor count + a.2.cmp(&b.2) + } else if a.1 != b.1 { + // tie-break by ascending partial txid + a.1.cmp(&b.1) + } else { + // tie-break partial txid collisions by ascending uid + a.0.cmp(&b.0) + } + }); + package.push((next_tx.uid, next_tx.order(), next_tx.ancestors.len())); - failures = 0; + let cluster_rate = next_tx.cluster_rate(); + + for (txid, _, _) in &package { + cluster.push(*txid); + if let Some(Some(tx)) = audit_pool.get_mut(*txid as usize) { + tx.used = true; + tx.set_dirty_if_different(cluster_rate); + transactions.push(tx.uid); + block_weight += tx.weight; + block_sigops += tx.sigops; + } + update_descendants(*txid, &mut audit_pool, &mut modified, cluster_rate); + } + + if is_cluster { + clusters.push(cluster); + } + + failures = 0; + } } // this block is full @@ -204,6 +206,7 @@ pub fn gbt(mempool: &mut ThreadTransactionsMap, accelerations: &[ThreadAccelerat if (exceeded_package_tries || queue_is_empty) && blocks.len() < (MAX_BLOCKS - 1) { // finalize this block if transactions.is_empty() { + info!("trying to push an empty block! breaking loop! mempool {:#?} | modified {:#?} | overflow {:#?}", mempool_stack.len(), modified.len(), overflow.len()); break; } diff --git a/backend/src/api/mempool-blocks.ts b/backend/src/api/mempool-blocks.ts index a7f00f6e8..2097acd4b 100644 --- a/backend/src/api/mempool-blocks.ts +++ b/backend/src/api/mempool-blocks.ts @@ -432,15 +432,16 @@ class MempoolBlocks { this.nextUid, ), ); - const resultMempoolSize = blocks.reduce((total, block) => total + block.length, 0); - if (mempoolSize !== resultMempoolSize) { - throw new Error('GBT returned wrong number of transactions, cache is probably out of sync'); - } else { + //// different number of transactions is now expected, if any were unmineable + // const resultMempoolSize = blocks.reduce((total, block) => total + block.length, 0); + // if (mempoolSize !== resultMempoolSize) { + // throw new Error('GBT returned wrong number of transactions, cache is probably out of sync'); + // } else { const processed = this.processBlockTemplates(newMempool, blocks, blockWeights, rates, clusters, accelerations, accelerationPool, true); this.removeUids(removedUids); logger.debug(`RUST updateBlockTemplates completed in ${(Date.now() - start)/1000} seconds`); return processed; - } + // } } catch (e) { logger.err('RUST updateBlockTemplates failed. ' + (e instanceof Error ? e.message : e)); this.resetRustGbt(); From 30d58d9971bd73c4ba19d016d4004653d3b40f1a Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 9 Jan 2024 17:08:25 +0000 Subject: [PATCH 394/639] Restore GBT result size sanity check --- backend/rust-gbt/index.d.ts | 3 ++- backend/rust-gbt/src/gbt.rs | 1 + backend/rust-gbt/src/lib.rs | 1 + backend/src/api/mempool-blocks.ts | 33 ++++++++++++++++++++----------- 4 files changed, 26 insertions(+), 12 deletions(-) diff --git a/backend/rust-gbt/index.d.ts b/backend/rust-gbt/index.d.ts index 2bd8a620a..d1cb85b92 100644 --- a/backend/rust-gbt/index.d.ts +++ b/backend/rust-gbt/index.d.ts @@ -45,5 +45,6 @@ export class GbtResult { blockWeights: Array clusters: Array> rates: Array> - constructor(blocks: Array>, blockWeights: Array, clusters: Array>, rates: Array>) + overflow: Array + constructor(blocks: Array>, blockWeights: Array, clusters: Array>, rates: Array>, overflow: Array) } diff --git a/backend/rust-gbt/src/gbt.rs b/backend/rust-gbt/src/gbt.rs index e1ceeefb6..38bf826a6 100644 --- a/backend/rust-gbt/src/gbt.rs +++ b/backend/rust-gbt/src/gbt.rs @@ -271,6 +271,7 @@ pub fn gbt(mempool: &mut ThreadTransactionsMap, accelerations: &[ThreadAccelerat block_weights, clusters, rates, + overflow, } } diff --git a/backend/rust-gbt/src/lib.rs b/backend/rust-gbt/src/lib.rs index 53db0ba21..edc9714ee 100644 --- a/backend/rust-gbt/src/lib.rs +++ b/backend/rust-gbt/src/lib.rs @@ -133,6 +133,7 @@ pub struct GbtResult { pub block_weights: Vec, pub clusters: Vec>, pub rates: Vec>, // Tuples not supported. u32 fits inside f64 + pub overflow: Vec, } /// All on another thread, this runs an arbitrary task in between diff --git a/backend/src/api/mempool-blocks.ts b/backend/src/api/mempool-blocks.ts index 2097acd4b..0ca550f4c 100644 --- a/backend/src/api/mempool-blocks.ts +++ b/backend/src/api/mempool-blocks.ts @@ -368,12 +368,15 @@ class MempoolBlocks { // run the block construction algorithm in a separate thread, and wait for a result const rustGbt = saveResults ? this.rustGbtGenerator : new GbtGenerator(); try { - const { blocks, blockWeights, rates, clusters } = this.convertNapiResultTxids( + const { blocks, blockWeights, rates, clusters, overflow } = this.convertNapiResultTxids( await rustGbt.make(Object.values(newMempool) as RustThreadTransaction[], convertedAccelerations as RustThreadAcceleration[], this.nextUid), ); if (saveResults) { this.rustInitialized = true; } + const mempoolSize = Object.keys(newMempool).length; + const resultMempoolSize = blocks.reduce((total, block) => total + block.length, 0) + overflow.length; + logger.debug(`RUST updateBlockTemplates returned ${resultMempoolSize} txs out of ${mempoolSize} in the mempool, ${overflow.length} were unmineable`); const processed = this.processBlockTemplates(newMempool, blocks, blockWeights, rates, clusters, accelerations, accelerationPool, saveResults); logger.debug(`RUST makeBlockTemplates completed in ${(Date.now() - start)/1000} seconds`); return processed; @@ -424,7 +427,7 @@ class MempoolBlocks { // run the block construction algorithm in a separate thread, and wait for a result try { - const { blocks, blockWeights, rates, clusters } = this.convertNapiResultTxids( + const { blocks, blockWeights, rates, clusters, overflow } = this.convertNapiResultTxids( await this.rustGbtGenerator.update( added as RustThreadTransaction[], removedUids, @@ -432,16 +435,16 @@ class MempoolBlocks { this.nextUid, ), ); - //// different number of transactions is now expected, if any were unmineable - // const resultMempoolSize = blocks.reduce((total, block) => total + block.length, 0); - // if (mempoolSize !== resultMempoolSize) { - // throw new Error('GBT returned wrong number of transactions, cache is probably out of sync'); - // } else { + const resultMempoolSize = blocks.reduce((total, block) => total + block.length, 0) + overflow.length; + logger.debug(`RUST updateBlockTemplates returned ${resultMempoolSize} txs out of ${mempoolSize} in the mempool, ${overflow.length} were unmineable`); + if (mempoolSize !== resultMempoolSize) { + throw new Error('GBT returned wrong number of transactions , cache is probably out of sync'); + } else { const processed = this.processBlockTemplates(newMempool, blocks, blockWeights, rates, clusters, accelerations, accelerationPool, true); this.removeUids(removedUids); logger.debug(`RUST updateBlockTemplates completed in ${(Date.now() - start)/1000} seconds`); return processed; - // } + } } catch (e) { logger.err('RUST updateBlockTemplates failed. ' + (e instanceof Error ? e.message : e)); this.resetRustGbt(); @@ -659,8 +662,8 @@ class MempoolBlocks { return { blocks: convertedBlocks, rates: convertedRates, clusters: convertedClusters } as { blocks: string[][], rates: { [root: string]: number }, clusters: { [root: string]: string[] }}; } - private convertNapiResultTxids({ blocks, blockWeights, rates, clusters }: GbtResult) - : { blocks: string[][], blockWeights: number[], rates: [string, number][], clusters: string[][] } { + private convertNapiResultTxids({ blocks, blockWeights, rates, clusters, overflow }: GbtResult) + : { blocks: string[][], blockWeights: number[], rates: [string, number][], clusters: string[][], overflow: string[] } { const convertedBlocks: string[][] = blocks.map(block => block.map(uid => { const txid = this.uidMap.get(uid); if (txid !== undefined) { @@ -678,7 +681,15 @@ class MempoolBlocks { for (const cluster of clusters) { convertedClusters.push(cluster.map(uid => this.uidMap.get(uid)) as string[]); } - return { blocks: convertedBlocks, blockWeights, rates: convertedRates, clusters: convertedClusters }; + const convertedOverflow: string[] = overflow.map(uid => { + const txid = this.uidMap.get(uid); + if (txid !== undefined) { + return txid; + } else { + throw new Error('GBT returned an unmineable transaction with unknown uid'); + } + }); + return { blocks: convertedBlocks, blockWeights, rates: convertedRates, clusters: convertedClusters, overflow: convertedOverflow }; } } From 8336a00aead1ad32dbf3606374c4c1420dc1e712 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 10 Jan 2024 14:32:37 +0000 Subject: [PATCH 395/639] Clean rust-gbt directory before build --- backend/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/package.json b/backend/package.json index 0c1d3cc4a..e2417524b 100644 --- a/backend/package.json +++ b/backend/package.json @@ -35,7 +35,8 @@ "lint": "./node_modules/.bin/eslint . --ext .ts", "lint:fix": "./node_modules/.bin/eslint . --ext .ts --fix", "prettier": "./node_modules/.bin/prettier --write \"src/**/*.{js,ts}\"", - "rust-build": "cd rust-gbt && npm run build-release" + "rust-clean": "cd rust-gbt && rm -f *.node index.d.ts index.js && rm -rf target && cd ../", + "rust-build": "npm run rust-clean && cd rust-gbt && npm run build-release" }, "dependencies": { "@babel/core": "^7.23.2", From 367f70c3b3fb7a88546c6fce76e153ab8478046e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 14:40:20 +0000 Subject: [PATCH 396/639] Bump mysql2 from 3.6.0 to 3.7.0 in /backend Bumps [mysql2](https://github.com/sidorares/node-mysql2) from 3.6.0 to 3.7.0. - [Release notes](https://github.com/sidorares/node-mysql2/releases) - [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md) - [Commits](https://github.com/sidorares/node-mysql2/compare/v3.6.0...v3.7.0) --- updated-dependencies: - dependency-name: mysql2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- backend/package-lock.json | 14 +++++++------- backend/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/backend/package-lock.json b/backend/package-lock.json index 3e9e31988..b3b659459 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -17,7 +17,7 @@ "crypto-js": "~4.2.0", "express": "~4.18.2", "maxmind": "~4.3.11", - "mysql2": "~3.6.0", + "mysql2": "~3.7.0", "redis": "^4.6.6", "rust-gbt": "file:./rust-gbt", "socks-proxy-agent": "~7.0.0", @@ -6110,9 +6110,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/mysql2": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.6.0.tgz", - "integrity": "sha512-EWUGAhv6SphezurlfI2Fpt0uJEWLmirrtQR7SkbTHFC+4/mJBrPiSzHESHKAWKG7ALVD6xaG/NBjjd1DGJGQQQ==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.7.0.tgz", + "integrity": "sha512-c45jA3Jc1X8yJKzrWu1GpplBKGwv/wIV6ITZTlCSY7npF2YfJR+6nMP5e+NTQhUeJPSyOQAbGDCGEHbAl8HN9w==", "dependencies": { "denque": "^2.1.0", "generate-function": "^2.3.1", @@ -12230,9 +12230,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "mysql2": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.6.0.tgz", - "integrity": "sha512-EWUGAhv6SphezurlfI2Fpt0uJEWLmirrtQR7SkbTHFC+4/mJBrPiSzHESHKAWKG7ALVD6xaG/NBjjd1DGJGQQQ==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.7.0.tgz", + "integrity": "sha512-c45jA3Jc1X8yJKzrWu1GpplBKGwv/wIV6ITZTlCSY7npF2YfJR+6nMP5e+NTQhUeJPSyOQAbGDCGEHbAl8HN9w==", "requires": { "denque": "^2.1.0", "generate-function": "^2.3.1", diff --git a/backend/package.json b/backend/package.json index e2417524b..cd1255392 100644 --- a/backend/package.json +++ b/backend/package.json @@ -47,7 +47,7 @@ "crypto-js": "~4.2.0", "express": "~4.18.2", "maxmind": "~4.3.11", - "mysql2": "~3.6.0", + "mysql2": "~3.7.0", "rust-gbt": "file:./rust-gbt", "redis": "^4.6.6", "socks-proxy-agent": "~7.0.0", From 439177a78f1b7024531bb198bc9f547bbd7117dc Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 10 Jan 2024 22:07:01 +0000 Subject: [PATCH 397/639] Add sigop related FAQ entries --- .../src/app/docs/api-docs/api-docs-data.ts | 21 ++++++++++++++++++ .../app/docs/api-docs/api-docs.component.html | 22 +++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/frontend/src/app/docs/api-docs/api-docs-data.ts b/frontend/src/app/docs/api-docs/api-docs-data.ts index c5319bf2a..86a63e513 100644 --- a/frontend/src/app/docs/api-docs/api-docs-data.ts +++ b/frontend/src/app/docs/api-docs/api-docs-data.ts @@ -10081,6 +10081,27 @@ export const faqData = [ fragment: "how-do-mempool-goggles-work", title: "How do Mempool Goggles work?", }, + { + type: "endpoint", + category: "advanced", + showConditions: bitcoinNetworks, + fragment: "what-are-sigops", + title: "What are sigops?", + }, + { + type: "endpoint", + category: "advanced", + showConditions: bitcoinNetworks, + fragment: "what-is-adjusted-vsize", + title: "What is adjusted vsize?", + }, + { + type: "endpoint", + category: "advanced", + showConditions: bitcoinNetworks, + fragment: "why-do-the-projected-block-fee-ranges-overlap", + title: "Why do the projected block fee ranges overlap?", + }, { type: "category", category: "self-hosting", diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index 77cf01326..c3a260995 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -368,6 +368,28 @@ + +

    A "sigop" is a way of accounting for the cost of "signature operations" in Bitcoin script, like OP_CHECKSIG, OP_CHECKSIGVERIFY, OP_CHECKMULTISIG and OP_CHECKMULTISIGVERIFY

    +

    These signature operations incur different costs depending on whether they are single or multi-sig operations, and on where they appear in a Bitcoin transaction.

    +

    By consensus, each Bitcoin block is permitted to include a maximum of 80,000 sigops.

    +
    + + +

    Bitcoin blocks have two independent consensus-enforced resource constraints - a 4MWU weight limit, and the 80,000 sigop limit.

    +

    Most transactions use a more of the weight limit than the sigop limit. However, some transactions use a disproportionate number of sigops compared to their weight.

    +

    To account for this, Bitcoin Core calculates and uses an "adjusted vsize" equal 5 times the number of sigops, or the unadjusted vsize, whichever is larger.

    +

    Then, during block template construction, Bitcoin Core selects transactions in descending order of fee rate measured in satoshis per adjusted vsize

    +

    On mempool.space, effective fee rates for unconfirmed transactions are also measured in terms of satoshis per adjusted vsize, after accounting for CPFP relationships and other dependencies.

    +
    + + +

    The projected mempool blocks represent what we expect the next blocks would look like if they were mined right now, and so each projected block follows all of the same rules and constraints as real mined blocks.

    +

    Those constraints can sometimes cause transactions with lower fee rates to be included "ahead" of transactions with higher rates.

    +

    For example, if one projected block has a very small amount of space left, it might be able to fit one more tiny low fee rate transaction, while larger higher fee rate transactions have to wait for the following block.

    +

    A similar effect can occur when there are a large number of transactions with very many sigops. In that scenario, each projected block can only include up to 80,000 sigops worth of transactions, after which the remaining space can only be filled by potentially much lower fee transactions with zero sigops.

    +

    In extreme cases this can produce several projected blocks in a row with overlapping fee ranges, as a result of each projected block containing both high-feerate high-sigop transactions and lower feerate zero-sigop transactions.

    +
    + The official mempool.space website is operated by The Mempool Open Source Project. See more information on our About page. There are also many unofficial instances of this website operated by individual members of the Bitcoin community. From 5389d198502a3d16678fcc12d58f6885db5af2ba Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 11 Jan 2024 16:26:09 +0100 Subject: [PATCH 398/639] [footer] fix css --- .../global-footer.component.html | 6 ++--- .../global-footer.component.scss | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.html b/frontend/src/app/shared/components/global-footer/global-footer.component.html index fba04e605..ad153293d 100644 --- a/frontend/src/app/shared/components/global-footer/global-footer.component.html +++ b/frontend/src/app/shared/components/global-footer/global-footer.component.html @@ -7,11 +7,11 @@
    -

    +

    Explore the full Bitcoin ecosystem

    -
    +
    @@ -30,7 +30,7 @@ My Account Sign In -

    +

    Explore the full Bitcoin ecosystem

    diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.scss b/frontend/src/app/shared/components/global-footer/global-footer.component.scss index 79c7dcfce..5cb992c28 100644 --- a/frontend/src/app/shared/components/global-footer/global-footer.component.scss +++ b/frontend/src/app/shared/components/global-footer/global-footer.component.scss @@ -136,6 +136,28 @@ footer .sponsor { max-width: 160px; } +.explore-tagline-desktop { + display: none; +} + +.explore-tagline-mobile { + display: block; +} + +@media (min-width: 901px) { + .language-selector { + float: right !important; + } + + .explore-tagline-desktop { + display: block; + } + + .explore-tagline-mobile { + display: none; + } +} + @media (max-width: 1200px) { .main-logo { From e9a67adf4fb0648e5ccb01c2f20a63bbb4ae70f7 Mon Sep 17 00:00:00 2001 From: softsimon Date: Fri, 12 Jan 2024 09:50:33 +0700 Subject: [PATCH 399/639] Adding links to FAQ sections from TX page --- .../src/app/components/block/block.component.html | 2 +- .../src/app/components/block/block.component.scss | 5 ----- .../transaction/transaction.component.html | 12 ++++++++++-- frontend/src/styles.scss | 4 ++++ 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index e908d5b24..b34b39c8c 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -59,7 +59,7 @@
    Health Health 
    Adjusted vsizeAdjusted vsize + + + +
    SigopsSigops + + + +
    + + + + + + + + + + + + + + + + +
    Total fees
    Weight
    Transactions
    +
    +

    diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 4025a45d0..12ce14512 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -87,8 +87,8 @@ New fee Status - - + + @@ -158,8 +158,8 @@ {{ currency }} Fee - - + + @@ -199,6 +199,28 @@ + + + +
    +
    +
    +
    + + +
    + + + + +
    +
    +
    +
    + + +
    +
    From 0ec40eafb401629095573342fb2989f594620365 Mon Sep 17 00:00:00 2001 From: natsee Date: Fri, 12 Jan 2024 17:21:07 +0100 Subject: [PATCH 403/639] Remove hard-coded timestamp for regexes --- .../src/app/components/search-form/search-form.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index c00537f5a..745efce21 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -272,7 +272,7 @@ export class SearchFormComponent implements OnInit { let timestamp: number; this.regexDate.test(searchText) ? timestamp = Math.floor(new Date(searchText).getTime() / 1000) : timestamp = searchText; // Check if timestamp is too far in the future or before the genesis block - if (timestamp > Math.floor(Date.now() / 1000) || timestamp < 1231006505) { + if (timestamp > Math.floor(Date.now() / 1000)) { this.isSearching = false; return; } From 3b8de5057cc0eea4fdef84ede0a9d13ff10ec007 Mon Sep 17 00:00:00 2001 From: natsee Date: Fri, 12 Jan 2024 18:04:14 +0100 Subject: [PATCH 404/639] Check env flags before cross network address search --- .../search-form/search-form.component.ts | 11 +++++++-- .../search-results.component.html | 2 +- frontend/src/app/shared/regex.utils.ts | 23 +++++++++++++++++-- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index 745efce21..2a9983a24 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -186,7 +186,7 @@ export class SearchFormComponent implements OnInit { const matchesTxId = this.regexTransaction.test(searchText) && !this.regexBlockhash.test(searchText); const matchesBlockHash = this.regexBlockhash.test(searchText); let matchesAddress = !matchesTxId && this.regexAddress.test(searchText); - const otherNetworks = findOtherNetworks(searchText, this.network as any || 'mainnet'); + const otherNetworks = findOtherNetworks(searchText, this.network as any || 'mainnet', this.env); // Add B prefix to addresses in Bisq network if (!matchesAddress && this.network === 'bisq' && getRegex('address', 'mainnet').test(searchText)) { @@ -234,7 +234,14 @@ export class SearchFormComponent implements OnInit { } else if (result.short_id) { this.navigate('/lightning/channel/', result.id); } else if (result.network) { - this.navigate('/address/', result.address, undefined, result.network); + if (result.isNetworkAvailable) { + this.navigate('/address/', result.address, undefined, result.network); + } else { + this.searchForm.setValue({ + searchText: '', + }); + this.isSearching = false; + } } } diff --git a/frontend/src/app/components/search-form/search-results/search-results.component.html b/frontend/src/app/components/search-form/search-results/search-results.component.html index adc92b0bf..f83df6b93 100644 --- a/frontend/src/app/components/search-form/search-results/search-results.component.html +++ b/frontend/src/app/components/search-form/search-results/search-results.component.html @@ -38,7 +38,7 @@
    Other Networks Address
    - diff --git a/frontend/src/app/shared/regex.utils.ts b/frontend/src/app/shared/regex.utils.ts index 607bd704a..128f7566e 100644 --- a/frontend/src/app/shared/regex.utils.ts +++ b/frontend/src/app/shared/regex.utils.ts @@ -144,10 +144,29 @@ export type Network = typeof NETWORKS[number]; // Turn const array into union ty export const ADDRESS_REGEXES: [RegExp, Network][] = NETWORKS .map(network => [getRegex('address', network), network]) -export function findOtherNetworks(address: string, skipNetwork: Network): {network: Network, address: string}[] { +export function findOtherNetworks(address: string, skipNetwork: Network, env: Env): { network: Network, address: string, isNetworkAvailable: boolean }[] { return ADDRESS_REGEXES .filter(([regex, network]) => network !== skipNetwork && regex.test(address)) - .map(([, network]) => ({ network, address })); + .map(([, network]) => ({ network, address, isNetworkAvailable: isNetworkAvailable(network, env) })); +} + +function isNetworkAvailable(network: Network, env: Env): boolean { + switch (network) { + case 'testnet': + return env.TESTNET_ENABLED === true; + case 'signet': + return env.SIGNET_ENABLED === true; + case 'liquid': + return env.LIQUID_ENABLED === true; + case 'liquidtestnet': + return env.LIQUID_TESTNET_ENABLED === true; + case 'bisq': + return env.BISQ_ENABLED === true; + case 'mainnet': + return true; // There is no "MAINNET_ENABLED" flag + default: + return false; + } } export function needBaseModuleChange(fromBaseModule: 'mempool' | 'liquid' | 'bisq', toNetwork: Network): boolean { From a06bf86b95c43118b13bceba2caa556e9a9db1a8 Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn Date: Fri, 12 Jan 2024 13:06:11 -0800 Subject: [PATCH 405/639] Update Cypress to v13.6.2 --- frontend/package-lock.json | 14 +++++++------- frontend/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 59bdac54a..f49fd614a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -58,7 +58,7 @@ "optionalDependencies": { "@cypress/schematic": "^2.5.0", "@types/cypress": "^1.1.3", - "cypress": "^13.6.0", + "cypress": "^13.6.2", "cypress-fail-on-console-error": "~5.1.0", "cypress-wait-until": "^2.0.1", "mock-socket": "~9.3.1", @@ -7083,9 +7083,9 @@ "peer": true }, "node_modules/cypress": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.0.tgz", - "integrity": "sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==", + "version": "13.6.2", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.2.tgz", + "integrity": "sha512-TW3bGdPU4BrfvMQYv1z3oMqj71YI4AlgJgnrycicmPZAXtvywVFZW9DAToshO65D97rCWfG/kqMFsYB6Kp91gQ==", "hasInstallScript": true, "optional": true, "dependencies": { @@ -22272,9 +22272,9 @@ "peer": true }, "cypress": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.0.tgz", - "integrity": "sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==", + "version": "13.6.2", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.2.tgz", + "integrity": "sha512-TW3bGdPU4BrfvMQYv1z3oMqj71YI4AlgJgnrycicmPZAXtvywVFZW9DAToshO65D97rCWfG/kqMFsYB6Kp91gQ==", "optional": true, "requires": { "@cypress/request": "^3.0.0", diff --git a/frontend/package.json b/frontend/package.json index 8dbcbcf3e..330250871 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -110,7 +110,7 @@ "optionalDependencies": { "@cypress/schematic": "^2.5.0", "@types/cypress": "^1.1.3", - "cypress": "^13.6.0", + "cypress": "^13.6.2", "cypress-fail-on-console-error": "~5.1.0", "cypress-wait-until": "^2.0.1", "mock-socket": "~9.3.1", From fdd14fd6dcb4440b600062e725692a7532c248c4 Mon Sep 17 00:00:00 2001 From: wiz Date: Sat, 13 Jan 2024 12:22:23 +0900 Subject: [PATCH 406/639] ops: Disable disk cache for production mainnet --- production/mempool-config.mainnet.json | 1 + 1 file changed, 1 insertion(+) diff --git a/production/mempool-config.mainnet.json b/production/mempool-config.mainnet.json index 36310e59d..e3ce58ceb 100644 --- a/production/mempool-config.mainnet.json +++ b/production/mempool-config.mainnet.json @@ -3,6 +3,7 @@ "NETWORK": "mainnet", "BACKEND": "esplora", "HTTP_PORT": 8999, + "CACHE_ENABLED": false, "MINED_BLOCKS_CACHE": 144, "SPAWN_CLUSTER_PROCS": 0, "API_URL_PREFIX": "/api/v1/", From 2ca6dc51da5c50e24753660a8d478b921b6b25af Mon Sep 17 00:00:00 2001 From: wiz Date: Sat, 13 Jan 2024 12:22:38 +0900 Subject: [PATCH 407/639] ops: Increase nginx proxy_read_timeout to 2m --- production/nginx/http-basic.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/production/nginx/http-basic.conf b/production/nginx/http-basic.conf index dc880cad5..fd5cc4b94 100644 --- a/production/nginx/http-basic.conf +++ b/production/nginx/http-basic.conf @@ -19,6 +19,8 @@ client_header_timeout 10s; keepalive_timeout 69s; # maximum time between packets nginx is allowed to pause when sending the client data send_timeout 69s; +# maximum time to wait for response from upstream backends +proxy_read_timeout 120s; # number of requests per connection, does not affect SPDY keepalive_requests 1337; From e4d7034d81b52ffc39e7ea25327d5241f9682c5d Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sat, 13 Jan 2024 16:57:03 +0000 Subject: [PATCH 408/639] Translate frontend/src/locale/messages.xlf in nb 100% reviewed source file: 'frontend/src/locale/messages.xlf' on 'nb'. --- frontend/src/locale/messages.nb.xlf | 158 ++++++++++++++++++++++++++-- 1 file changed, 148 insertions(+), 10 deletions(-) diff --git a/frontend/src/locale/messages.nb.xlf b/frontend/src/locale/messages.nb.xlf index a035d3765..7870acc32 100644 --- a/frontend/src/locale/messages.nb.xlf +++ b/frontend/src/locale/messages.nb.xlf @@ -59,6 +59,7 @@ + node_modules/src/ngb-config.ts 13 @@ -66,6 +67,7 @@ Slide of + Lysbilde av node_modules/src/ngb-config.ts 13 @@ -404,6 +406,7 @@ See current balance, pending transactions, and history of confirmed transactions for BSQ address . + Se gjeldende saldo, ventende transaksjoner og historikk for bekreftede transaksjoner for BSQ-adresse . src/app/bisq/bisq-address/bisq-address.component.ts 44 @@ -500,6 +503,7 @@ See all BSQ transactions in Bitcoin block (block hash ). + Se alle BSQ-transaksjoner i Bitcoin-blokk (blokkhash ). src/app/bisq/bisq-block/bisq-block.component.ts 92 @@ -627,6 +631,7 @@ See a list of recent Bitcoin blocks with BSQ transactions, total BSQ sent per block, and more. + Se en liste over nylige Bitcoin-blokker med BSQ-transaksjoner, totalt BSQ sendt per blokk og mer. src/app/bisq/bisq-blocks/bisq-blocks.component.ts 39 @@ -756,6 +761,7 @@ Markets + Markeder src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts 32 @@ -763,6 +769,7 @@ Explore the full Bitcoin ecosystem with The Mempool Open Source Project™. See Bisq market prices, trading activity, and more. + Utforsk hele Bitcoin-økosystemet med The Mempool Open Source Project™. Se Bisq markedspriser, handelsaktivitet og mer. src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts 33 @@ -848,6 +855,7 @@ Bisq market: + Bisq-markedet: src/app/bisq/bisq-market/bisq-market.component.ts 51 @@ -855,6 +863,7 @@ See price history, current buy/sell offers, and latest trades for the market on Bisq. + Se prishistorikk, gjeldende kjøps-/salgstilbud og siste handler for -markedet på Bisq. src/app/bisq/bisq-market/bisq-market.component.ts 52 @@ -990,6 +999,7 @@ See high-level stats on the BSQ economy: supply metrics, number of addresses, BSQ price, market cap, and more. + Se statistikk om BSQ-økonomien: forsyningsstatistikk, antall adresser, BSQ-pris, markedsverdi og mer. src/app/bisq/bisq-stats/bisq-stats.component.ts 29 @@ -1169,6 +1179,7 @@ Fee per weight unit + Avgift per vektenhet src/app/bisq/bisq-transaction/bisq-transaction.component.html 68 @@ -1237,6 +1248,7 @@ See inputs, outputs, transaction type, burnt amount, and more for transaction with txid . + Se innganger, utganger, transaksjonstype, brent beløp og mer for transaksjon med txid . src/app/bisq/bisq-transaction/bisq-transaction.component.ts 51 @@ -1426,6 +1438,7 @@ See recent BSQ transactions: amount, txid, associated Bitcoin block, transaction type, and more. + Se nylige BSQ-transaksjoner: beløp, txid, tilhørende Bitcoin-blokk, transaksjonstype og mer. src/app/bisq/bisq-transactions/bisq-transactions.component.ts 82 @@ -1466,6 +1479,7 @@ Become a Community Sponsor + Bli en samfunnssponsor src/app/components/about/about.component.html 39 @@ -1474,6 +1488,7 @@ Become an Enterprise Sponsor + Bli en bedriftssponsor src/app/components/about/about.component.html 46 @@ -1491,6 +1506,7 @@ Whale Sponsors + Hvalsponsorer src/app/components/about/about.component.html 202 @@ -1499,6 +1515,7 @@ Chad Sponsors + Chadsponsorer src/app/components/about/about.component.html 215 @@ -1507,6 +1524,7 @@ OG Sponsors ❤️ + OG Sponsorer ❤️ src/app/components/about/about.component.html 228 @@ -1589,6 +1607,7 @@ Learn more about The Mempool Open Source Project®: enterprise sponsors, individual sponsors, integrations, who contributes, FOSS licensing, and more. + Lær mer om The Mempool Open Source Project®: bedriftssponsorer, individuelle sponsorer, integrasjoner, hvem som bidrar, FOSS-lisensiering og mer. src/app/components/about/about.component.ts 46 @@ -1818,7 +1837,8 @@ - See mempool transactions, confirmed transactions, balance, and more for address . + See mempool transactions, confirmed transactions, balance, and more for address . + Se mempool-transaksjoner, bekreftede transaksjoner, saldo og mer for adresse . src/app/components/address/address-preview.component.ts 72 @@ -2114,6 +2134,7 @@ Explore all the assets issued on the Liquid network like L-BTC, L-CAD, USDT, and more. + Utforsk alle eiendelene utstedt på Liquid-nettverket som L-BTC, L-CAD, USDT og mer. src/app/components/assets/assets-nav/assets-nav.component.ts 43 @@ -2276,6 +2297,7 @@ See Bitcoin feerates visualized over time, including minimum and maximum feerates per block along with feerates at various percentiles. + Se Bitcoin-gebyrer visualisert over tid, inkludert minimums- og maksimumsgebyrer per blokk sammen med gebyrer på forskjellige persentiler. src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts 67 @@ -2332,6 +2354,7 @@ See the average mining fees earned per Bitcoin block visualized in BTC and USD over time. + Se gjennomsnittlig utvinningsavgift tjent per Bitcoin-blokk visualisert i BTC og USD over tid. src/app/components/block-fees-graph/block-fees-graph.component.ts 68 @@ -2375,6 +2398,7 @@ Block Health + Blokkhelse src/app/components/block-health-graph/block-health-graph.component.html 6 @@ -2387,6 +2411,7 @@ Block Health + Blokkhelse src/app/components/block-health-graph/block-health-graph.component.ts 63 @@ -2394,6 +2419,7 @@ See Bitcoin block health visualized over time. Block health is a measure of how many expected transactions were included in an actual mined block. Expected transactions are determined using Mempool's re-implementation of Bitcoin Core's transaction selection algorithm. + Se Bitcoin-blokkhelse visualisert over tid. Blokkhelse er et mål på hvor mange forventede transaksjoner som ble inkludert i en faktisk utvunnet blokk. Forventede transaksjoner bestemmes ved hjelp av Mempools re-implementering av Bitcoin Cores transaksjonsvalgalgoritme. src/app/components/block-health-graph/block-health-graph.component.ts 64 @@ -2416,7 +2442,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 215 + 216 src/app/lightning/nodes-map/nodes-map.component.ts @@ -2425,6 +2451,7 @@ Health + Helse src/app/components/block-health-graph/block-health-graph.component.ts 190 @@ -2515,6 +2542,7 @@ Accelerated fee rate + Akselerert gebyrsats src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 33 @@ -2546,6 +2574,7 @@ Weight + Vekt src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 43 @@ -2603,6 +2632,7 @@ High sigop count + Høyt antall sigops src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 52 @@ -2620,6 +2650,7 @@ Recently CPFP'd + Nylig CPFPet src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 54 @@ -2637,6 +2668,7 @@ Conflicting + Motstridende src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 57 @@ -2645,6 +2677,7 @@ Accelerated + Akselerert src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 58 @@ -2670,6 +2703,7 @@ See Bitcoin block rewards in BTC and USD visualized over time. Block rewards are the total funds miners earn from the block subsidy and fees. + Se Bitcoin-blokkbelønninger i BTC og USD visualisert over tid. Blokkbelønninger er de totale midlene utvinnerene tjener fra blokksubsidier og gebyr. src/app/components/block-rewards-graph/block-rewards-graph.component.ts 66 @@ -2694,6 +2728,7 @@ See Bitcoin block sizes (MB) and block weights (weight units) visualized over time. + Se Bitcoin-blokkstørrelser (MB) og blokkvekter (vektenheter) visualisert over tid. src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts 63 @@ -2809,6 +2844,7 @@ See size, weight, fee range, included transactions, and more for Liquid block (). + Se størrelse, vekt, gebyrområde, inkluderte transaksjoner og mer for Liquid blokk (). src/app/components/block-view/block-view.component.ts 112 @@ -2824,6 +2860,7 @@ See size, weight, fee range, included transactions, audit (expected v actual), and more for Bitcoin block (). + Se størrelse, vekt, gebyrområde, inkluderte transaksjoner, revisjon (forventet v faktisk) og mer for Bitcoin blokk ( ). src/app/components/block-view/block-view.component.ts 114 @@ -2912,6 +2949,7 @@ This block does not belong to the main chain, it has been replaced by: + Denne blokken tilhører ikke hovedkjeden, den er erstattet av: src/app/components/block/block.component.html 5 @@ -2947,6 +2985,7 @@ Stale + Foreldet src/app/components/block/block.component.html 30 @@ -3412,6 +3451,7 @@ Blocks + Blokker src/app/components/blocks-list/blocks-list.component.ts 59 @@ -3419,6 +3459,7 @@ See the most recent Liquid blocks along with basic stats such as block height, block size, and more. + Se de nyeste Liquid-blokkene sammen med grunnleggende statistikk som blokkhøyde, blokkstørrelse og mer. src/app/components/blocks-list/blocks-list.component.ts 62 @@ -3426,6 +3467,7 @@ See the most recent Bitcoin blocks along with basic stats such as block height, block reward, block size, and more. + Se de nyeste Bitcoin-blokkene sammen med grunnleggende statistikk som blokkhøyde, blokkbelønning, blokkstørrelse og mer. src/app/components/blocks-list/blocks-list.component.ts 64 @@ -3433,6 +3475,7 @@ Calculator + Kalkulator src/app/components/calculator/calculator.component.html 3 @@ -3470,6 +3513,7 @@ Memory Usage + Minnebruk src/app/components/clock/clock.component.html 65 @@ -3549,6 +3593,7 @@ blocks + blokker src/app/components/difficulty-mining/difficulty-mining.component.html 10,11 @@ -3852,6 +3897,7 @@ WU/s + WU/s src/app/components/footer/footer.component.html 14 @@ -4024,7 +4070,7 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 6 + 19 lightning.nodes-channels-world-map @@ -4072,6 +4118,7 @@ See hashrate and difficulty for the Bitcoin network visualized over time. + Se hashrate og vanskelighetsgrad for Bitcoin-nettverket visualisert over tid. src/app/components/hashrate-chart/hashrate-chart.component.ts 75 @@ -4179,6 +4226,7 @@ See stats for transactions in the mempool: fee range, aggregate size, and more. Mempool blocks are updated in real-time as the network receives new transactions. + Se statistikk for transaksjoner i mempoolen: gebyrområde, samlet størrelse og mer. Mempool-blokker oppdateres i sanntid etter hvert som nettverket mottar nye transaksjoner. src/app/components/mempool-block/mempool-block.component.ts 58 @@ -4202,6 +4250,7 @@ Count + Antall src/app/components/mempool-graph/mempool-graph.component.ts 325 @@ -4229,6 +4278,7 @@ Sign in + Logg inn src/app/components/menu/menu.component.html 10 @@ -4255,6 +4305,7 @@ Recent Blocks + Nylige blokker src/app/components/mining-dashboard/mining-dashboard.component.html 52 @@ -4280,6 +4331,7 @@ Get real-time Bitcoin mining stats like hashrate, difficulty adjustment, block rewards, pool dominance, and more. + Få sanntids Bitcoin-utvinningsstatistikk som hashrate, vanskeliggradsjustering, blokkbelønninger, gruppedominans og mer. src/app/components/mining-dashboard/mining-dashboard.component.ts 21 @@ -4296,6 +4348,7 @@ Pools Luck + Gruppeflaks src/app/components/pool-ranking/pool-ranking.component.html 9 @@ -4326,6 +4379,7 @@ Pools Count + Antall grupper src/app/components/pool-ranking/pool-ranking.component.html 17 @@ -4440,6 +4494,7 @@ Empty Blocks + Tomme blokker src/app/components/pool-ranking/pool-ranking.component.html 98 @@ -4465,6 +4520,7 @@ See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. + Se de beste utvinningsgruppene rangert etter antall blokker utvunnet, over ønsket tidsramme. src/app/components/pool-ranking/pool-ranking.component.ts 59 @@ -4554,6 +4610,7 @@ See mining pool stats for : most recent mined blocks, hashrate over time, total block reward to date, known coinbase addresses, and more. + Se utvinningsgruppe-statistikk for : siste utvunnede blokker, hashrate over tid, total blokkbelønning hittil, kjente coinbaseadresser og mer. src/app/components/pool/pool-preview.component.ts 86 @@ -4620,6 +4677,7 @@ Blocks (24h) + Blokker (24 timer) src/app/components/pool/pool.component.html 146 @@ -4734,6 +4792,7 @@ Broadcast Transaction + Kringkast transaksjon src/app/components/push-transaction/push-transaction.component.ts 31 @@ -4741,6 +4800,7 @@ Broadcast a transaction to the network using the transaction's hash. + Kringkast en transaksjon til -nettverket ved å bruke transaksjonens hash. src/app/components/push-transaction/push-transaction.component.ts 32 @@ -4748,6 +4808,7 @@ RBF Replacements + RBF-erstatninger src/app/components/rbf-list/rbf-list.component.html 2 @@ -4760,6 +4821,7 @@ Full RBF + Full RBF src/app/components/rbf-list/rbf-list.component.html 24 @@ -4776,6 +4838,7 @@ There are no replacements in the mempool yet! + Det er ingen erstatninger i mempoolen ennå! src/app/components/rbf-list/rbf-list.component.html 34 @@ -4784,6 +4847,7 @@ See the most recent RBF replacements on the Bitcoin network, updated in real-time. + Se de siste RBF-erstatningene på Bitcoin-nettverket, oppdatert i sanntid. src/app/components/rbf-list/rbf-list.component.ts 59 @@ -4829,6 +4893,7 @@ Status + Status src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html 33 @@ -4846,6 +4911,7 @@ RBF + RBF src/app/components/rbf-timeline/rbf-timeline-tooltip.component.html 36 @@ -5065,6 +5131,7 @@ Clock (Mempool) + Klokke (Mempool) src/app/components/statistics/statistics.component.html 17 @@ -5117,6 +5184,7 @@ Cap outliers + Fjern avvikere src/app/components/statistics/statistics.component.html 122 @@ -5125,6 +5193,7 @@ See mempool size (in MvB) and transactions per second (in vB/s) visualized over time. + Se mempoolstørrelse (i MvB) og transaksjoner per sekund (i vB/s) visualisert over tid. src/app/components/statistics/statistics.component.ts 67 @@ -5132,6 +5201,7 @@ See Bitcoin blocks and mempool congestion in real-time in a simplified format perfect for a TV. + Se Bitcoin-blokker og mempool i sanntid i et forenklet format perfekt for en TV. src/app/components/television/television.component.ts 40 @@ -5343,7 +5413,8 @@ transactions-list.coinbase - Get real-time status, addresses, fees, script info, and more for transaction with txid {txid}. + Get real-time status, addresses, fees, script info, and more for transaction with txid . + Få sanntidsstatus, adresser, gebyrer, skriptinformasjon og mer for transaksjon med txid . src/app/components/transaction/transaction-preview.component.ts 91 @@ -5385,6 +5456,7 @@ Accelerate + Akselerer src/app/components/transaction/transaction.component.html 123 @@ -5422,6 +5494,7 @@ RBF History + RBF historie src/app/components/transaction/transaction.component.html 218 @@ -5493,6 +5566,7 @@ Adjusted vsize + Justert vsize src/app/components/transaction/transaction.component.html 298 @@ -5511,6 +5585,7 @@ Sigops + Sigops src/app/components/transaction/transaction.component.html 320 @@ -5538,6 +5613,7 @@ Accelerated fee rate + Akselerert gebyrsats src/app/components/transaction/transaction.component.html 516 @@ -5893,6 +5969,7 @@ Recent Replacements + Nylige erstatninger src/app/dashboard/dashboard.component.html 79 @@ -5901,6 +5978,7 @@ Previous fee + Tidligere avgift src/app/dashboard/dashboard.component.html 86 @@ -5909,6 +5987,7 @@ New fee + Ny avgift src/app/dashboard/dashboard.component.html 87 @@ -5917,6 +5996,7 @@ Recent Transactions + Nylige transaksjoner src/app/dashboard/dashboard.component.html 153 @@ -5954,6 +6034,7 @@ Incoming Transactions + Innkommende transaksjoner src/app/dashboard/dashboard.component.html 259 @@ -5962,6 +6043,7 @@ mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, wallet issues, etc.For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc). + mempool.space gir bare data om Bitcoin-nettverket. Det kan ikke hjelpe deg med å hente midler, lommebokproblemer osv.For slike forespørsler må du ta kontakt med enheten som bidro til transaksjonen (lommebokprogramvare, børsselskap osv.). src/app/docs/api-docs/api-docs.component.html 15,16 @@ -6056,6 +6138,7 @@ FAQ + FAQ src/app/docs/docs/docs.component.ts 45 @@ -6063,6 +6146,7 @@ Get answers to common questions like: What is a mempool? Why isn't my transaction confirming? How can I run my own instance of The Mempool Open Source Project? And more. + Få svar på vanlige spørsmål som: Hva er en mempool? Hvorfor bekreftes ikke transaksjonen min? Hvordan kan jeg kjøre min egen instans av Mempool Open Source Project? Og mer. src/app/docs/docs/docs.component.ts 46 @@ -6070,6 +6154,7 @@ REST API + REST API src/app/docs/docs/docs.component.ts 49 @@ -6077,6 +6162,7 @@ Documentation for the liquid.network REST API service: get info on addresses, transactions, assets, blocks, and more. + Dokumentasjon for liquid.network REST API-tjenesten: få informasjon om adresser, transaksjoner, eiendeler, blokker og mer. src/app/docs/docs/docs.component.ts 51 @@ -6084,6 +6170,7 @@ Documentation for the bisq.markets REST API service: get info on recent trades, current offers, transactions, network state, and more. + Dokumentasjon for bisq.markets REST API-tjenesten: få informasjon om nylige handler, nåværende tilbud, transaksjoner, nettverkstilstand og mer. src/app/docs/docs/docs.component.ts 53 @@ -6091,6 +6178,7 @@ Documentation for the mempool.space REST API service: get info on addresses, transactions, blocks, fees, mining, the Lightning network, and more. + Dokumentasjon for mempool.space REST API-tjenesten: få informasjon om adresser, transaksjoner, blokker, avgifter, utvinning, Lightning-nettverket og mer. src/app/docs/docs/docs.component.ts 55 @@ -6098,6 +6186,7 @@ WebSocket API + WebSocket API src/app/docs/docs/docs.component.ts 59 @@ -6105,6 +6194,7 @@ Documentation for the liquid.network WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + Dokumentasjon for liquid.network WebSocket API-tjenesten: få sanntidsinformasjon om blokker, mempooler, transaksjoner, adresser og mer. src/app/docs/docs/docs.component.ts 61 @@ -6112,6 +6202,7 @@ Documentation for the mempool.space WebSocket API service: get real-time info on blocks, mempools, transactions, addresses, and more. + Dokumentasjon for mempool.space WebSocket API-tjenesten: få sanntidsinformasjon om blokker, mempooler, transaksjoner, adresser og mer. src/app/docs/docs/docs.component.ts 63 @@ -6119,6 +6210,7 @@ Electrum RPC + Electrum RPC src/app/docs/docs/docs.component.ts 67 @@ -6126,6 +6218,7 @@ Documentation for our Electrum RPC interface: get instant, convenient, and reliable access to an Esplora instance. + Dokumentasjon for vårt Electrum RPC-grensesnitt: få umiddelbar, praktisk og pålitelig tilgang til en Esplora-instans. src/app/docs/docs/docs.component.ts 68 @@ -6438,6 +6531,7 @@ Overview for Lightning channel . See channel capacity, the Lightning nodes involved, related on-chain transactions, and more. + Oversikt for Lightning-kanalen . Se kanalkapasitet, Lightning-nodene som er involvert, relaterte transaksjoner i kjeden og mer. src/app/lightning/channel/channel-preview.component.ts 37 @@ -6936,6 +7030,7 @@ Connect + Koble til src/app/lightning/group/group.component.html 73 @@ -6986,6 +7081,7 @@ Penalties + Straffer src/app/lightning/justice-list/justice-list.component.html 4 @@ -7062,7 +7158,8 @@ lightning.connectivity-ranking - Get stats on the Lightning network (aggregate capacity, connectivity, etc) and Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + Get stats on the Lightning network (aggregate capacity, connectivity, etc), Lightning nodes (channels, liquidity, etc) and Lightning channels (status, fees, etc). + Få statistikk om Lightning-nettverket (samlet kapasitet, tilkobling osv.), Lightning-noder (kanaler, likviditet osv.) og Lightning-kanaler (status, avgifter osv.). src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts 28 @@ -7172,6 +7269,7 @@ Overview for the Lightning network node named . See channels, capacity, location, fee stats, and more. + Oversikt for Lightning-nettverksnoden . Se kanaler, kapasitet, plassering, gebyrstatistikk og mer. src/app/lightning/node/node-preview.component.ts 52 @@ -7232,6 +7330,7 @@ Decoded + Dekodet src/app/lightning/node/node.component.html 136 @@ -7344,7 +7443,7 @@ (Tor-noder ekskludert) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html - 8 + 21 src/app/lightning/nodes-map/nodes-map.component.html @@ -7365,14 +7464,15 @@ Lightning-kanaler verdenskart src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 68 + 69 See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + Se kanalene til ikke-Tor Lightning-nettverksnoder visualisert på et verdenskart. Hold musepekeren/trykk på punkter på kartet for nodenavn og detaljer. src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 69 + 70 @@ -7380,7 +7480,7 @@ Ingen geolokaliseringsdata tilgjengelig src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 227 + 228 @@ -7394,6 +7494,7 @@ See the locations of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. + Se plasseringen til ikke-Tor Lightning-nettverksnoder visualisert på et verdenskart. Hold musepekeren/trykk på punkter på kartet for nodenavn og detaljer. src/app/lightning/nodes-map/nodes-map.component.ts 51 @@ -7401,6 +7502,7 @@ See the number of Lightning network nodes visualized over time by network: clearnet only (IPv4, IPv6), darknet (Tor, I2p, cjdns), and both. + Se antall Lightning-nettverksnoder visualisert over tid etter nettverk: bare clearnet (IPv4, IPv6), darknet (Tor, I2p, cjdns) og begge deler. src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 68 @@ -7469,6 +7571,7 @@ See a geographical breakdown of the Lightning network: how many Lightning nodes are hosted in countries around the world, aggregate BTC capacity for each country, and more. + Se en geografisk inndeling av Lightning-nettverket: hvor mange Lightning-noder er det i land rundt om i verden, samlet BTC-kapasitet for hvert land, og mer. src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 47 @@ -7539,6 +7642,7 @@ Explore all the Lightning nodes hosted in and see an overview of each node's capacity, number of open channels, and more. + Utforsk alle Lightning-nodene som er i og se en oversikt over hver nodes kapasitet, antall åpne kanaler og mer. src/app/lightning/nodes-per-country/nodes-per-country.component.ts 36 @@ -7689,6 +7793,7 @@ Browse all Bitcoin Lightning nodes using the [AS] ISP and see aggregate stats like total number of nodes, total capacity, and more for the ISP. + Bla gjennom alle Bitcoin Lightning-noder ved å bruke [AS] ISP og se samlet statistikk som totalt antall noder, total kapasitet, og mer for Internett-leverandøren. src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts 45 @@ -7744,6 +7849,7 @@ See the oldest nodes on the Lightning network along with their capacity, number of channels, location, etc. + Se de eldste nodene på Lightning-nettverket sammen med deres kapasitet, antall kanaler, plassering osv. src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts 28 @@ -7751,6 +7857,7 @@ See Lightning nodes with the most BTC liquidity deployed along with high-level stats like number of open channels, location, node age, and more. + Se Lightning-noder med mest BTC-likviditet utplassert sammen med statistikk som antall åpne kanaler, plassering, nodens alder og mer. src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts 34 @@ -7758,6 +7865,7 @@ See Lightning nodes with the most channels open along with high-level stats like total node capacity, node age, and more. + Se Lightning-noder med flest åpne kanaler sammen med statistikk som total nodekapasitet, nodealder og mer. src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts 38 @@ -7781,7 +7889,8 @@ - See top the Lightning network nodes ranked by liquidity, connectivity, and age. + See the top Lightning network nodes ranked by liquidity, connectivity, and age. + Se de beste Lightning-nettverksnodene rangert etter likviditet, tilkobling og alder. src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts 23 @@ -7789,6 +7898,7 @@ See the capacity of the Lightning network visualized over time in terms of the number of open channels and total bitcoin capacity. + Se kapasiteten til Lightning-nettverket visualisert over tid i form av antall åpne kanaler og total bitcoin-kapasitet. src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 67 @@ -7796,6 +7906,7 @@ confirmation + bekreftelse src/app/shared/components/confirmations/confirmations.component.html 4 @@ -7805,6 +7916,7 @@ confirmations + bekreftelser src/app/shared/components/confirmations/confirmations.component.html 5 @@ -7814,6 +7926,7 @@ Replaced + Erstattet src/app/shared/components/confirmations/confirmations.component.html 12 @@ -7823,6 +7936,7 @@ Removed + Fjernet src/app/shared/components/confirmations/confirmations.component.html 15 @@ -7842,6 +7956,7 @@ sat/WU + sat/WU src/app/shared/components/fee-rate/fee-rate.component.html 3 @@ -7851,6 +7966,7 @@ My Account + Min konto src/app/shared/components/global-footer/global-footer.component.html 25 @@ -7863,6 +7979,7 @@ Sign In + Logg inn src/app/shared/components/global-footer/global-footer.component.html 26 @@ -7875,6 +7992,7 @@ Explore + Utforsk src/app/shared/components/global-footer/global-footer.component.html 41 @@ -7883,6 +8001,7 @@ Connect to our Nodes + Koble til nodene våre src/app/shared/components/global-footer/global-footer.component.html 46 @@ -7891,6 +8010,7 @@ API Documentation + API-dokumentasjon src/app/shared/components/global-footer/global-footer.component.html 47 @@ -7899,6 +8019,7 @@ Learn + Lær src/app/shared/components/global-footer/global-footer.component.html 50 @@ -7907,6 +8028,7 @@ What is a mempool? + Hva er en mempool? src/app/shared/components/global-footer/global-footer.component.html 51 @@ -7915,6 +8037,7 @@ What is a block explorer? + Hva er en blokkutforsker? src/app/shared/components/global-footer/global-footer.component.html 52 @@ -7923,6 +8046,7 @@ What is a mempool explorer? + Hva er en mempool utforsker? src/app/shared/components/global-footer/global-footer.component.html 53 @@ -7931,6 +8055,7 @@ Why isn't my transaction confirming? + Hvorfor bekreftes ikke transaksjonen min? src/app/shared/components/global-footer/global-footer.component.html 54 @@ -7939,6 +8064,7 @@ More FAQs » + Flere vanlige spørsmål » src/app/shared/components/global-footer/global-footer.component.html 55 @@ -7947,6 +8073,7 @@ Networks + Nettverk src/app/shared/components/global-footer/global-footer.component.html 59 @@ -7955,6 +8082,7 @@ Mainnet Explorer + Mainnet utforsker src/app/shared/components/global-footer/global-footer.component.html 60 @@ -7963,6 +8091,7 @@ Testnet Explorer + Testnet utforsker src/app/shared/components/global-footer/global-footer.component.html 61 @@ -7971,6 +8100,7 @@ Signet Explorer + Signet utforsker src/app/shared/components/global-footer/global-footer.component.html 62 @@ -7979,6 +8109,7 @@ Liquid Testnet Explorer + Liquid testnet utforsker src/app/shared/components/global-footer/global-footer.component.html 63 @@ -7987,6 +8118,7 @@ Liquid Explorer + Liquid utforsker src/app/shared/components/global-footer/global-footer.component.html 64 @@ -7995,6 +8127,7 @@ Bisq Explorer + Bisq utforsker src/app/shared/components/global-footer/global-footer.component.html 65 @@ -8003,6 +8136,7 @@ Tools + Verktøy src/app/shared/components/global-footer/global-footer.component.html 69 @@ -8011,6 +8145,7 @@ Clock (Mined) + Klokke (utvunnet) src/app/shared/components/global-footer/global-footer.component.html 71 @@ -8019,6 +8154,7 @@ Legal + Lovlig src/app/shared/components/global-footer/global-footer.component.html 76 @@ -8047,6 +8183,7 @@ Trademark Policy + Varemerkepolitikk src/app/shared/components/global-footer/global-footer.component.html 79 @@ -8056,6 +8193,7 @@ This is a test network. Coins have no value. + Dette er et testnettverk. Mynter har ingen verdi. src/app/shared/components/testnet-alert/testnet-alert.component.html 3 From 65236c7b08c63498f849a695767fccdecdf4a074 Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn Date: Sat, 13 Jan 2024 13:55:12 -0800 Subject: [PATCH 409/639] Add seconds to the block view timestamp --- frontend/src/app/components/block/block.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index b34b39c8c..885f8e1ac 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -47,7 +47,7 @@ Timestamp - + From a8442a3467d808d63406a38a90680db9f8e1d70b Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn Date: Sat, 13 Jan 2024 18:11:13 -0800 Subject: [PATCH 410/639] Add seconds to block timestamp in the mining pool view and blocks list --- .../src/app/components/blocks-list/blocks-list.component.html | 2 +- frontend/src/app/components/pool/pool.component.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/blocks-list/blocks-list.component.html b/frontend/src/app/components/blocks-list/blocks-list.component.html index 85e2ea17f..838c7cb4e 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.html +++ b/frontend/src/app/components/blocks-list/blocks-list.component.html @@ -46,7 +46,7 @@
    - ‎{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm' }} + ‎{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm:ss' }} {{ block.height }} - ‎{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm' }} + ‎{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm:ss' }} From 0722c221c78729f3954e5d2e2f620c7fa52e4200 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 14 Jan 2024 11:24:56 +0700 Subject: [PATCH 411/639] Minor adjustments --- .../search-form/search-results/search-results.component.html | 4 ++-- .../search-form/search-results/search-results.component.ts | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/search-form/search-results/search-results.component.html b/frontend/src/app/components/search-form/search-results/search-results.component.html index f83df6b93..5d64b7495 100644 --- a/frontend/src/app/components/search-form/search-results/search-results.component.html +++ b/frontend/src/app/components/search-form/search-results/search-results.component.html @@ -36,10 +36,10 @@ -
    Other Networks Address
    +
    Other Network Address
    diff --git a/frontend/src/app/components/search-form/search-results/search-results.component.ts b/frontend/src/app/components/search-form/search-results/search-results.component.ts index 84c541a70..ade01bf89 100644 --- a/frontend/src/app/components/search-form/search-results/search-results.component.ts +++ b/frontend/src/app/components/search-form/search-results/search-results.component.ts @@ -45,6 +45,9 @@ export class SearchResultsComponent implements OnChanges { break; case 'Enter': event.preventDefault(); + if (this.resultsFlattened[this.activeIdx]?.isNetworkAvailable === false) { + return; + } if (this.resultsFlattened[this.activeIdx]) { this.selectedResult.emit(this.resultsFlattened[this.activeIdx]); } else { From 00b8f001b0d9f37458f6979fb209c7e39b7cb5ca Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 15 Jan 2024 02:47:29 +0000 Subject: [PATCH 412/639] Fix goggles inscription detection bug --- backend/src/api/common.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/src/api/common.ts b/backend/src/api/common.ts index 358a98c98..af93b9622 100644 --- a/backend/src/api/common.ts +++ b/backend/src/api/common.ts @@ -263,8 +263,13 @@ export class Common { case 'v0_p2wsh': flags |= TransactionFlags.p2wsh; break; case 'v1_p2tr': { flags |= TransactionFlags.p2tr; - if (vin.witness.length > 2) { - const asm = vin.inner_witnessscript_asm || transactionUtils.convertScriptSigAsm(vin.witness[vin.witness.length - 2]); + // in taproot, if the last witness item begins with 0x50, it's an annex + const hasAnnex = vin.witness?.[vin.witness.length - 1].startsWith('50'); + // script spends have more than one witness item, not counting the annex (if present) + if (vin.witness.length > (hasAnnex ? 2 : 1)) { + // the script itself is the second-to-last witness item, not counting the annex + const asm = vin.inner_witnessscript_asm || transactionUtils.convertScriptSigAsm(vin.witness[vin.witness.length - (hasAnnex ? 3 : 2)]); + // inscriptions smuggle data within an 'OP_0 OP_IF ... OP_ENDIF' envelope if (asm?.includes('OP_0 OP_IF')) { flags |= TransactionFlags.inscription; } From f095913538a56fc32eddd1ae84d10c27fa8afe13 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Mon, 8 Jan 2024 11:48:55 +0100 Subject: [PATCH 413/639] [bitcoin core] add internal routes to bitcoin core rpc --- .../src/api/bitcoin/bitcoin-core.routes.ts | 221 ++++++++++++++++++ backend/src/index.ts | 2 + backend/src/rpc-api/commands.ts | 1 + 3 files changed, 224 insertions(+) create mode 100644 backend/src/api/bitcoin/bitcoin-core.routes.ts diff --git a/backend/src/api/bitcoin/bitcoin-core.routes.ts b/backend/src/api/bitcoin/bitcoin-core.routes.ts new file mode 100644 index 000000000..dbdcced1f --- /dev/null +++ b/backend/src/api/bitcoin/bitcoin-core.routes.ts @@ -0,0 +1,221 @@ +import { Application, NextFunction, Request, Response } from 'express'; +import logger from '../../logger'; +import bitcoinClient from './bitcoin-client'; + +/** + * Define a set of routes used by the accelerator server + * Those routes are not designed to be public + */ +class BitcoinBackendRoutes { + private static tag = 'BitcoinBackendRoutes'; + + public initRoutes(app: Application) { + app + .get('/api/internal/bitcoinCore/' + 'getMempoolEntry', this.disableCache, this.$getMempoolEntry) + .post('/api/internal/bitcoinCore/' + 'decodeRawTransaction', this.disableCache, this.$decodeRawTransaction) + .get('/api/internal/bitcoinCore/' + 'getRawTransaction', this.disableCache, this.$getRawTransaction) + .post('/api/internal/bitcoinCore/' + 'sendRawTransaction', this.disableCache, this.$sendRawTransaction) + .post('/api/internal/bitcoinCore/' + 'testMempoolAccept', this.disableCache, this.$testMempoolAccept) + .get('/api/internal/bitcoinCore/' + 'getMempoolAncestors', this.disableCache, this.$getMempoolAncestors) + .get('/api/internal/bitcoinCore/' + 'getBlock', this.disableCache, this.$getBlock) + .get('/api/internal/bitcoinCore/' + 'getBlockHash', this.disableCache, this.$getBlockHash) + .get('/api/internal/bitcoinCore/' + 'getBlockCount', this.disableCache, this.$getBlockCount) + ; + } + + /** + * Disable caching for bitcoin core routes + * + * @param req + * @param res + * @param next + */ + private disableCache(req: Request, res: Response, next: NextFunction): void { + res.setHeader('Pragma', 'no-cache'); + res.setHeader('Cache-control', 'private, no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'); + res.setHeader('expires', -1); + next(); + } + + /** + * Exeption handler to return proper details to the accelerator server + * + * @param e + * @param fnName + * @param res + */ + private static handleException(e: any, fnName: string, res: Response): void { + if (typeof(e.code) === 'number') { + res.status(400).send(JSON.stringify(e, ['code', 'message'])); + } else { + const err = `exception in ${fnName}. ${e}. Details: ${JSON.stringify(e, ['code', 'message'])}`; + logger.err(err, BitcoinBackendRoutes.tag); + res.status(500).send(err); + } + } + + private async $getMempoolEntry(req: Request, res: Response): Promise { + const txid = req.query.txid; + try { + if (typeof(txid) !== 'string' || txid.length !== 64) { + res.status(400).send(`invalid param txid ${txid}. must be a string of 64 char`); + return; + } + const mempoolEntry = await bitcoinClient.getMempoolEntry(txid); + if (!mempoolEntry) { + res.status(404).send(`no mempool entry found for txid ${txid}`); + return; + } + res.status(200).send(mempoolEntry); + } catch (e: any) { + BitcoinBackendRoutes.handleException(e, 'getMempoolEntry', res); + } + } + + private async $decodeRawTransaction(req: Request, res: Response): Promise { + const rawTx = req.body.rawTx; + try { + if (typeof(rawTx) !== 'string') { + res.status(400).send(`invalid param rawTx ${rawTx}. must be a string`); + return; + } + const decodedTx = await bitcoinClient.decodeRawTransaction(rawTx); + if (!decodedTx) { + res.status(400).send(`unable to decode rawTx ${rawTx}`); + return; + } + res.status(200).send(decodedTx); + } catch (e: any) { + BitcoinBackendRoutes.handleException(e, 'decodeRawTransaction', res); + } + } + + private async $getRawTransaction(req: Request, res: Response): Promise { + const txid = req.query.txid; + try { + if (typeof(txid) !== 'string' || txid.length !== 64) { + res.status(400).send(`invalid param txid ${txid}. must be a string of 64 char`); + return; + } + const decodedTx = await bitcoinClient.getRawTransaction(txid); + if (!decodedTx) { + res.status(400).send(`unable to get raw transaction for txid ${txid}`); + return; + } + res.status(200).send(decodedTx); + } catch (e: any) { + BitcoinBackendRoutes.handleException(e, 'decodeRawTransaction', res); + } + } + + private async $sendRawTransaction(req: Request, res: Response): Promise { + const rawTx = req.body.rawTx; + try { + if (typeof(rawTx) !== 'string') { + res.status(400).send(`invalid param rawTx ${rawTx}. must be a string`); + return; + } + const txHex = await bitcoinClient.sendRawTransaction(rawTx); + if (!txHex) { + res.status(400).send(`unable to send rawTx ${rawTx}`); + return; + } + res.status(200).send(txHex); + } catch (e: any) { + BitcoinBackendRoutes.handleException(e, 'sendRawTransaction', res); + } + } + + private async $testMempoolAccept(req: Request, res: Response): Promise { + const rawTx = req.body.rawTx; + try { + if (typeof(rawTx) !== 'string') { + res.status(400).send(`invalid param rawTx ${rawTx}. must be a string`); + return; + } + const txHex = await bitcoinClient.testMempoolAccept([rawTx]); + if (typeof(txHex) !== 'object' || txHex.length === 0) { + res.status(400).send(`testmempoolaccept failed for raw tx ${rawTx}, got an empty result`); + return; + } + res.status(200).send(txHex); + } catch (e: any) { + BitcoinBackendRoutes.handleException(e, 'testMempoolAccept', res); + } + } + + private async $getMempoolAncestors(req: Request, res: Response): Promise { + const txid = req.query.txid; + try { + if (typeof(txid) !== 'string' || txid.length !== 64) { + res.status(400).send(`invalid param txid ${txid}. must be a string of 64 char`); + return; + } + const decodedTx = await bitcoinClient.getMempoolAncestors(txid); + if (!decodedTx) { + res.status(400).send(`unable to get mempool ancestors for txid ${txid}`); + return; + } + res.status(200).send(decodedTx); + } catch (e: any) { + BitcoinBackendRoutes.handleException(e, 'getMempoolAncestors', res); + } + } + + private async $getBlock(req: Request, res: Response): Promise { + const blockHash = req.query.hash; + try { + if (typeof(blockHash) !== 'string' || blockHash.length !== 64) { + res.status(400).send(`invalid param blockHash ${blockHash}. must be a string of 64 char`); + return; + } + const block = await bitcoinClient.getBlock(blockHash); + if (!block) { + res.status(400).send(`unable to get block for block hash ${blockHash}`); + return; + } + res.status(200).send(block); + } catch (e: any) { + BitcoinBackendRoutes.handleException(e, 'getBlock', res); + } + } + + private async $getBlockHash(req: Request, res: Response): Promise { + const blockHeight = req.query.height; + try { + if (typeof(blockHeight) !== 'string') { + res.status(400).send(`invalid param blockHeight ${blockHeight}, must be a string representing an integer`); + return; + } + const blockHeightNumber = parseInt(blockHeight, 10); + if (!blockHeightNumber) { + res.status(400).send(`invalid param blockHeight ${blockHeight}. must be a valid integer`); + return; + } + + const block = await bitcoinClient.getBlockHash(blockHeightNumber); + if (!block) { + res.status(400).send(`unable to get block hash for block height ${blockHeightNumber}`); + return; + } + res.status(200).send(block); + } catch (e: any) { + BitcoinBackendRoutes.handleException(e, 'getBlockHash', res); + } + } + + private async $getBlockCount(req: Request, res: Response): Promise { + try { + const count = await bitcoinClient.getBlockCount(); + if (!count) { + res.status(400).send(`unable to get block count`); + return; + } + res.status(200).send(`${count}`); + } catch (e: any) { + BitcoinBackendRoutes.handleException(e, 'getBlockCount', res); + } + } +} + +export default new BitcoinBackendRoutes \ No newline at end of file diff --git a/backend/src/index.ts b/backend/src/index.ts index 44fe87e3a..a7b2ad4df 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -44,6 +44,7 @@ import v8 from 'v8'; import { formatBytes, getBytesUnit } from './utils/format'; import redisCache from './api/redis-cache'; import accelerationApi from './api/services/acceleration'; +import bitcoinCoreRoutes from './api/bitcoin/bitcoin-core.routes'; class Server { private wss: WebSocket.Server | undefined; @@ -282,6 +283,7 @@ class Server { setUpHttpApiRoutes(): void { bitcoinRoutes.initRoutes(this.app); + bitcoinCoreRoutes.initRoutes(this.app); pricesRoutes.initRoutes(this.app); if (config.STATISTICS.ENABLED && config.DATABASE.ENABLED && config.MEMPOOL.ENABLED) { statisticsRoutes.initRoutes(this.app); diff --git a/backend/src/rpc-api/commands.ts b/backend/src/rpc-api/commands.ts index 78f5e12f4..ecfb2ed7c 100644 --- a/backend/src/rpc-api/commands.ts +++ b/backend/src/rpc-api/commands.ts @@ -91,4 +91,5 @@ module.exports = { walletPassphraseChange: 'walletpassphrasechange', getTxoutSetinfo: 'gettxoutsetinfo', getIndexInfo: 'getindexinfo', + testMempoolAccept: 'testmempoolaccept', }; From b38bbb95138f689de373823db3e45bbdbfa4fb3e Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 9 Jan 2024 11:47:59 +0100 Subject: [PATCH 414/639] [bitcoin core] add missing verbose params to bitcoin core internal routes --- .../src/api/bitcoin/bitcoin-core.routes.ts | 51 +++++++++++++++---- 1 file changed, 42 insertions(+), 9 deletions(-) diff --git a/backend/src/api/bitcoin/bitcoin-core.routes.ts b/backend/src/api/bitcoin/bitcoin-core.routes.ts index dbdcced1f..d0aa9092a 100644 --- a/backend/src/api/bitcoin/bitcoin-core.routes.ts +++ b/backend/src/api/bitcoin/bitcoin-core.routes.ts @@ -92,12 +92,23 @@ class BitcoinBackendRoutes { private async $getRawTransaction(req: Request, res: Response): Promise { const txid = req.query.txid; + const verbose = req.query.verbose; try { if (typeof(txid) !== 'string' || txid.length !== 64) { res.status(400).send(`invalid param txid ${txid}. must be a string of 64 char`); return; } - const decodedTx = await bitcoinClient.getRawTransaction(txid); + if (typeof(verbose) !== 'string') { + res.status(400).send(`invalid param verbose ${verbose}. must be a string representing an integer`); + return; + } + const verboseNumber = parseInt(verbose, 10); + if (typeof(verboseNumber) !== 'number') { + res.status(400).send(`invalid param verbose ${verbose}. must be a valid integer`); + return; + } + + const decodedTx = await bitcoinClient.getRawTransaction(txid, verboseNumber); if (!decodedTx) { res.status(400).send(`unable to get raw transaction for txid ${txid}`); return; @@ -127,15 +138,15 @@ class BitcoinBackendRoutes { } private async $testMempoolAccept(req: Request, res: Response): Promise { - const rawTx = req.body.rawTx; + const rawTxs = req.body.rawTxs; try { - if (typeof(rawTx) !== 'string') { - res.status(400).send(`invalid param rawTx ${rawTx}. must be a string`); + if (typeof(rawTxs) !== 'object') { + res.status(400).send(`invalid param rawTxs ${JSON.stringify(rawTxs)}. must be an array of string`); return; } - const txHex = await bitcoinClient.testMempoolAccept([rawTx]); + const txHex = await bitcoinClient.testMempoolAccept(rawTxs); if (typeof(txHex) !== 'object' || txHex.length === 0) { - res.status(400).send(`testmempoolaccept failed for raw tx ${rawTx}, got an empty result`); + res.status(400).send(`testmempoolaccept failed for raw txs ${JSON.stringify(rawTxs)}, got an empty result`); return; } res.status(200).send(txHex); @@ -146,12 +157,23 @@ class BitcoinBackendRoutes { private async $getMempoolAncestors(req: Request, res: Response): Promise { const txid = req.query.txid; + const verbose = req.query.verbose; try { if (typeof(txid) !== 'string' || txid.length !== 64) { res.status(400).send(`invalid param txid ${txid}. must be a string of 64 char`); return; } - const decodedTx = await bitcoinClient.getMempoolAncestors(txid); + if (typeof(verbose) !== 'string') { + res.status(400).send(`invalid param verbose ${verbose}. must be a string representing an integer`); + return; + } + const verboseNumber = parseInt(verbose, 10); + if (typeof(verboseNumber) !== 'number') { + res.status(400).send(`invalid param verbose ${verbose}. must be a valid integer`); + return; + } + + const decodedTx = await bitcoinClient.getMempoolAncestors(txid, verboseNumber); if (!decodedTx) { res.status(400).send(`unable to get mempool ancestors for txid ${txid}`); return; @@ -164,12 +186,23 @@ class BitcoinBackendRoutes { private async $getBlock(req: Request, res: Response): Promise { const blockHash = req.query.hash; + const verbosity = req.query.verbosity; try { if (typeof(blockHash) !== 'string' || blockHash.length !== 64) { res.status(400).send(`invalid param blockHash ${blockHash}. must be a string of 64 char`); return; } - const block = await bitcoinClient.getBlock(blockHash); + if (typeof(verbosity) !== 'string') { + res.status(400).send(`invalid param verbosity ${verbosity}. must be a string representing an integer`); + return; + } + const verbosityNumber = parseInt(verbosity, 10); + if (typeof(verbosityNumber) !== 'number') { + res.status(400).send(`invalid param verbosity ${verbosity}. must be a valid integer`); + return; + } + + const block = await bitcoinClient.getBlock(blockHash, verbosityNumber); if (!block) { res.status(400).send(`unable to get block for block hash ${blockHash}`); return; @@ -188,7 +221,7 @@ class BitcoinBackendRoutes { return; } const blockHeightNumber = parseInt(blockHeight, 10); - if (!blockHeightNumber) { + if (typeof(blockHeightNumber) !== 'number') { res.status(400).send(`invalid param blockHeight ${blockHeight}. must be a valid integer`); return; } From f161f7e8e271e92ce29cf2b10e60a7e44172b6ef Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 12 Jan 2024 16:38:11 +0100 Subject: [PATCH 415/639] [bitcoin core] fix getMempoolAncestors verbose param --- backend/src/api/bitcoin/bitcoin-core.routes.ts | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/backend/src/api/bitcoin/bitcoin-core.routes.ts b/backend/src/api/bitcoin/bitcoin-core.routes.ts index d0aa9092a..edc32d0fe 100644 --- a/backend/src/api/bitcoin/bitcoin-core.routes.ts +++ b/backend/src/api/bitcoin/bitcoin-core.routes.ts @@ -163,22 +163,17 @@ class BitcoinBackendRoutes { res.status(400).send(`invalid param txid ${txid}. must be a string of 64 char`); return; } - if (typeof(verbose) !== 'string') { - res.status(400).send(`invalid param verbose ${verbose}. must be a string representing an integer`); + if (typeof(verbose) !== 'string' || (verbose !== 'true' && verbose !== 'false')) { + res.status(400).send(`invalid param verbose ${verbose}. must be a string ('true' | 'false')`); return; } - const verboseNumber = parseInt(verbose, 10); - if (typeof(verboseNumber) !== 'number') { - res.status(400).send(`invalid param verbose ${verbose}. must be a valid integer`); - return; - } - - const decodedTx = await bitcoinClient.getMempoolAncestors(txid, verboseNumber); - if (!decodedTx) { + + const ancestors = await bitcoinClient.getMempoolAncestors(txid, verbose === 'true' ? true : false); + if (!ancestors) { res.status(400).send(`unable to get mempool ancestors for txid ${txid}`); return; } - res.status(200).send(decodedTx); + res.status(200).send(ancestors); } catch (e: any) { BitcoinBackendRoutes.handleException(e, 'getMempoolAncestors', res); } From 02254557841e6620efd6011190e427e77d208ee5 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 9 Jan 2024 12:11:45 +0100 Subject: [PATCH 416/639] Fix merge conflict with 2013dc6d8b05d1bed4ec855ec97720e24aec4986 --- .../src/app/components/block/block-preview.component.ts | 6 ++++-- frontend/src/app/components/block/block.component.ts | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/components/block/block-preview.component.ts b/frontend/src/app/components/block/block-preview.component.ts index e634ae11f..3e1d9b409 100644 --- a/frontend/src/app/components/block/block-preview.component.ts +++ b/frontend/src/app/components/block/block-preview.component.ts @@ -10,6 +10,7 @@ import { BlockExtended, TransactionStripped } from '../../interfaces/node-api.in import { ApiService } from '../../services/api.service'; import { seoDescriptionNetwork } from '../../shared/common.utils'; import { BlockOverviewGraphComponent } from '../../components/block-overview-graph/block-overview-graph.component'; +import { ServicesApiServices } from '../../services/services-api.service'; @Component({ selector: 'app-block-preview', @@ -42,7 +43,8 @@ export class BlockPreviewComponent implements OnInit, OnDestroy { public stateService: StateService, private seoService: SeoService, private openGraphService: OpenGraphService, - private apiService: ApiService + private apiService: ApiService, + private servicesApiService: ServicesApiServices, ) { } ngOnInit() { @@ -134,7 +136,7 @@ export class BlockPreviewComponent implements OnInit, OnDestroy { return of(transactions); }) ), - this.stateService.env.ACCELERATOR === true && block.height > 819500 ? this.apiService.getAccelerationHistory$({ blockHash: block.id }) : of([]) + this.stateService.env.ACCELERATOR === true && block.height > 819500 ? this.servicesApiService.getAccelerationHistory$({ blockHash: block.id }) : of([]) ]); } ), diff --git a/frontend/src/app/components/block/block.component.ts b/frontend/src/app/components/block/block.component.ts index 6a995127b..5bba24852 100644 --- a/frontend/src/app/components/block/block.component.ts +++ b/frontend/src/app/components/block/block.component.ts @@ -16,6 +16,7 @@ import { detectWebGL } from '../../shared/graphs.utils'; import { seoDescriptionNetwork } from '../../shared/common.utils'; import { PriceService, Price } from '../../services/price.service'; import { CacheService } from '../../services/cache.service'; +import { ServicesApiServices } from '../../services/services-api.service'; @Component({ selector: 'app-block', @@ -103,6 +104,7 @@ export class BlockComponent implements OnInit, OnDestroy { private apiService: ApiService, private priceService: PriceService, private cacheService: CacheService, + private servicesApiService: ServicesApiServices, ) { this.webGlEnabled = detectWebGL(); } @@ -329,7 +331,7 @@ export class BlockComponent implements OnInit, OnDestroy { return of(null); }) ), - this.stateService.env.ACCELERATOR === true && block.height > 819500 ? this.apiService.getAccelerationHistory$({ blockHash: block.id }) : of([]) + this.stateService.env.ACCELERATOR === true && block.height > 819500 ? this.servicesApiService.getAccelerationHistory$({ blockHash: block.id }) : of([]) ]); }) ) From ed9826b2d890a4e5dc58f8cf20f7435212d88bb4 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Mon, 15 Jan 2024 16:12:58 +0100 Subject: [PATCH 417/639] [bitcoin core] internal core api from camel case to kebab case --- backend/src/api/bitcoin/bitcoin-core.routes.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/backend/src/api/bitcoin/bitcoin-core.routes.ts b/backend/src/api/bitcoin/bitcoin-core.routes.ts index edc32d0fe..7933dc17b 100644 --- a/backend/src/api/bitcoin/bitcoin-core.routes.ts +++ b/backend/src/api/bitcoin/bitcoin-core.routes.ts @@ -11,15 +11,15 @@ class BitcoinBackendRoutes { public initRoutes(app: Application) { app - .get('/api/internal/bitcoinCore/' + 'getMempoolEntry', this.disableCache, this.$getMempoolEntry) - .post('/api/internal/bitcoinCore/' + 'decodeRawTransaction', this.disableCache, this.$decodeRawTransaction) - .get('/api/internal/bitcoinCore/' + 'getRawTransaction', this.disableCache, this.$getRawTransaction) - .post('/api/internal/bitcoinCore/' + 'sendRawTransaction', this.disableCache, this.$sendRawTransaction) - .post('/api/internal/bitcoinCore/' + 'testMempoolAccept', this.disableCache, this.$testMempoolAccept) - .get('/api/internal/bitcoinCore/' + 'getMempoolAncestors', this.disableCache, this.$getMempoolAncestors) - .get('/api/internal/bitcoinCore/' + 'getBlock', this.disableCache, this.$getBlock) - .get('/api/internal/bitcoinCore/' + 'getBlockHash', this.disableCache, this.$getBlockHash) - .get('/api/internal/bitcoinCore/' + 'getBlockCount', this.disableCache, this.$getBlockCount) + .get('/api/internal/bitcoin-core/' + 'get-mempool-entry', this.disableCache, this.$getMempoolEntry) + .post('/api/internal/bitcoin-core/' + 'decode-raw-transaction', this.disableCache, this.$decodeRawTransaction) + .get('/api/internal/bitcoin-core/' + 'get-raw-transaction', this.disableCache, this.$getRawTransaction) + .post('/api/internal/bitcoin-core/' + 'send-raw-transaction', this.disableCache, this.$sendRawTransaction) + .post('/api/internal/bitcoin-core/' + 'test-mempool-accept', this.disableCache, this.$testMempoolAccept) + .get('/api/internal/bitcoin-core/' + 'get-mempool-ancestors', this.disableCache, this.$getMempoolAncestors) + .get('/api/internal/bitcoin-core/' + 'get-block', this.disableCache, this.$getBlock) + .get('/api/internal/bitcoin-core/' + 'get-block-hash', this.disableCache, this.$getBlockHash) + .get('/api/internal/bitcoin-core/' + 'get-block-count', this.disableCache, this.$getBlockCount) ; } From 6a189c484a7ee7e7591860fcaf9ff9ce92b6c479 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 15 Jan 2024 22:34:12 +0000 Subject: [PATCH 418/639] AccDash: accelerated -> pending --- .../accelerations-list/accelerations-list.component.html | 2 +- .../acceleration/pending-stats/pending-stats.component.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html index f2265282f..45709a47e 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html @@ -48,7 +48,7 @@ {{ acceleration.blockHeight }} - Pending + Pending Mined Canceled diff --git a/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html index c94bbf43a..bd062cd81 100644 --- a/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html +++ b/frontend/src/app/components/acceleration/pending-stats/pending-stats.component.html @@ -4,7 +4,7 @@
    Transactions
    {{ stats.count }}
    -
    accelerated
    +
    pending
    From 5009ca909cd81aa7d2f2636c649e3aa09814c1dd Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 15 Jan 2024 22:52:42 +0000 Subject: [PATCH 419/639] AccDash: out-of-band fees -> bid boost --- .../acceleration-fees-graph.component.html | 2 +- .../acceleration-fees-graph.component.ts | 10 +++++----- .../acceleration-stats.component.html | 4 ++-- .../acceleration-stats/acceleration-stats.component.ts | 8 ++++---- .../accelerations-list.component.html | 4 ++-- .../accelerations-list/accelerations-list.component.ts | 3 +++ .../components/transaction/transaction.component.html | 2 +- .../components/transaction/transaction.component.ts | 2 +- frontend/src/app/interfaces/node-api.interface.ts | 3 ++- 9 files changed, 21 insertions(+), 17 deletions(-) diff --git a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html index 9ae0ddade..98095aa07 100644 --- a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html +++ b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html @@ -29,7 +29,7 @@
    -
    Out-of-band Fees Per Block
    +
    Total Bid Boost
    diff --git a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts index d27b10690..4460bffe4 100644 --- a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts +++ b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.ts @@ -81,7 +81,7 @@ export class AccelerationFeesGraphComponent implements OnInit, OnDestroy { }), map(([accelerations, blockFeesResponse]) => { return { - avgFeesPaid: accelerations.filter(acc => acc.status === 'completed').reduce((total, acc) => total + acc.feePaid, 0) / accelerations.length + avgFeesPaid: accelerations.filter(acc => acc.status === 'completed').reduce((total, acc) => total + (acc.feePaid - acc.baseFee - acc.vsizeFee), 0) / accelerations.length }; }), ); @@ -151,7 +151,7 @@ export class AccelerationFeesGraphComponent implements OnInit, OnDestroy { while (last <= val.avgHeight) { blockCount++; totalFeeDelta += (blockAccelerations[last] || []).reduce((total, acc) => total + acc.feeDelta, 0); - totalFeePaid += (blockAccelerations[last] || []).reduce((total, acc) => total + acc.feePaid, 0); + totalFeePaid += (blockAccelerations[last] || []).reduce((total, acc) => total + (acc.feePaid - acc.baseFee - acc.vsizeFee), 0); totalCount += (blockAccelerations[last] || []).length; last++; } @@ -246,7 +246,7 @@ export class AccelerationFeesGraphComponent implements OnInit, OnDestroy { icon: 'roundRect', }, { - name: 'Out-of-band fees per block', + name: 'Total bid boost per block', inactiveColor: 'rgb(110, 112, 121)', textStyle: { color: 'white', @@ -256,7 +256,7 @@ export class AccelerationFeesGraphComponent implements OnInit, OnDestroy { ], selected: { 'In-band fees per block': false, - 'Out-of-band fees per block': true, + 'Total bid boost per block': true, }, show: !this.widget, }, @@ -299,7 +299,7 @@ export class AccelerationFeesGraphComponent implements OnInit, OnDestroy { { legendHoverLink: false, zlevel: 1, - name: 'Out-of-band fees per block', + name: 'Total bid boost per block', data: data.map(block => [block.timestamp * 1000, block.avgFeePaid, block.avgHeight]), stack: 'Total', type: 'bar', diff --git a/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.html b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.html index 21cd57ae0..0f4421ac9 100644 --- a/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.html +++ b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.html @@ -8,7 +8,7 @@
    -
    Out-of-band Fees
    +
    Total Bid Boost
    {{ stats.totalFeesPaid / 100_000_000 | amountShortener: 4 }} BTC
    @@ -36,7 +36,7 @@
    -
    Out-of-band Fees
    +
    Total Bid Boost
    diff --git a/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts index d83303619..0a6ef065c 100644 --- a/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts +++ b/frontend/src/app/components/acceleration/acceleration-stats/acceleration-stats.component.ts @@ -27,11 +27,11 @@ export class AccelerationStatsComponent implements OnInit { let totalFeesPaid = 0; let totalSucceeded = 0; let totalCanceled = 0; - for (const acceleration of accelerations) { - if (acceleration.status === 'completed') { + for (const acc of accelerations) { + if (acc.status === 'completed') { totalSucceeded++; - totalFeesPaid += acceleration.feePaid || 0; - } else if (acceleration.status === 'failed') { + totalFeesPaid += (acc.feePaid - acc.baseFee - acc.vsizeFee) || 0; + } else if (acc.status === 'failed') { totalCanceled++; } } diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html index 45709a47e..9a919ca54 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html @@ -14,7 +14,7 @@ Requested - Out-of-band Fee + Bid Boost Block Status @@ -39,7 +39,7 @@ - {{ (acceleration.feePaid) | number }} sat + {{ (acceleration.boost) | number }} sat ~ diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts index ddd89d31c..69af8b966 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.ts @@ -49,6 +49,9 @@ export class AccelerationsListComponent implements OnInit { acceleration.status = acceleration.status || 'accelerating'; } } + for (const acc of accelerations) { + acc.boost = acc.feePaid - acc.baseFee - acc.vsizeFee; + } if (this.widget) { return of(accelerations.slice(-6).reverse()); } else { diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 8ac4cf919..9ad939deb 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -529,7 +529,7 @@ Effective fee rate
    - + diff --git a/frontend/src/app/components/transaction/transaction.component.ts b/frontend/src/app/components/transaction/transaction.component.ts index 409ba33ff..883a3fa7f 100644 --- a/frontend/src/app/components/transaction/transaction.component.ts +++ b/frontend/src/app/components/transaction/transaction.component.ts @@ -255,7 +255,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { ).subscribe((accelerationHistory) => { for (const acceleration of accelerationHistory) { if (acceleration.txid === this.txId && (acceleration.status === 'completed' || acceleration.status === 'mined') && acceleration.feePaid > 0) { - acceleration.actualFeeDelta = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + acceleration.feePaid - acceleration.baseFee - acceleration.vsizeFee); + acceleration.acceleratedFee = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + acceleration.feePaid - acceleration.baseFee - acceleration.vsizeFee); this.accelerationInfo = acceleration; } } diff --git a/frontend/src/app/interfaces/node-api.interface.ts b/frontend/src/app/interfaces/node-api.interface.ts index e225eb758..1ca0d7725 100644 --- a/frontend/src/app/interfaces/node-api.interface.ts +++ b/frontend/src/app/interfaces/node-api.interface.ts @@ -319,7 +319,8 @@ export interface Acceleration { blockHash: string; blockHeight: number; - actualFeeDelta?: number; + acceleratedFee?: number; + boost?: number; } export interface AccelerationHistoryParams { From d2270ffc262ab9f497f0813616a32b36aaaf8e4e Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 15 Jan 2024 23:39:51 +0000 Subject: [PATCH 420/639] Move acceleration tab icon, fix responsive issues --- .../master-page/master-page.component.html | 6 +++--- .../master-page/master-page.component.scss | 15 ++++++++++++++- .../search-form/search-form.component.scss | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/components/master-page/master-page.component.html b/frontend/src/app/components/master-page/master-page.component.html index c6af2c282..54a608869 100644 --- a/frontend/src/app/components/master-page/master-page.component.html +++ b/frontend/src/app/components/master-page/master-page.component.html @@ -49,12 +49,12 @@