From 20db11f9d8250d2ccc2eebde1a6cdb75e5264bea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 May 2022 02:09:37 +0000 Subject: [PATCH 001/108] Bump clipboard from 2.0.10 to 2.0.11 in /frontend Bumps [clipboard](https://github.com/zenorocha/clipboard.js) from 2.0.10 to 2.0.11. - [Release notes](https://github.com/zenorocha/clipboard.js/releases) - [Commits](https://github.com/zenorocha/clipboard.js/compare/v2.0.10...v2.0.11) --- updated-dependencies: - dependency-name: clipboard dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 87d57666c..ddb1d280c 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -6106,9 +6106,9 @@ } }, "node_modules/clipboard": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.10.tgz", - "integrity": "sha512-cz3m2YVwFz95qSEbCDi2fzLN/epEN9zXBvfgAoGkvGOJZATMl9gtTDVOtBYkx2ODUJl2kvmud7n32sV2BpYR4g==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", "dependencies": { "good-listener": "^1.2.2", "select": "^1.1.2", @@ -21926,9 +21926,9 @@ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" }, "clipboard": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.10.tgz", - "integrity": "sha512-cz3m2YVwFz95qSEbCDi2fzLN/epEN9zXBvfgAoGkvGOJZATMl9gtTDVOtBYkx2ODUJl2kvmud7n32sV2BpYR4g==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", "requires": { "good-listener": "^1.2.2", "select": "^1.1.2", From 212cced9697c1db2d0b89ef70ec253e60c8ca6b0 Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn <100320+knorrium@users.noreply.github.com> Date: Mon, 9 May 2022 21:59:09 -0700 Subject: [PATCH 002/108] Update the recommended node version to v16.5.0 (LTS) --- .github/workflows/cypress.yml | 2 +- .nvmrc | 2 +- docker/backend/Dockerfile | 4 ++-- docker/frontend/Dockerfile | 2 +- production/README.md | 4 ++-- production/install | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 0cd95e568..732923ce2 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -21,7 +21,7 @@ jobs: - name: Setup node uses: actions/setup-node@v2 with: - node-version: 16.10.0 + node-version: 16.15.0 cache: 'npm' cache-dependency-path: frontend/package-lock.json - name: ${{ matrix.browser }} browser tests (Mempool) diff --git a/.nvmrc b/.nvmrc index 56bfee434..7fd023741 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v16.10.0 +v16.15.0 diff --git a/docker/backend/Dockerfile b/docker/backend/Dockerfile index c013fc23a..31acff047 100644 --- a/docker/backend/Dockerfile +++ b/docker/backend/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.10.0-buster-slim AS builder +FROM node:16.15.0-buster-slim AS builder ARG commitHash ENV DOCKER_COMMIT_HASH=${commitHash} @@ -11,7 +11,7 @@ RUN apt-get install -y build-essential python3 pkg-config RUN npm install RUN npm run build -FROM node:16.10.0-buster-slim +FROM node:16.15.0-buster-slim WORKDIR /backend diff --git a/docker/frontend/Dockerfile b/docker/frontend/Dockerfile index 34c41119c..e2874ff4e 100644 --- a/docker/frontend/Dockerfile +++ b/docker/frontend/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.10.0-buster-slim AS builder +FROM node:16.15.0-buster-slim AS builder ARG commitHash ENV DOCKER_COMMIT_HASH=${commitHash} diff --git a/production/README.md b/production/README.md index 0fe6b38f0..62218420a 100644 --- a/production/README.md +++ b/production/README.md @@ -82,11 +82,11 @@ pkg install -y zsh sudo git screen curl wget neovim rsync nginx openssl openssh- ### Node.js + npm -Build Node.js v16.10 and npm v7 from source using `nvm`: +Build Node.js v16.15 and npm v8 from source using `nvm`: ``` curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh source $HOME/.zshrc -nvm install v16.10.0 +nvm install v16.15.0 nvm alias default node ``` diff --git a/production/install b/production/install index 4db418693..a7ccd79ef 100755 --- a/production/install +++ b/production/install @@ -854,7 +854,7 @@ echo "[*] Installing nvm.sh from GitHub" osSudo "${MEMPOOL_USER}" sh -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh' echo "[*] Building NodeJS via nvm.sh" -osSudo "${MEMPOOL_USER}" zsh -c 'source ~/.zshrc ; nvm install v16.10.0' +osSudo "${MEMPOOL_USER}" zsh -c 'source ~/.zshrc ; nvm install v16.15.0' #################### # Tor installation # From 98c33ab08b6f25eac6eb24bd202eb6472210bb11 Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 10 May 2022 17:05:07 +0400 Subject: [PATCH 003/108] Correcting and harmonizing i18n strings --- .../bisq/bisq-block/bisq-block.component.html | 4 +- .../bisq-blocks/bisq-blocks.component.html | 2 +- .../bisq-main-dashboard.component.html | 4 +- .../bisq-transaction.component.html | 2 +- .../bisq-transactions.component.html | 2 +- .../block-fee-rates-graph.component.html | 3 +- .../block-fee-rates-graph.component.ts | 2 +- .../block-fees-graph.component.html | 5 +- .../block-fees-graph.component.ts | 2 +- .../block-rewards-graph.component.html | 3 +- .../block-rewards-graph.component.ts | 2 +- .../block-sizes-weights-graph.component.html | 2 +- .../block-sizes-weights-graph.component.ts | 2 +- .../blocks-list/blocks-list.component.html | 10 +- .../components/graphs/graphs.component.html | 28 +- .../hashrate-chart.component.ts | 2 +- .../hashrate-chart-pools.component.html | 4 +- .../latest-blocks.component.html | 2 +- .../latest-blocks/latest-blocks.component.ts | 2 +- .../master-page/master-page.component.html | 2 +- .../mempool-block.component.html | 2 +- .../mempool-block/mempool-block.component.ts | 2 +- .../mining-dashboard.component.html | 22 +- .../mining-dashboard.component.ts | 2 +- .../pool-ranking/pool-ranking.component.html | 15 +- .../app/components/pool/pool.component.html | 56 +- .../push-transaction.component.html | 2 +- .../reward-stats/reward-stats.component.html | 4 +- .../transaction/transaction.component.html | 10 +- .../transactions-list.component.html | 6 +- .../app/dashboard/dashboard.component.html | 2 +- frontend/src/locale/messages.xlf | 2632 +++++++++-------- 32 files changed, 1402 insertions(+), 1438 deletions(-) diff --git a/frontend/src/app/bisq/bisq-block/bisq-block.component.html b/frontend/src/app/bisq/bisq-block/bisq-block.component.html index 36281157d..9cc2ad699 100644 --- a/frontend/src/app/bisq/bisq-block/bisq-block.component.html +++ b/frontend/src/app/bisq/bisq-block/bisq-block.component.html @@ -20,7 +20,7 @@ {{ block.hash | shortenString : 13 }} - Timestamp + Timestamp ‎{{ block.time | date:'yyyy-MM-dd HH:mm' }}
@@ -83,7 +83,7 @@ - Timestamp + Timestamp diff --git a/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html b/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html index 9fbd6ad1b..e17c0b9bb 100644 --- a/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html +++ b/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html @@ -10,7 +10,7 @@ - + diff --git a/frontend/src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html b/frontend/src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html index 83b93dc78..2d7df05e1 100644 --- a/frontend/src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html +++ b/frontend/src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html @@ -89,7 +89,7 @@
HeightConfirmedConfirmed Total sent Transactions
- + @@ -98,7 +98,7 @@
Latest Trades
- +
diff --git a/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html b/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html index 2b3964caa..257281c7a 100644 --- a/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html +++ b/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html @@ -31,7 +31,7 @@ - + - + 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 f15356c2f..ec3773ca8 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 @@ -2,11 +2,10 @@
- Block fee rates + Block Fee Rates -
TimestampTimestamp ‎{{ bisqTx.time | date:'yyyy-MM-dd HH:mm' }}
diff --git a/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html b/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html index d1064972e..7a2056b46 100644 --- a/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html +++ b/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html @@ -18,7 +18,7 @@
TXID Type AmountConfirmedConfirmed Height
- + - + - + diff --git a/frontend/src/app/components/graphs/graphs.component.html b/frontend/src/app/components/graphs/graphs.component.html index a32829d6b..6c59645ea 100644 --- a/frontend/src/app/components/graphs/graphs.component.html +++ b/frontend/src/app/components/graphs/graphs.component.html @@ -5,33 +5,19 @@
- Pools ranking - + i18n="mining.pools">Pools Ranking - Pools dominance - + i18n="mining.pools-dominance">Pools Dominance - Hashrate & Difficulty - + [routerLink]="['/graphs/mining/hashrate-difficulty' | relativeUrl]" i18n="mining.hashrate-difficulty">Hashrate & Difficulty - Block Fee Rates - + [routerLink]="['/graphs/mining/block-fee-rates' | relativeUrl]" i18n="mining.block-fee-rates">Block Fee Rates - Block Fees - + [routerLink]="['/graphs/mining/block-fees' | relativeUrl]" i18n="mining.block-fees">Block Fees - Block Rewards - + [routerLink]="['/graphs/mining/block-rewards' | relativeUrl]" i18n="mining.block-rewards">Block Rewards - Block Sizes and Weights - + [routerLink]="['/graphs/mining/block-sizes-weights' | relativeUrl]" i18n="mining.block-sizes-weights">Block Sizes and Weights
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 f20f9db3a..70b98bd0c 100644 --- a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts +++ b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -64,7 +64,7 @@ export class HashrateChartComponent implements OnInit { if (this.widget) { this.miningWindowPreference = '1y'; } else { - this.seoService.setTitle($localize`:@@mining.hashrate-difficulty:Hashrate and Difficulty`); + this.seoService.setTitle($localize`:@@3510fc6daa1d975f331e3a717bdf1a34efa06dff:Hashrate & Difficulty`); this.miningWindowPreference = this.miningService.getDefaultTimespan('1m'); } this.radioGroupForm = this.formBuilder.group({ dateSpan: this.miningWindowPreference }); diff --git a/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html b/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html index 80f2baa54..18c7404af 100644 --- a/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html +++ b/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html @@ -3,11 +3,11 @@
- Mining pools dominance + Pools Dominance - + Pools Dominance
- + 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 ead56736c..75147f5e3 100644 --- a/frontend/src/app/components/mempool-block/mempool-block.component.ts +++ b/frontend/src/app/components/mempool-block/mempool-block.component.ts @@ -68,7 +68,7 @@ export class MempoolBlockComponent implements OnInit, OnDestroy { getOrdinal(mempoolBlock: MempoolBlock): string { const blocksInBlock = Math.ceil(mempoolBlock.blockVSize / this.stateService.blockVSize); if (this.mempoolBlockIndex === 0) { - return $localize`:@@mempool-block.next.block:Next block`; + return $localize`:@@bdf0e930eb22431140a2eaeacd809cc5f8ebd38c:Next Block`; } else if (this.mempoolBlockIndex === this.stateService.env.KEEP_BLOCKS_AMOUNT - 1 && blocksInBlock > 1) { return $localize`:@@mempool-block.stack.of.blocks:Stack of ${blocksInBlock}:INTERPOLATION: mempool blocks`; } else { 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 bf8ba2cf7..709ebd0a4 100644 --- a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html +++ b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html @@ -32,8 +32,7 @@ @@ -42,9 +41,8 @@ @@ -53,12 +51,9 @@
-
- Latest blocks -
+
Latest blocks
- +
@@ -67,12 +62,9 @@
-
- Adjustments -
+
Adjustments
- +
diff --git a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.ts b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.ts index 352586f14..05846fc8a 100644 --- a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.ts +++ b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.ts @@ -13,7 +13,7 @@ export class MiningDashboardComponent implements OnInit { private seoService: SeoService, private websocketService: WebsocketService, ) { - this.seoService.setTitle($localize`:@@mining.mining-dashboard:Mining Dashboard`); + this.seoService.setTitle($localize`:@@a681a4e2011bb28157689dbaa387de0dd0aa0c11:Mining Dashboard`); } ngOnInit(): void { 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 12b5ffb2a..17ad76cfa 100644 --- a/frontend/src/app/components/pool-ranking/pool-ranking.component.html +++ b/frontend/src/app/components/pool-ranking/pool-ranking.component.html @@ -5,7 +5,7 @@
-
Pools luck (1w)
+
Pools Luck (1w)

{{ miningStats['minersLuck'] }}%

@@ -17,7 +17,7 @@

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

{{ miningStats.pools.length }}

@@ -26,11 +26,10 @@
- Mining pools share + Pools Ranking -
@@ -62,7 +61,7 @@ 3Y
@@ -87,7 +86,7 @@
- + @@ -121,7 +120,7 @@
-
Pools luck (1w)
+
Pools Luck (1w)

@@ -133,7 +132,7 @@

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

diff --git a/frontend/src/app/components/pool/pool.component.html b/frontend/src/app/components/pool/pool.component.html index be7437363..4ee4dfab8 100644 --- a/frontend/src/app/components/pool/pool.component.html +++ b/frontend/src/app/components/pool/pool.component.html @@ -93,10 +93,8 @@
Height - PoolPool Timestamp Mined - RewardReward FeesTxsTXs Size
{{ mempoolBlock.feeRange[0] | number:'1.0-0' }} - {{ mempoolBlock.feeRange[mempoolBlock.feeRange.length - 1] | number:'1.0-0' }} sat/vB
Total feesTotal fees
Pool Hashrate BlocksEmpty BlocksEmpty blocks
- - + + @@ -117,10 +115,8 @@
Estimated - Reported - EstimatedReported Luck
- - + + @@ -142,7 +138,7 @@ - +
Estimated - Reported - EstimatedReported Luck
Mined BlocksMined blocks @@ -166,7 +162,7 @@
- Mined Blocks + Mined blocks @@ -216,12 +212,10 @@ - - + + - + @@ -266,12 +260,10 @@ - - + + - + @@ -378,10 +370,8 @@
Height Timestamp Mined - Coinbase Tag - RewardCoinbase tagReward FeesTxsTXs Size
Height Timestamp Mined - Coinbase Tag - RewardCoinbase tagReward FeesTxsTXs Size
- - + + @@ -406,10 +396,8 @@
Estimated - Reported - EstimatedReported Luck
- - + + @@ -430,13 +418,13 @@ - +
Estimated - Reported - EstimatedReported Luck
Mined BlocksMined blocks - - + + @@ -457,12 +445,12 @@
24h1w24h1w All
- Mined Blocks + Mined blocks - - + + diff --git a/frontend/src/app/components/push-transaction/push-transaction.component.html b/frontend/src/app/components/push-transaction/push-transaction.component.html index 5762c8363..d0693ed2c 100644 --- a/frontend/src/app/components/push-transaction/push-transaction.component.html +++ b/frontend/src/app/components/push-transaction/push-transaction.component.html @@ -3,7 +3,7 @@
- +

{{ error }}

{{ txId }} diff --git a/frontend/src/app/components/reward-stats/reward-stats.component.html b/frontend/src/app/components/reward-stats/reward-stats.component.html index 4f2919c91..345cb755d 100644 --- a/frontend/src/app/components/reward-stats/reward-stats.component.html +++ b/frontend/src/app/components/reward-stats/reward-stats.component.html @@ -26,7 +26,7 @@
-
Average Fee
+
Reward Per Tx
{{ rewardStats.feePerTx | amountShortener: 2 }} @@ -57,7 +57,7 @@
-
Average Fee
+
Reward Per Tx
diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 1b6844cda..0ff82899f 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -46,7 +46,7 @@
24h1w24h1w All
- + - + - + diff --git a/frontend/src/app/components/block/block.component.ts b/frontend/src/app/components/block/block.component.ts index c69245786..2fa6ec75d 100644 --- a/frontend/src/app/components/block/block.component.ts +++ b/frontend/src/app/components/block/block.component.ts @@ -206,13 +206,10 @@ export class BlockComponent implements OnInit, OnDestroy { this.queryParamsSubscription.unsubscribe(); } + // TODO - Refactor this.fees/this.reward for liquid because it is not + // used anymore on Bitcoin networks (we use block.extras directly) setBlockSubsidy() { - if (this.network === 'liquid' || this.network === 'liquidtestnet') { - this.blockSubsidy = 0; - return; - } - const halvings = Math.floor(this.block.height / 210000); - this.blockSubsidy = 50 * 2 ** -halvings; + this.blockSubsidy = 0; } pageChange(page: number, target: HTMLElement) { From ff74e6ea8caca1a8f35bc25c6d01982cacf0ab0e Mon Sep 17 00:00:00 2001 From: nymkappa Date: Wed, 20 Apr 2022 13:40:10 +0900 Subject: [PATCH 008/108] If block exists in memory cache, return it directly for /block API --- backend/src/api/blocks.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index a723f8069..9d2e91c78 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -392,6 +392,12 @@ class Blocks { * Index a block by hash if it's missing from the database. Returns the block after indexing */ public async $getBlock(hash: string): Promise { + // Check the memory cache + const blockByHash = this.getBlocks().find((b) => b.id === hash); + if (blockByHash) { + return blockByHash; + } + // Block has already been indexed if (Common.indexingEnabled()) { const dbBlock = await blocksRepository.$getBlockByHash(hash); From 964bf2671ef53ed7a47f6848921e0517db8a3595 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Wed, 20 Apr 2022 13:43:46 +0900 Subject: [PATCH 009/108] Delete MinerComponent --- frontend/src/app/app.module.ts | 2 - .../app/components/miner/miner.component.html | 12 --- .../app/components/miner/miner.component.scss | 3 - .../app/components/miner/miner.component.ts | 94 ------------------- 4 files changed, 111 deletions(-) delete mode 100644 frontend/src/app/components/miner/miner.component.html delete mode 100644 frontend/src/app/components/miner/miner.component.scss delete mode 100644 frontend/src/app/components/miner/miner.component.ts diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index 336cfead2..c9cd63c0c 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -40,7 +40,6 @@ import { AssetComponent } from './components/asset/asset.component'; import { AssetsComponent } from './components/assets/assets.component'; import { AssetsNavComponent } from './components/assets/assets-nav/assets-nav.component'; import { StatusViewComponent } from './components/status-view/status-view.component'; -import { MinerComponent } from './components/miner/miner.component'; import { SharedModule } from './shared/shared.module'; import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap'; import { FeesBoxComponent } from './components/fees-box/fees-box.component'; @@ -108,7 +107,6 @@ import { BlockSizesWeightsGraphComponent } from './components/block-sizes-weight LbtcPegsGraphComponent, AssetComponent, AssetsComponent, - MinerComponent, StatusViewComponent, FeesBoxComponent, DashboardComponent, diff --git a/frontend/src/app/components/miner/miner.component.html b/frontend/src/app/components/miner/miner.component.html deleted file mode 100644 index f4798d07d..000000000 --- a/frontend/src/app/components/miner/miner.component.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - {{ miner }} - - - Unknown - - diff --git a/frontend/src/app/components/miner/miner.component.scss b/frontend/src/app/components/miner/miner.component.scss deleted file mode 100644 index b6e8c8ca1..000000000 --- a/frontend/src/app/components/miner/miner.component.scss +++ /dev/null @@ -1,3 +0,0 @@ -.badge { - font-size: 14px; -} diff --git a/frontend/src/app/components/miner/miner.component.ts b/frontend/src/app/components/miner/miner.component.ts deleted file mode 100644 index 733204120..000000000 --- a/frontend/src/app/components/miner/miner.component.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { Component, Input, OnChanges, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; -import { AssetsService } from 'src/app/services/assets.service'; -import { Transaction } from 'src/app/interfaces/electrs.interface'; -import { StateService } from 'src/app/services/state.service'; -import { RelativeUrlPipe } from 'src/app/shared/pipes/relative-url/relative-url.pipe'; - -@Component({ - selector: 'app-miner', - templateUrl: './miner.component.html', - styleUrls: ['./miner.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class MinerComponent implements OnChanges { - @Input() coinbaseTransaction: Transaction; - miner = ''; - title = ''; - url = ''; - target = '_blank'; - loading = true; - - constructor( - private assetsService: AssetsService, - private cd: ChangeDetectorRef, - public stateService: StateService, - private relativeUrlPipe: RelativeUrlPipe, - ) { } - - ngOnChanges() { - this.miner = ''; - if (this.stateService.env.MINING_DASHBOARD) { - this.miner = 'Unknown'; - this.url = this.relativeUrlPipe.transform(`/mining/pool/unknown`); - this.target = ''; - } - this.loading = true; - this.findMinerFromCoinbase(); - } - - findMinerFromCoinbase() { - if (this.coinbaseTransaction == null || this.coinbaseTransaction.vin == null || this.coinbaseTransaction.vin.length === 0) { - return null; - } - - this.assetsService.getMiningPools$.subscribe((pools) => { - for (const vout of this.coinbaseTransaction.vout) { - if (!vout.scriptpubkey_address) { - continue; - } - - if (pools.payout_addresses[vout.scriptpubkey_address]) { - this.miner = pools.payout_addresses[vout.scriptpubkey_address].name; - this.title = $localize`:@@miner-identified-by-payout:Identified by payout address: '${vout.scriptpubkey_address}:PAYOUT_ADDRESS:'`; - const pool = pools.payout_addresses[vout.scriptpubkey_address]; - if (this.stateService.env.MINING_DASHBOARD && pools.slugs && pools.slugs[pool.name] !== undefined) { - this.url = this.relativeUrlPipe.transform(`/mining/pool/${pools.slugs[pool.name]}`); - this.target = ''; - } else { - this.url = pool.link; - } - break; - } - - for (const tag in pools.coinbase_tags) { - if (pools.coinbase_tags.hasOwnProperty(tag)) { - const coinbaseAscii = this.hex2ascii(this.coinbaseTransaction.vin[0].scriptsig); - if (coinbaseAscii.indexOf(tag) > -1) { - const pool = pools.coinbase_tags[tag]; - this.miner = pool.name; - this.title = $localize`:@@miner-identified-by-coinbase:Identified by coinbase tag: '${tag}:TAG:'`; - if (this.stateService.env.MINING_DASHBOARD && pools.slugs && pools.slugs[pool.name] !== undefined) { - this.url = this.relativeUrlPipe.transform(`/mining/pool/${pools.slugs[pool.name]}`); - this.target = ''; - } else { - this.url = pool.link; - } - break; - } - } - } - } - - this.loading = false; - this.cd.markForCheck(); - }); - } - - hex2ascii(hex: string) { - let str = ''; - for (let i = 0; i < hex.length; i += 2) { - str += String.fromCharCode(parseInt(hex.substr(i, 2), 16)); - } - return str; - } -} From 384c8d17cf367630c1dca45756f21f9892f30437 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Mon, 25 Apr 2022 15:50:26 +0900 Subject: [PATCH 010/108] Only process mining pools on Bitcoin networks --- backend/src/api/blocks.ts | 34 ++++++++++--------- backend/src/api/common.ts | 4 +-- .../app/components/block/block.component.html | 2 +- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index 9d2e91c78..1f27d8c0e 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -134,24 +134,26 @@ class Blocks { blockExtended.extras.avgFeeRate = stats.avgfeerate; } - let pool: PoolTag; - if (blockExtended.extras?.coinbaseTx !== undefined) { - pool = await this.$findBlockMiner(blockExtended.extras?.coinbaseTx); - } else { - pool = await poolsRepository.$getUnknownPool(); - } + if (['mainnet', 'testnet', 'signet', 'regtest'].includes(config.MEMPOOL.NETWORK)) { + let pool: PoolTag; + if (blockExtended.extras?.coinbaseTx !== undefined) { + pool = await this.$findBlockMiner(blockExtended.extras?.coinbaseTx); + } else { + pool = await poolsRepository.$getUnknownPool(); + } - if (!pool) { // We should never have this situation in practise - logger.warn(`Cannot assign pool to block ${blockExtended.height} and 'unknown' pool does not exist. ` + - `Check your "pools" table entries`); - return blockExtended; - } + if (!pool) { // We should never have this situation in practise + logger.warn(`Cannot assign pool to block ${blockExtended.height} and 'unknown' pool does not exist. ` + + `Check your "pools" table entries`); + return blockExtended; + } - blockExtended.extras.pool = { - id: pool.id, - name: pool.name, - slug: pool.slug, - }; + blockExtended.extras.pool = { + id: pool.id, + name: pool.name, + slug: pool.slug, + }; + } return blockExtended; } diff --git a/backend/src/api/common.ts b/backend/src/api/common.ts index bebc6c58b..d4b57f204 100644 --- a/backend/src/api/common.ts +++ b/backend/src/api/common.ts @@ -169,10 +169,10 @@ export class Common { default: return null; } } - + static indexingEnabled(): boolean { return ( - ['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK) && + ['mainnet', 'testnet', 'signet', 'regtest'].includes(config.MEMPOOL.NETWORK) && config.DATABASE.ENABLED === true && config.MEMPOOL.INDEXING_BLOCKS_AMOUNT !== 0 ); diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index 569abdec2..87e45e088 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -122,7 +122,7 @@ {{ block.extras.pool.name }} - - + diff --git a/frontend/src/app/components/pool/pool.component.html b/frontend/src/app/components/pool/pool.component.html index be7437363..736c21682 100644 --- a/frontend/src/app/components/pool/pool.component.html +++ b/frontend/src/app/components/pool/pool.component.html @@ -5,7 +5,7 @@
-

{{ poolStats.pool.name }}

From fd42b12fcff229328285f44bba385576a92c228a Mon Sep 17 00:00:00 2001 From: nymkappa Date: Mon, 16 May 2022 11:24:38 +0200 Subject: [PATCH 019/108] Always use BTC unit in blocks list --- .../app/components/blocks-list/blocks-list.component.html | 7 +++---- 1 file changed, 3 insertions(+), 4 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 e31214443..51a50f2bb 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.html +++ b/frontend/src/app/components/blocks-list/blocks-list.component.html @@ -13,8 +13,7 @@ Pool
- + @@ -42,10 +41,10 @@ - + diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 0aefe451a..d5dd6ee59 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -307,7 +307,7 @@ src/app/components/block/block.component.html - 168,169 + 190,191 src/app/components/blockchain-blocks/blockchain-blocks.component.html @@ -331,7 +331,7 @@ src/app/components/block/block.component.html - 169,170 + 191,192 src/app/components/blockchain-blocks/blockchain-blocks.component.html @@ -687,19 +687,19 @@ src/app/components/mining-dashboard/mining-dashboard.component.html - 35 + 33 src/app/components/mining-dashboard/mining-dashboard.component.html - 45 + 43 src/app/components/mining-dashboard/mining-dashboard.component.html - 56 + 54 src/app/components/mining-dashboard/mining-dashboard.component.html - 67 + 65 src/app/dashboard/dashboard.component.html @@ -967,7 +967,7 @@ src/app/components/block/block.component.html - 125,126 + 147,148 src/app/components/transaction/transaction.component.html @@ -1424,7 +1424,7 @@ - Multisig : of + Multisig of src/app/components/address-labels/address-labels.component.ts 121 @@ -1637,15 +1637,12 @@ 75 - - Group of assets - - src/app/components/assets/asset-group/asset-group.component.html - 6,9 - - Group of assets + + src/app/components/assets/asset-group/asset-group.component.html + 8,9 + src/app/components/assets/assets-featured/assets-featured.component.html 9,10 @@ -2102,11 +2099,11 @@ Total fees src/app/components/block/block.component.html - 83,84 + 83,85 src/app/components/block/block.component.html - 98,100 + 109,111 src/app/components/mempool-block/mempool-block.component.html @@ -2119,11 +2116,11 @@ Subsidy + fees: src/app/components/block/block.component.html - 90,92 + 98,100 src/app/components/block/block.component.html - 102,106 + 113,117 Total subsidy and fees in a block block.subsidy-and-fees @@ -2132,7 +2129,7 @@ Miner src/app/components/block/block.component.html - 107,108 + 118,120 block.miner @@ -2140,7 +2137,7 @@ Bits src/app/components/block/block.component.html - 129,131 + 151,153 block.bits @@ -2148,7 +2145,7 @@ Merkle root src/app/components/block/block.component.html - 133,135 + 155,157 block.merkle-root @@ -2156,7 +2153,7 @@ Difficulty src/app/components/block/block.component.html - 143,146 + 165,168 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html @@ -2176,7 +2173,7 @@ Nonce src/app/components/block/block.component.html - 147,149 + 169,171 block.nonce @@ -2184,7 +2181,7 @@ Block Header Hex src/app/components/block/block.component.html - 151,152 + 173,174 block.header @@ -2192,7 +2189,7 @@ Details src/app/components/block/block.component.html - 162,166 + 184,188 src/app/components/transaction/transaction.component.html @@ -2205,7 +2202,7 @@ Error loading block data. src/app/components/block/block.component.html - 256,266 + 278,288 block.error.loading-block-data @@ -2716,28 +2713,6 @@ 261 - - Unknown - - src/app/components/miner/miner.component.html - 10 - - miner.tag.unknown-miner - - - Identified by payout address: '' - - src/app/components/miner/miner.component.ts - 52 - - - - Identified by coinbase tag: '' - - src/app/components/miner/miner.component.ts - 69 - - Reward stats @@ -2758,7 +2733,7 @@ Latest blocks src/app/components/mining-dashboard/mining-dashboard.component.html - 54 + 52 src/app/dashboard/dashboard.component.html @@ -2770,7 +2745,7 @@ Adjustments src/app/components/mining-dashboard/mining-dashboard.component.html - 65 + 63 dashboard.adjustments @@ -2782,7 +2757,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 123,125 + 124,126 mining.miners-luck @@ -2794,7 +2769,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 129,131 + 130,132 master-page.blocks @@ -2806,7 +2781,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 135,137 + 136,138 mining.miners-count @@ -2826,12 +2801,11 @@ mining.empty-blocks - - All miners + + All miners src/app/components/pool-ranking/pool-ranking.component.html - 106,107 + 107,108 mining.all-miners From 0b351b9fcb56f0c9b3e5cda891070ed703fba1c1 Mon Sep 17 00:00:00 2001 From: Ayanami Date: Sun, 15 May 2022 20:53:04 +0900 Subject: [PATCH 031/108] pools-updater: Support secure Tor connection to sync data with Github Use Axios instead of native https --- backend/src/tasks/pools-updater.ts | 94 +++++++++++++++++------------- 1 file changed, 55 insertions(+), 39 deletions(-) diff --git a/backend/src/tasks/pools-updater.ts b/backend/src/tasks/pools-updater.ts index aee786ff9..aac301256 100644 --- a/backend/src/tasks/pools-updater.ts +++ b/backend/src/tasks/pools-updater.ts @@ -1,8 +1,10 @@ -const https = require('https'); +import axios from 'axios'; import poolsParser from '../api/pools-parser'; import config from '../config'; import DB from '../database'; import logger from '../logger'; +import { SocksProxyAgent } from 'socks-proxy-agent'; +import * as https from 'https'; /** * Maintain the most recent version of pools.json @@ -28,6 +30,13 @@ class PoolsUpdater { this.lastRun = now; + logger.info('Updating latest mining pools from Github'); + if (config.SOCKS5PROXY.ENABLED) { + logger.info('List of public pools will be queried over the Tor network'); + } else { + logger.info('List of public pools will be queried over clearnet'); + } + try { const dbSha = await this.getShaFromDb(); const githubSha = await this.fetchPoolsSha(); // Fetch pools.json sha from github @@ -41,7 +50,10 @@ class PoolsUpdater { } logger.warn('Pools.json is outdated, fetch latest from github'); - const poolsJson = await this.fetchPools(); + const poolsJson = await this.query('https://raw.githubusercontent.com/mempool/mining-pools/master/pools.json'); + if (poolsJson === undefined) { + return; + } await poolsParser.migratePoolsJson(poolsJson); await this.updateDBSha(githubSha); logger.notice('PoolsUpdater completed'); @@ -52,14 +64,6 @@ class PoolsUpdater { } } - /** - * Fetch pools.json from github repo - */ - private async fetchPools(): Promise { - const response = await this.query('/repos/mempool/mining-pools/contents/pools.json'); - return JSON.parse(Buffer.from(response['content'], 'base64').toString('utf8')); - } - /** * Fetch our latest pools.json sha from the db */ @@ -90,11 +94,13 @@ class PoolsUpdater { * Fetch our latest pools.json sha from github */ private async fetchPoolsSha(): Promise { - const response = await this.query('/repos/mempool/mining-pools/git/trees/master'); + const response = await this.query('https://api.github.com/repos/mempool/mining-pools/git/trees/master'); - for (const file of response['tree']) { - if (file['path'] === 'pools.json') { - return file['sha']; + if (response !== undefined) { + for (const file of response['tree']) { + if (file['path'] === 'pools.json') { + return file['sha']; + } } } @@ -105,35 +111,45 @@ class PoolsUpdater { /** * Http request wrapper */ - private query(path): Promise { - return new Promise((resolve, reject) => { - const options = { - host: 'api.github.com', - path: path, - method: 'GET', - headers: { 'user-agent': 'node.js' } + private async query(path): Promise { + type axiosOptions = { + httpsAgent?: https.Agent; + } + const setDelay = (secs: number = 1): Promise => new Promise(resolve => setTimeout(() => resolve(), secs * 1000)); + const axiosOptions: axiosOptions = {}; + let retry = 0; + + if (config.SOCKS5PROXY.ENABLED) { + const socksOptions: any = { + agentOptions: { + keepAlive: true, + }, + hostname: config.SOCKS5PROXY.HOST, + port: config.SOCKS5PROXY.PORT }; - logger.debug('Querying: api.github.com' + path); + if (config.SOCKS5PROXY.USERNAME && config.SOCKS5PROXY.PASSWORD) { + socksOptions.username = config.SOCKS5PROXY.USERNAME; + socksOptions.password = config.SOCKS5PROXY.PASSWORD; + } - const request = https.get(options, (response) => { - const chunks_of_data: any[] = []; - response.on('data', (fragments) => { - chunks_of_data.push(fragments); - }); - response.on('end', () => { - resolve(JSON.parse(Buffer.concat(chunks_of_data).toString())); - }); - response.on('error', (error) => { - reject(error); - }); - }); + axiosOptions.httpsAgent = new SocksProxyAgent(socksOptions); + } - request.on('error', (error) => { - logger.err('Github API query failed. Reason: ' + error); - reject(error); - }); - }); + while(retry < 5) { + try { + const data = await axios.get(path, axiosOptions); + if (data.statusText !== 'OK' || !data.data) { + throw new Error(`Could not fetch data from Github, Error: ${data.status}`); + } + return data.data; + } catch (e) { + logger.err('Could not connect to Github. Reason: ' + (e instanceof Error ? e.message : e)); + retry++; + } + await setDelay(); + } + return undefined; } } From d1671c4f1b3539dd3dda3fd4f3e6cf7d2fe51309 Mon Sep 17 00:00:00 2001 From: Ayanami Date: Sun, 15 May 2022 22:17:50 +0900 Subject: [PATCH 032/108] add contributor sign for ayanamidev --- contributors/ayanamidev.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 contributors/ayanamidev.txt diff --git a/contributors/ayanamidev.txt b/contributors/ayanamidev.txt new file mode 100644 index 000000000..c397f7286 --- /dev/null +++ b/contributors/ayanamidev.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 May 15, 2022. + +Signed: ayanamidev From fdb035c0d244de15e512906ea8c3e8227311cf9e Mon Sep 17 00:00:00 2001 From: Ayanami Date: Wed, 18 May 2022 11:23:51 +0900 Subject: [PATCH 033/108] Remove unused config from nginx --- nginx-mempool.conf | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/nginx-mempool.conf b/nginx-mempool.conf index 336f4efde..58d45f3cc 100644 --- a/nginx-mempool.conf +++ b/nginx-mempool.conf @@ -44,25 +44,6 @@ try_files $uri $uri/ /en-US/index.html =404; } - # mainnet API - location /api/v1/donations { - proxy_pass https://mempool.space; - } - location /api/v1/donations/images { - proxy_pass https://mempool.space; - } - location /api/v1/contributors { - proxy_pass https://mempool.space; - } - location /api/v1/contributors/images { - proxy_pass https://mempool.space; - } - location /api/v1/translators { - proxy_pass https://mempool.space; - } - location /api/v1/translators/images { - proxy_pass https://mempool.space; - } location /api/v1/ws { proxy_pass http://127.0.0.1:8999/; proxy_http_version 1.1; From 1093efe844e04fd45ddc7eb5454e0a638dadec19 Mon Sep 17 00:00:00 2001 From: softsimon Date: Wed, 18 May 2022 08:43:24 +0400 Subject: [PATCH 034/108] Improving loading indicator UX --- .../components/address/address.component.html | 24 +++++++++++-------- .../app/components/block/block.component.html | 24 ++++++++++--------- frontend/src/styles.scss | 4 ++++ 3 files changed, 31 insertions(+), 21 deletions(-) diff --git a/frontend/src/app/components/address/address.component.html b/frontend/src/app/components/address/address.component.html index fa9e14651..6111075e4 100644 --- a/frontend/src/app/components/address/address.component.html +++ b/frontend/src/app/components/address/address.component.html @@ -66,9 +66,14 @@
-
- -
+ + +
+
+
+
+
+
@@ -81,13 +86,6 @@
- -
-
-
-
-
-
@@ -155,3 +153,9 @@
+ + +
+ +
+
diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index 87e45e088..57bb2a614 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -200,9 +200,13 @@
-
- -
+ +
+
+
+
+
+
@@ -215,14 +219,6 @@
- - -
-
-
-
-
-
@@ -281,6 +277,12 @@ + +
+ +
+
+
diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index aee1456e4..318cd03d5 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -655,6 +655,10 @@ h1, h2, h3 { background-color: #24273e; } +.progress-light { + background-color: #2e324e; +} + .mt-2-5, .my-2-5 { margin-top: 0.75rem !important; } From 2dad8ba8ece37a577c9281b6150953f171d3406b Mon Sep 17 00:00:00 2001 From: softsimon Date: Wed, 18 May 2022 04:45:42 +0400 Subject: [PATCH 035/108] Fix for transactions being fetched recursively --- .../bitcoin/bitcoin-api-abstract-factory.ts | 2 +- backend/src/api/bitcoin/bitcoin-api.ts | 62 +++++++++---------- 2 files changed, 31 insertions(+), 33 deletions(-) diff --git a/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts b/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts index 266be5f1e..53c731e1f 100644 --- a/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts +++ b/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts @@ -2,7 +2,7 @@ import { IEsploraApi } from './esplora-api.interface'; export interface AbstractBitcoinApi { $getRawMempool(): Promise; - $getRawTransaction(txId: string, skipConversion?: boolean, addPrevout?: boolean, blockHash?: string): Promise; + $getRawTransaction(txId: string, skipConversion?: boolean, addPrevout?: boolean): Promise; $getBlockHeightTip(): Promise; $getTxIdsForBlock(hash: string): Promise; $getBlockHash(height: number): Promise; diff --git a/backend/src/api/bitcoin/bitcoin-api.ts b/backend/src/api/bitcoin/bitcoin-api.ts index 51ed99b6c..48368a128 100644 --- a/backend/src/api/bitcoin/bitcoin-api.ts +++ b/backend/src/api/bitcoin/bitcoin-api.ts @@ -14,14 +14,31 @@ class BitcoinApi implements AbstractBitcoinApi { this.bitcoindClient = bitcoinClient; } - $getRawTransaction(txId: string, skipConversion = false, addPrevout = false, blockHash?: string): Promise { + static convertBlock(block: IBitcoinApi.Block): IEsploraApi.Block { + return { + id: block.hash, + height: block.height, + version: block.version, + timestamp: block.time, + bits: parseInt(block.bits, 16), + nonce: block.nonce, + difficulty: block.difficulty, + merkle_root: block.merkleroot, + tx_count: block.nTx, + size: block.size, + weight: block.weight, + previousblockhash: block.previousblockhash, + }; + } + + $getRawTransaction(txId: string, skipConversion = false, addPrevout = false): Promise { // If the transaction is in the mempool we already converted and fetched the fee. Only prevouts are missing const txInMempool = mempool.getMempool()[txId]; if (txInMempool && addPrevout) { return this.$addPrevouts(txInMempool); } - return this.bitcoindClient.getRawTransaction(txId, true, blockHash) + return this.bitcoindClient.getRawTransaction(txId, true) .then((transaction: IBitcoinApi.Transaction) => { if (skipConversion) { transaction.vout.forEach((vout) => { @@ -174,35 +191,18 @@ class BitcoinApi implements AbstractBitcoinApi { }; } - if (transaction.confirmations) { - esploraTransaction = await this.$calculateFeeFromInputs(esploraTransaction, addPrevout); - } else { - esploraTransaction = await this.$appendMempoolFeeData(esploraTransaction); - if (addPrevout) { - esploraTransaction = await this.$calculateFeeFromInputs(esploraTransaction, addPrevout); + if (addPrevout) { + if (transaction.confirmations) { + esploraTransaction = await this.$calculateFeeFromInputs(esploraTransaction); + } else { + esploraTransaction = await this.$appendMempoolFeeData(esploraTransaction); + esploraTransaction = await this.$calculateFeeFromInputs(esploraTransaction); } } return esploraTransaction; } - static convertBlock(block: IBitcoinApi.Block): IEsploraApi.Block { - return { - id: block.hash, - height: block.height, - version: block.version, - timestamp: block.time, - bits: parseInt(block.bits, 16), - nonce: block.nonce, - difficulty: block.difficulty, - merkle_root: block.merkleroot, - tx_count: block.nTx, - size: block.size, - weight: block.weight, - previousblockhash: block.previousblockhash, - }; - } - private translateScriptPubKeyType(outputType: string): string { const map = { 'pubkey': 'p2pk', @@ -245,7 +245,7 @@ class BitcoinApi implements AbstractBitcoinApi { if (vin.prevout) { continue; } - const innerTx = await this.$getRawTransaction(vin.txid, false); + const innerTx = await this.$getRawTransaction(vin.txid, false, false); vin.prevout = innerTx.vout[vin.vout]; this.addInnerScriptsToVin(vin); } @@ -271,18 +271,16 @@ class BitcoinApi implements AbstractBitcoinApi { return this.bitcoindClient.getRawMemPool(true); } - private async $calculateFeeFromInputs(transaction: IEsploraApi.Transaction, addPrevout: boolean): Promise { + private async $calculateFeeFromInputs(transaction: IEsploraApi.Transaction): Promise { if (transaction.vin[0].is_coinbase) { transaction.fee = 0; return transaction; } let totalIn = 0; for (const vin of transaction.vin) { - const innerTx = await this.$getRawTransaction(vin.txid, !addPrevout); - if (addPrevout) { - vin.prevout = innerTx.vout[vin.vout]; - this.addInnerScriptsToVin(vin); - } + const innerTx = await this.$getRawTransaction(vin.txid, false, false); + vin.prevout = innerTx.vout[vin.vout]; + this.addInnerScriptsToVin(vin); totalIn += innerTx.vout[vin.vout].value; } const totalOut = transaction.vout.reduce((p, output) => p + output.value, 0); From b12b7d38d77e9082ead1386c7aa6cecca78e6653 Mon Sep 17 00:00:00 2001 From: softsimon Date: Wed, 18 May 2022 03:06:31 +0400 Subject: [PATCH 036/108] Adding some missing i18n strings --- .../block-fees-graph.component.ts | 2 +- .../block-rewards-graph.component.ts | 2 +- .../block-sizes-weights-graph.component.ts | 8 +- .../hashrate-chart.component.html | 6 +- .../hashrate-chart.component.ts | 10 +- .../hashrate-chart-pools.component.html | 1 - .../pool-ranking/pool-ranking.component.ts | 5 +- frontend/src/locale/messages.xlf | 167 +++++++++++------- 8 files changed, 122 insertions(+), 79 deletions(-) diff --git a/frontend/src/app/components/block-fees-graph/block-fees-graph.component.ts b/frontend/src/app/components/block-fees-graph/block-fees-graph.component.ts index a0c1b6aca..c938b351f 100644 --- a/frontend/src/app/components/block-fees-graph/block-fees-graph.component.ts +++ b/frontend/src/app/components/block-fees-graph/block-fees-graph.component.ts @@ -157,7 +157,7 @@ export class BlockFeesGraphComponent implements OnInit { series: [ { zlevel: 0, - name: 'Fees', + name: $localize`:@@c20172223f84462032664d717d739297e5a9e2fe:Fees`, showSymbol: false, symbol: 'none', data: data.blockFees, diff --git a/frontend/src/app/components/block-rewards-graph/block-rewards-graph.component.ts b/frontend/src/app/components/block-rewards-graph/block-rewards-graph.component.ts index 7d3089092..48d7ec10c 100644 --- a/frontend/src/app/components/block-rewards-graph/block-rewards-graph.component.ts +++ b/frontend/src/app/components/block-rewards-graph/block-rewards-graph.component.ts @@ -157,7 +157,7 @@ export class BlockRewardsGraphComponent implements OnInit { series: [ { zlevel: 0, - name: 'Reward', + name: $localize`:@@12f86e6747a5ad39e62d3480ddc472b1aeab5b76:Reward`, showSymbol: false, symbol: 'none', data: data.blockRewards, diff --git a/frontend/src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts b/frontend/src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts index ef947f9d0..7c72b42ef 100644 --- a/frontend/src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts +++ b/frontend/src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts @@ -178,7 +178,7 @@ export class BlockSizesWeightsGraphComponent implements OnInit { padding: 10, data: [ { - name: 'Size', + name: $localize`:@@7faaaa08f56427999f3be41df1093ce4089bbd75:Size`, inactiveColor: 'rgb(110, 112, 121)', textStyle: { color: 'white', @@ -186,7 +186,7 @@ export class BlockSizesWeightsGraphComponent implements OnInit { icon: 'roundRect', }, { - name: 'Weight', + name: $localize`:@@919f2fd60a898850c24b1584362bbf18a4628bcb:Weight`, inactiveColor: 'rgb(110, 112, 121)', textStyle: { color: 'white', @@ -224,7 +224,7 @@ export class BlockSizesWeightsGraphComponent implements OnInit { series: data.sizes.length === 0 ? [] : [ { zlevel: 1, - name: 'Size', + name: $localize`:@@7faaaa08f56427999f3be41df1093ce4089bbd75:Size`, showSymbol: false, symbol: 'none', data: data.sizes, @@ -255,7 +255,7 @@ export class BlockSizesWeightsGraphComponent implements OnInit { { zlevel: 1, yAxisIndex: 0, - name: 'Weight', + name: $localize`:@@919f2fd60a898850c24b1584362bbf18a4628bcb:Weight`, showSymbol: false, symbol: 'none', data: data.weights, diff --git a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html index 8739f18fb..2cae2ec4b 100644 --- a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html +++ b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html @@ -11,7 +11,7 @@

-
Difficulty
+
Difficulty

{{ hashrates.currentDifficulty | amountShortener }}

@@ -64,13 +64,13 @@
-
Hashrate
+
Hashrate

-
Difficulty
+
Difficulty

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 70b98bd0c..d401f76ad 100644 --- a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts +++ b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -223,7 +223,7 @@ export class HashrateChartComponent implements OnInit { legend: (this.widget || data.hashrates.length === 0) ? undefined : { data: [ { - name: 'Hashrate', + name: $localize`:@@79a9dc5b1caca3cbeb1733a19515edacc5fc7920:Hashrate`, inactiveColor: 'rgb(110, 112, 121)', textStyle: { color: 'white', @@ -234,9 +234,9 @@ export class HashrateChartComponent implements OnInit { }, }, { - name: 'Difficulty', + name: $localize`:@@25148835d92465353fc5fe8897c27d5369978e5a:Difficulty`, inactiveColor: 'rgb(110, 112, 121)', - textStyle: { + textStyle: { color: 'white', }, icon: 'roundRect', @@ -290,7 +290,7 @@ export class HashrateChartComponent implements OnInit { series: data.hashrates.length === 0 ? [] : [ { zlevel: 0, - name: 'Hashrate', + name: $localize`:@@79a9dc5b1caca3cbeb1733a19515edacc5fc7920:Hashrate`, showSymbol: false, symbol: 'none', data: data.hashrates, @@ -302,7 +302,7 @@ export class HashrateChartComponent implements OnInit { { zlevel: 1, yAxisIndex: 1, - name: 'Difficulty', + name: $localize`:@@25148835d92465353fc5fe8897c27d5369978e5a:Difficulty`, showSymbol: false, symbol: 'none', data: data.difficulty, diff --git a/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html b/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html index 18c7404af..a392e122b 100644 --- a/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html +++ b/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html @@ -7,7 +7,6 @@ - Pools Dominance
@@ -261,7 +265,7 @@
-
+
{{ tx.fee / (tx.weight / 4) | feeRounding }} sat/vB  – {{ tx.fee | number }} sat
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 b4ef42d84..025faf322 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.ts +++ b/frontend/src/app/components/transactions-list/transactions-list.component.ts @@ -175,6 +175,17 @@ export class TransactionsListComponent implements OnInit, OnChanges { } } + loadMoreInputs(tx: Transaction) { + tx['@vinLimit'] = false; + + this.electrsApiService.getTransaction$(tx.txid) + .subscribe((newTx) => { + tx.vin = newTx.vin; + tx.fee = newTx.fee; + this.ref.markForCheck(); + }); + } + ngOnDestroy() { this.outspendsSubscription.unsubscribe(); } diff --git a/frontend/src/app/interfaces/electrs.interface.ts b/frontend/src/app/interfaces/electrs.interface.ts index ecd0ac598..9c873d2eb 100644 --- a/frontend/src/app/interfaces/electrs.interface.ts +++ b/frontend/src/app/interfaces/electrs.interface.ts @@ -54,6 +54,8 @@ export interface Vin { // Elements is_pegin?: boolean; issuance?: Issuance; + // Custom + lazy?: boolean; } interface Issuance { From e092fa6286ac7bf689ea4164652214c8f9d1df38 Mon Sep 17 00:00:00 2001 From: softsimon Date: Fri, 20 May 2022 21:29:44 +0400 Subject: [PATCH 064/108] Adding fee reveal text --- backend/src/api/bitcoin/bitcoin-api.ts | 6 ++---- .../transactions-list/transactions-list.component.html | 1 + .../transactions-list/transactions-list.component.scss | 8 +++++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/backend/src/api/bitcoin/bitcoin-api.ts b/backend/src/api/bitcoin/bitcoin-api.ts index 3be2867cf..41671ede1 100644 --- a/backend/src/api/bitcoin/bitcoin-api.ts +++ b/backend/src/api/bitcoin/bitcoin-api.ts @@ -283,10 +283,8 @@ class BitcoinApi implements AbstractBitcoinApi { continue; } const innerTx = await this.$getRawTransaction(transaction.vin[i].txid, false, false); - if (addPrevout) { - transaction.vin[i].prevout = innerTx.vout[transaction.vin[i].vout]; - this.addInnerScriptsToVin(transaction.vin[i]); - } + transaction.vin[i].prevout = innerTx.vout[transaction.vin[i].vout]; + this.addInnerScriptsToVin(transaction.vin[i]); totalIn += innerTx.vout[transaction.vin[i].vout].value; } if (lazyPrevouts && transaction.vin.length > 12) { 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 6191ec408..1b34692a8 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.html +++ b/frontend/src/app/components/transactions-list/transactions-list.component.html @@ -268,6 +268,7 @@
{{ tx.fee / (tx.weight / 4) | feeRounding }} sat/vB  – {{ tx.fee | number }} sat
+
Show all inputs to reveal fee data
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 6690337ce..11e013e23 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.scss +++ b/frontend/src/app/components/transactions-list/transactions-list.component.scss @@ -139,4 +139,10 @@ h2 { .addr-right { font-family: monospace; -} \ No newline at end of file +} + +.grey-info-text { + color:#6c757d; + font-style: italic; + font-size: 12px; +} From 521418bd2550ebe40b6f6a429b057c7df8e87acb Mon Sep 17 00:00:00 2001 From: softsimon Date: Fri, 20 May 2022 21:50:01 +0400 Subject: [PATCH 065/108] Progressbar calculation fix --- backend/src/routes.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/routes.ts b/backend/src/routes.ts index f2e7550e9..cf28dd71d 100644 --- a/backend/src/routes.ts +++ b/backend/src/routes.ts @@ -780,7 +780,7 @@ class Routes { try { const transaction = await transactionUtils.$getTransactionExtended(txIds[i], true, true); transactions.push(transaction); - loadingIndicators.setProgress('blocktxs-' + req.params.hash, (i + 1) / endIndex * 100); + loadingIndicators.setProgress('blocktxs-' + req.params.hash, (i - startingIndex + 1) / (endIndex - startingIndex) * 100); } catch (e) { logger.debug('getBlockTransactions error: ' + (e instanceof Error ? e.message : e)); } From a1fb89963c5afd8b86a9d14cde2bfb52d11ef501 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sat, 21 May 2022 02:30:38 +0400 Subject: [PATCH 066/108] Block transactions list error handling --- .../app/components/block/block.component.html | 17 ++++++++++++++--- .../src/app/components/block/block.component.ts | 11 ++++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index c0ff29889..07ac76c21 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -197,7 +197,18 @@ - + +
+
+ Error loading data. +

+ {{ transactionsError.status }}: {{ transactionsError.error }} +
+
+
+
+ +
@@ -271,9 +282,9 @@
- Error loading block data. + Error loading data.

- {{ error.error }} + {{ error.code }}: {{ error.error }}
diff --git a/frontend/src/app/components/block/block.component.ts b/frontend/src/app/components/block/block.component.ts index 57417a5c3..bd70e8628 100644 --- a/frontend/src/app/components/block/block.component.ts +++ b/frontend/src/app/components/block/block.component.ts @@ -38,6 +38,7 @@ export class BlockComponent implements OnInit, OnDestroy { showDetails = false; showPreviousBlocklink = true; showNextBlocklink = true; + transactionsError: any = null; subscription: Subscription; keyNavigationSubscription: Subscription; @@ -152,12 +153,13 @@ export class BlockComponent implements OnInit, OnDestroy { this.stateService.markBlock$.next({ blockHeight: this.blockHeight }); this.isLoadingTransactions = true; this.transactions = null; + this.transactionsError = null; }), debounceTime(300), switchMap((block) => this.electrsApiService.getBlockTransactions$(block.id) .pipe( catchError((err) => { - console.log(err); + this.transactionsError = err; return of([]); })) ), @@ -218,9 +220,16 @@ export class BlockComponent implements OnInit, OnDestroy { const start = (page - 1) * this.itemsPerPage; this.isLoadingTransactions = true; this.transactions = null; + this.transactionsError = null; target.scrollIntoView(); // works for chrome this.electrsApiService.getBlockTransactions$(this.block.id, start) + .pipe( + catchError((err) => { + this.transactionsError = err; + return of([]); + }) + ) .subscribe((transactions) => { this.transactions = transactions; this.isLoadingTransactions = false; From 49074cc3dfe2529107a4445186c5292dfd49fb08 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Sat, 21 May 2022 08:20:35 -0400 Subject: [PATCH 067/108] Add role attributes for doc nav elements To address #1668. --- .../code-template/code-template.component.html | 14 +++++++------- frontend/src/app/docs/docs/docs.component.html | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/frontend/src/app/docs/code-template/code-template.component.html b/frontend/src/app/docs/code-template/code-template.component.html index 47cea6d03..373f7daf6 100644 --- a/frontend/src/app/docs/code-template/code-template.component.html +++ b/frontend/src/app/docs/code-template/code-template.component.html @@ -1,14 +1,14 @@
-
TimestampTimestamp ‎{{ tx.status.block_time * 1000 | date:'yyyy-MM-dd HH:mm' }}
@@ -209,7 +209,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -235,7 +235,7 @@ - + @@ -383,7 +383,7 @@ - + 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 eded208bd..a3f9cddc9 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.html +++ b/frontend/src/app/components/transactions-list/transactions-list.component.html @@ -138,7 +138,7 @@ @@ -232,7 +232,7 @@ - + @@ -246,7 +246,7 @@ diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 80ab9545d..f74df20d4 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -136,7 +136,7 @@
SizeSize
WeightWeight
Transaction HexTransaction hex
Fee{{ tx.fee | number }} sat {{ tx.fee | number }} sat
Fee rate
- +
{{ vout.scriptpubkey }}
OP_RETURN dataOP_RETURN data {{ vout.scriptpubkey_asm | hex2ascii }}
- +
- +
diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index f142c56ff..3b42479c9 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -5,343 +5,242 @@ Close - node_modules/@ng-bootstrap/src/alert/alert.ts - 58,61 + node_modules/src/alert/alert.ts + 77,80 - Slide of + Slide of - node_modules/@ng-bootstrap/src/carousel/carousel.ts - 114,118 + node_modules/src/carousel/carousel.ts + 147,156 Currently selected slide number read by screen reader Previous - node_modules/@ng-bootstrap/src/carousel/carousel.ts - 132,134 + node_modules/src/carousel/carousel.ts + 174 Next - node_modules/@ng-bootstrap/src/carousel/carousel.ts - 147,152 + node_modules/src/carousel/carousel.ts + 195 Select month - node_modules/@ng-bootstrap/src/datepicker/datepicker-navigation-select.ts - 44,49 + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 - node_modules/@ng-bootstrap/src/datepicker/datepicker-navigation-select.ts - 49,50 + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 Select year - node_modules/@ng-bootstrap/src/datepicker/datepicker-navigation-select.ts - 59,63 + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 - node_modules/@ng-bootstrap/src/datepicker/datepicker-navigation-select.ts + node_modules/src/datepicker/datepicker-navigation-select.ts 74 Previous month - node_modules/@ng-bootstrap/src/datepicker/datepicker-navigation.ts - 24,27 + node_modules/src/datepicker/datepicker-navigation.ts + 69 - node_modules/@ng-bootstrap/src/datepicker/datepicker-navigation.ts - 35,36 + node_modules/src/datepicker/datepicker-navigation.ts + 69 Next month - node_modules/@ng-bootstrap/src/datepicker/datepicker-navigation.ts - 47,50 + node_modules/src/datepicker/datepicker-navigation.ts + 69 - node_modules/@ng-bootstrap/src/datepicker/datepicker-navigation.ts - 60,64 + node_modules/src/datepicker/datepicker-navigation.ts + 69 «« - node_modules/@ng-bootstrap/src/pagination/pagination.ts - 182,183 + node_modules/src/pagination/pagination.ts + 247 « - node_modules/@ng-bootstrap/src/pagination/pagination.ts - 186,190 + node_modules/src/pagination/pagination.ts + 264,266 » - node_modules/@ng-bootstrap/src/pagination/pagination.ts - 194,195 + node_modules/src/pagination/pagination.ts + 282,285 »» - node_modules/@ng-bootstrap/src/pagination/pagination.ts - 201,204 + node_modules/src/pagination/pagination.ts + 301,303 First - node_modules/@ng-bootstrap/src/pagination/pagination.ts - 208,209 + node_modules/src/pagination/pagination.ts + 318,320 Previous - node_modules/@ng-bootstrap/src/pagination/pagination.ts - 215,216 + node_modules/src/pagination/pagination.ts + 333 Next - node_modules/@ng-bootstrap/src/pagination/pagination.ts - 226,228 + node_modules/src/pagination/pagination.ts + 343,344 Last - node_modules/@ng-bootstrap/src/pagination/pagination.ts - 232,233 + node_modules/src/pagination/pagination.ts + 354 - + - node_modules/@ng-bootstrap/src/progressbar/progressbar.ts - 32,38 + node_modules/src/progressbar/progressbar.ts + 59,63 HH - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 40,41 + node_modules/src/timepicker/timepicker.ts + 133,135 Hours - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 46,47 + node_modules/src/timepicker/timepicker.ts + 154,155 MM - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 51,54 + node_modules/src/timepicker/timepicker.ts + 171,172 Minutes - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 58,59 + node_modules/src/timepicker/timepicker.ts + 186,187 Increment hours - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 63,64 + node_modules/src/timepicker/timepicker.ts + 200 Decrement hours - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 69,70 + node_modules/src/timepicker/timepicker.ts + 219,222 Increment minutes - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 76,78 + node_modules/src/timepicker/timepicker.ts + 238,239 Decrement minutes - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 82,84 + node_modules/src/timepicker/timepicker.ts + 259,261 SS - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 87,88 + node_modules/src/timepicker/timepicker.ts + 277 Seconds - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 92,93 + node_modules/src/timepicker/timepicker.ts + 295 Increment seconds - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 100,101 + node_modules/src/timepicker/timepicker.ts + 295 Decrement seconds - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 106,110 - - - - - - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 115,121 + node_modules/src/timepicker/timepicker.ts + 295 - + - node_modules/@ng-bootstrap/src/timepicker/timepicker.ts - 123,131 + node_modules/src/timepicker/timepicker.ts + 295 + + + + + + node_modules/src/timepicker/timepicker.ts + 295 Close - node_modules/@ng-bootstrap/src/toast/toast.ts - 78,85 - - - - Registered assets - - src/app/assets/assets.component.html - 3,8 - - Registered assets page header - - - Search asset - - src/app/assets/assets.component.html - 9,11 - - Search Assets Placeholder Text - - - Clear - - src/app/assets/assets.component.html - 11,16 - - Search Clear Button - - - Name - - src/app/assets/assets.component.html - 19,21 - - - src/app/assets/assets.component.html - 44,46 - - Asset name header - - - Ticker - - src/app/assets/assets.component.html - 20,21 - - - src/app/assets/assets.component.html - 45,47 - - Asset ticker header - - - Issuer domain - - src/app/assets/assets.component.html - 21,25 - - - src/app/assets/assets.component.html - 46,50 - - Asset Issuer Domain header - - - Asset ID - - src/app/assets/assets.component.html - 22,25 - - - src/app/assets/assets.component.html - 47,50 - - Asset ID header - - - Error loading assets data. - - src/app/assets/assets.component.html - 63,71 - - Asset data load error - - - Assets - - src/app/assets/assets.component.ts - 40 - - - src/app/components/liquid-master-page/liquid-master-page.component.html - 44,46 - - - src/app/components/master-page/master-page.component.html - 58,61 + node_modules/src/toast/toast.ts + 106,109 @@ -412,11 +311,11 @@ src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19,20 + 22,23 src/app/components/mempool-blocks/mempool-blocks.component.html - 18,19 + 21,22 shared.transaction-count.singular @@ -436,11 +335,11 @@ src/app/components/blockchain-blocks/blockchain-blocks.component.html - 20,21 + 23,24 src/app/components/mempool-blocks/mempool-blocks.component.html - 19,20 + 22,23 shared.transaction-count.plural @@ -479,7 +378,7 @@ block.hash - + Timestamp src/app/bisq/bisq-block/bisq-block.component.html @@ -491,14 +390,33 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 34,37 + 34,36 + + + src/app/components/block/block.component.html + 55,57 + + + src/app/components/blocks-list/blocks-list.component.html + 13,15 + + + src/app/components/latest-blocks/latest-blocks.component.html + 10,12 + + + src/app/components/pool/pool.component.html + 213,215 + + + src/app/components/pool/pool.component.html + 261,263 src/app/components/transaction/transaction.component.html - 49,52 + 49,51 - Transaction Timestamp - transaction.timestamp + block.timestamp Previous hash @@ -532,23 +450,39 @@ Height src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,14 + 12,13 src/app/bisq/bisq-transactions/bisq-transactions.component.html 22,24 + + src/app/components/blocks-list/blocks-list.component.html + 11,12 + + + src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html + 5,7 + src/app/components/latest-blocks/latest-blocks.component.html 9,10 + + src/app/components/pool/pool.component.html + 212,214 + + + src/app/components/pool/pool.component.html + 260,262 + src/app/dashboard/dashboard.component.html - 91,93 + 112,113 Bisq block height header - + Confirmed src/app/bisq/bisq-blocks/bisq-blocks.component.html @@ -558,7 +492,12 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html 21,24 - Bisq block confirmed time header + + src/app/components/transaction/transaction.component.html + 65,66 + + Transaction Confirmed state + transaction.confirmed Transactions @@ -572,16 +511,12 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 33,36 + 34,36 src/app/components/latest-blocks/latest-blocks.component.html 12,16 - - src/app/components/master-page/master-page.component.html - 37,40 - src/app/components/mempool-block/mempool-block.component.html 28,32 @@ -596,23 +531,31 @@ src/app/components/bisq-master-page/bisq-master-page.component.html - 36,39 + 37,39 + + + src/app/components/blocks-list/blocks-list.component.html + 4,9 src/app/components/latest-blocks/latest-blocks.component.html 2,7 + + src/app/components/latest-blocks/latest-blocks.component.ts + 39 + src/app/components/liquid-master-page/liquid-master-page.component.html - 33,36 + 35,37 src/app/components/master-page/master-page.component.html - 40,43 + 38,40 - src/app/components/master-page/master-page.component.html - 48,51 + src/app/components/pool-ranking/pool-ranking.component.html + 88,90 @@ -741,8 +684,8 @@ bisq-dashboard.market-price-title - - View all » + + View more » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 92,97 @@ -752,32 +695,65 @@ 101,108 - src/app/dashboard/dashboard.component.html - 110,115 + src/app/components/mining-dashboard/mining-dashboard.component.html + 35 - dashboard.view-all + + src/app/components/mining-dashboard/mining-dashboard.component.html + 45 + + + src/app/components/mining-dashboard/mining-dashboard.component.html + 56 + + + src/app/components/mining-dashboard/mining-dashboard.component.html + 67 + + + src/app/dashboard/dashboard.component.html + 139,144 + + dashboard.view-more Terms of Service src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html - 111,118 + 111,113 src/app/components/about/about.component.html - 239,243 - - - src/app/components/docs/docs.component.html - 33 + 357,361 src/app/dashboard/dashboard.component.html - 152,154 + 181,183 + + + src/app/docs/docs/docs.component.html + 42 Terms of Service shared.terms-of-service + + Privacy Policy + + src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html + 113,120 + + + src/app/dashboard/dashboard.component.html + 183,185 + + + src/app/docs/docs/docs.component.html + 44 + + Privacy Policy + shared.privacy-policy + Buy Offers @@ -872,6 +848,22 @@ src/app/bisq/bisq-stats/bisq-stats.component.html 66 + + src/app/components/pool/pool.component.html + 39,40 + + + src/app/components/pool/pool.component.html + 63,65 + + + src/app/components/pool/pool.component.html + 338,340 + + + src/app/components/pool/pool.component.html + 349,352 + BSQ addresses @@ -921,11 +913,11 @@ src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20,22 + 20,21 src/app/dashboard/dashboard.component.html - 121,122 + 150,151 @@ -952,7 +944,7 @@ src/app/components/asset/asset.component.html - 54 + 47 Liquid Asset issued amount asset.issued-amount @@ -973,7 +965,7 @@ src/app/components/transactions-list/transactions-list.component.html - 211,213 + 239,241 @@ -1025,7 +1017,7 @@ src/app/components/transactions-list/transactions-list.component.html - 238,239 + 266,267 Transaction singular confirmation count shared.confirmation-count.singular @@ -1053,7 +1045,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,240 + 267,268 Transaction plural confirmation count shared.confirmation-count.plural @@ -1146,7 +1138,7 @@ src/app/components/transaction/transaction.component.ts - 133,132 + 114,113 @@ -1168,7 +1160,7 @@ src/app/dashboard/dashboard.component.html - 120,121 + 149,150 @@ -1309,34 +1301,18 @@ about.about-the-project - - Building a mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, without any advertising, altcoins, or third-party trackers. + + 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 + 13,17 - - Enterprise Sponsors 🚀 - - src/app/components/about/about.component.html - 35,38 - - about.sponsors.enterprise.withRocket - - - Community Sponsors ❤️ - - src/app/components/about/about.component.html - 65,68 - - about.sponsors.withHeart - Become a sponsor ❤️ src/app/components/about/about.component.html - 77,78 + 33,34 about.become-a-sponsor @@ -1344,35 +1320,67 @@ Navigate to https://mempool.space/sponsor to sponsor src/app/components/about/about.component.html - 78 + 34 src/app/components/sponsor/sponsor.component.html - 6 + 10 about.navigate-to-sponsor - - Community Integrations + + Enterprise Sponsors 🚀 src/app/components/about/about.component.html - 82,85 + 38,41 - about.integrations + about.sponsors.enterprise.withRocket + + + Community Sponsors ❤️ + + src/app/components/about/about.component.html + 159,162 + + about.sponsors.withHeart + + + Self-Hosted Integrations + + src/app/components/about/about.component.html + 173,175 + + about.self-hosted-integrations + + + Wallet Integrations + + src/app/components/about/about.component.html + 207,209 + + about.wallet-integrations Community Alliances src/app/components/about/about.component.html - 153,155 + 257,259 about.alliances + + Project Translators + + src/app/components/about/about.component.html + 273,275 + + about.translators + Project Contributors src/app/components/about/about.component.html - 169,171 + 287,289 about.contributors @@ -1380,7 +1388,7 @@ Project Members src/app/components/about/about.component.html - 181,183 + 299,301 about.project_members @@ -1388,7 +1396,7 @@ Project Maintainers src/app/components/about/about.component.html - 194,196 + 312,314 about.maintainers @@ -1396,45 +1404,21 @@ About src/app/components/about/about.component.ts - 37 + 39 src/app/components/bisq-master-page/bisq-master-page.component.html - 45,48 + 46,49 src/app/components/liquid-master-page/liquid-master-page.component.html - 50,53 + 52,55 src/app/components/master-page/master-page.component.html - 64,67 + 50,53 - - multisig of - - src/app/components/address-labels/address-labels.component.html - 5 - - address-labels.multisig - - - Lightning - - src/app/components/address-labels/address-labels.component.html - 11 - - address-labels.upper-layer-peg-out - - - Liquid - - src/app/components/address-labels/address-labels.component.html - 17 - - address-labels.upper-layer-peg-out - Unconfidential @@ -1468,9 +1452,8 @@ address.error.loading-address-data - - The number of transactions on this address exceeds the Electrum server limit Consider viewing this address on the official Mempool website instead: + + 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 137,140 @@ -1487,17 +1470,21 @@ src/app/components/amount/amount.component.html 6,9 + + src/app/components/asset-circulation/asset-circulation.component.html + 2,4 + src/app/components/asset/asset.component.html - 152 + 163 src/app/components/transactions-list/transactions-list.component.html - 247,249 + 274,276 src/app/dashboard/dashboard.component.html - 128,129 + 157,158 shared.confidential @@ -1517,14 +1504,21 @@ Liquid Asset page title asset - + Name src/app/components/asset/asset.component.html 23 - Liquid Asset name - asset.name + + src/app/components/assets/assets.component.html + 4,6 + + + src/app/components/assets/assets.component.html + 29,31 + + Asset name header Precision @@ -1557,7 +1551,7 @@ Pegged in src/app/components/asset/asset.component.html - 46 + 39 Liquid Asset pegged-in amount asset.pegged-in @@ -1566,7 +1560,7 @@ Pegged out src/app/components/asset/asset.component.html - 50 + 43 Liquid Asset pegged-out amount asset.pegged-out @@ -1575,7 +1569,7 @@ Burned amount src/app/components/asset/asset.component.html - 58 + 51 Liquid Asset burned amount asset.burned-amount @@ -1584,11 +1578,11 @@ Circulating amount src/app/components/asset/asset.component.html - 62 + 55 src/app/components/asset/asset.component.html - 66 + 59 Liquid Asset circulating amount asset.circulating-amount @@ -1621,7 +1615,7 @@ Error loading asset data. src/app/components/asset/asset.component.html - 141 + 152 asset.error.loading-asset-data @@ -1629,9 +1623,137 @@ Asset: src/app/components/asset/asset.component.ts - 73 + 75 + + Group of assets + + src/app/components/assets/asset-group/asset-group.component.html + 6,9 + + + + Group of assets + + src/app/components/assets/assets-featured/assets-featured.component.html + 9,10 + + + + Assets + + src/app/components/assets/assets-nav/assets-nav.component.html + 3 + + + src/app/components/assets/assets-nav/assets-nav.component.ts + 42 + + + src/app/components/assets/assets.component.ts + 44 + + + src/app/components/liquid-master-page/liquid-master-page.component.html + 46,48 + + Assets page header + + + Featured + + src/app/components/assets/assets-nav/assets-nav.component.html + 9 + + + + All + + src/app/components/assets/assets-nav/assets-nav.component.html + 13 + + + src/app/components/pool-ranking/pool-ranking.component.html + 64,70 + + + src/app/components/pool/pool.component.html + 149,151 + + + src/app/components/pool/pool.component.html + 172,174 + + + src/app/components/pool/pool.component.html + 429,431 + + + src/app/components/pool/pool.component.html + 455,457 + + + + Search asset + + src/app/components/assets/assets-nav/assets-nav.component.html + 19 + + Search Assets Placeholder Text + + + Clear + + src/app/components/assets/assets-nav/assets-nav.component.html + 21 + + Search Clear Button + + + Ticker + + src/app/components/assets/assets.component.html + 5,6 + + + src/app/components/assets/assets.component.html + 30,31 + + Asset ticker header + + + Issuer domain + + src/app/components/assets/assets.component.html + 6,9 + + + src/app/components/assets/assets.component.html + 31,34 + + Asset Issuer Domain header + + + Asset ID + + src/app/components/assets/assets.component.html + 7,10 + + + src/app/components/assets/assets.component.html + 32,36 + + Asset ID header + + + Error loading assets data. + + src/app/components/assets/assets.component.html + 48,53 + + Asset data load error + Offline @@ -1640,7 +1762,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 7,8 + 8,9 src/app/components/master-page/master-page.component.html @@ -1656,7 +1778,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 8,13 + 9,14 src/app/components/master-page/master-page.component.html @@ -1672,7 +1794,7 @@ src/app/components/liquid-master-page/liquid-master-page.component.html - 21,22 + 22,23 src/app/components/master-page/master-page.component.html @@ -1684,15 +1806,15 @@ Dashboard src/app/components/bisq-master-page/bisq-master-page.component.html - 30,32 + 31,33 src/app/components/liquid-master-page/liquid-master-page.component.html - 30,33 + 32,34 src/app/components/master-page/master-page.component.html - 33,35 + 32,34 master-page.dashboard @@ -1700,11 +1822,7 @@ Stats src/app/components/bisq-master-page/bisq-master-page.component.html - 39,42 - - - src/app/components/master-page/master-page.component.html - 43,47 + 40,42 master-page.stats @@ -1712,14 +1830,78 @@ Docs src/app/components/bisq-master-page/bisq-master-page.component.html - 42,45 + 43,45 src/app/components/liquid-master-page/liquid-master-page.component.html - 47,50 + 49,51 master-page.docs + + Block Fee Rates + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html + 5,7 + + + src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 14 + + mining.block-fee-rates + + + Block Fees + + src/app/components/block-fees-graph/block-fees-graph.component.html + 5,7 + + + src/app/components/block-fees-graph/block-fees-graph.component.ts + 58 + + + src/app/components/graphs/graphs.component.html + 16 + + mining.block-fees + + + Block Rewards + + src/app/components/block-rewards-graph/block-rewards-graph.component.html + 6,8 + + + src/app/components/block-rewards-graph/block-rewards-graph.component.ts + 56 + + + src/app/components/graphs/graphs.component.html + 18 + + mining.block-rewards + + + Block Sizes and Weights + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html + 4,6 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 65 + + + src/app/components/graphs/graphs.component.html + 20 + + mining.block-sizes-weights + Next Block @@ -1730,6 +1912,10 @@ src/app/components/block/block.component.html 19,20 + + src/app/components/mempool-block/mempool-block.component.ts + 71 + Next Block @@ -1740,24 +1926,16 @@ Previous Block - - Timestamp - - src/app/components/block/block.component.html - 55,57 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 - - block.timestamp - Size src/app/components/block/block.component.html 64,66 + + src/app/components/blocks-list/blocks-list.component.html + 18,20 + src/app/components/latest-blocks/latest-blocks.component.html 13,16 @@ -1768,11 +1946,23 @@ src/app/components/mempool-graph/mempool-graph.component.ts - 257 + 260 + + + src/app/components/pool/pool.component.html + 219,222 + + + src/app/components/pool/pool.component.html + 267,271 + + + src/app/components/transaction/transaction.component.html + 212,214 src/app/dashboard/dashboard.component.html - 94,97 + 116,119 block.size @@ -1782,6 +1972,10 @@ src/app/components/block/block.component.html 68,70 + + src/app/components/transaction/transaction.component.html + 220,222 + block.weight @@ -1808,7 +2002,7 @@ src/app/components/blockchain-blocks/blockchain-blocks.component.html - 14,16 + 14,17 src/app/components/fees-box/fees-box.component.html @@ -1836,7 +2030,7 @@ src/app/components/mempool-blocks/mempool-blocks.component.html - 13,15 + 13,16 src/app/components/transaction/transaction.component.html @@ -1856,15 +2050,15 @@ src/app/components/transactions-list/transactions-list.component.html - 231 + 259 src/app/dashboard/dashboard.component.html - 130,134 + 159,163 src/app/dashboard/dashboard.component.html - 185,189 + 235,239 sat/vB shared.sat-vbyte @@ -1903,6 +2097,10 @@ src/app/components/block/block.component.html 98,100 + + src/app/components/mempool-block/mempool-block.component.html + 24,25 + Total fees in a block block.total-fees @@ -1949,6 +2147,18 @@ src/app/components/block/block.component.html 143,146 + + src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html + 7,10 + + + src/app/components/hashrate-chart/hashrate-chart.component.html + 14,16 + + + src/app/components/hashrate-chart/hashrate-chart.component.html + 73,75 + block.difficulty @@ -1971,7 +2181,7 @@ Details src/app/components/block/block.component.html - 162,167 + 162,166 src/app/components/transaction/transaction.component.html @@ -1992,9 +2202,105 @@ Block : src/app/components/block/block.component.ts - 141 + 146 + + Pool + + src/app/components/blocks-list/blocks-list.component.html + 12,13 + + + src/app/components/pool-ranking/pool-ranking.component.html + 86,87 + + + src/app/dashboard/dashboard.component.html + 114,115 + + mining.pool-name + + + Mined + + src/app/components/blocks-list/blocks-list.component.html + 14,15 + + + src/app/components/latest-blocks/latest-blocks.component.html + 11,12 + + + src/app/components/pool/pool.component.html + 214,215 + + + src/app/components/pool/pool.component.html + 262,263 + + + src/app/dashboard/dashboard.component.html + 113,114 + + latest-blocks.mined + + + Reward + + src/app/components/blocks-list/blocks-list.component.html + 15,17 + + + src/app/components/pool/pool.component.html + 216,218 + + + src/app/components/pool/pool.component.html + 264,266 + + latest-blocks.reward + + + Fees + + src/app/components/blocks-list/blocks-list.component.html + 16,17 + + + src/app/components/pool/pool.component.html + 217,219 + + + src/app/components/pool/pool.component.html + 265,267 + + latest-blocks.fees + + + TXs + + src/app/components/blocks-list/blocks-list.component.html + 18,19 + + + src/app/components/pool/pool.component.html + 219,221 + + + src/app/components/pool/pool.component.html + 267,269 + + + src/app/dashboard/dashboard.component.html + 116,117 + + + src/app/dashboard/dashboard.component.html + 241,245 + + dashboard.txs + Copied! @@ -2002,795 +2308,123 @@ 15 - - API service + + Adjusted - src/app/components/docs/api-docs.component.html - 12,14 + src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html + 6,8 - api-docs.title + mining.adjusted - - Endpoint + + Change - src/app/components/docs/api-docs.component.html - 32,33 + src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html + 8,11 - - src/app/components/docs/api-docs.component.html - 49,50 - - - src/app/components/docs/api-docs.component.html - 62,63 - - - src/app/components/docs/api-docs.component.html - 75,76 - - - src/app/components/docs/api-docs.component.html - 88,89 - - - src/app/components/docs/api-docs.component.html - 101,102 - - - src/app/components/docs/api-docs.component.html - 114,115 - - - src/app/components/docs/api-docs.component.html - 127,128 - - - src/app/components/docs/api-docs.component.html - 140,141 - - - src/app/components/docs/api-docs.component.html - 157,158 - - - src/app/components/docs/api-docs.component.html - 174,175 - - - src/app/components/docs/api-docs.component.html - 187,188 - - - src/app/components/docs/api-docs.component.html - 200,201 - - - src/app/components/docs/api-docs.component.html - 213,214 - - - src/app/components/docs/api-docs.component.html - 226,227 - - - src/app/components/docs/api-docs.component.html - 243,244 - - - src/app/components/docs/api-docs.component.html - 268,269 - - - src/app/components/docs/api-docs.component.html - 285,286 - - - src/app/components/docs/api-docs.component.html - 298,299 - - - src/app/components/docs/api-docs.component.html - 311,312 - - - src/app/components/docs/api-docs.component.html - 324,325 - - - src/app/components/docs/api-docs.component.html - 337,338 - - - src/app/components/docs/api-docs.component.html - 350,351 - - - src/app/components/docs/api-docs.component.html - 363,364 - - - src/app/components/docs/api-docs.component.html - 376,377 - - - src/app/components/docs/api-docs.component.html - 389,390 - - - src/app/components/docs/api-docs.component.html - 402,403 - - - src/app/components/docs/api-docs.component.html - 415,416 - - - src/app/components/docs/api-docs.component.html - 428,429 - - - src/app/components/docs/api-docs.component.html - 445,446 - - - src/app/components/docs/api-docs.component.html - 458,459 - - - src/app/components/docs/api-docs.component.html - 475,476 - - - src/app/components/docs/api-docs.component.html - 488,489 - - - src/app/components/docs/api-docs.component.html - 501,502 - - - src/app/components/docs/api-docs.component.html - 518,519 - - - src/app/components/docs/api-docs.component.html - 531,532 - - - src/app/components/docs/api-docs.component.html - 544,545 - - - src/app/components/docs/api-docs.component.html - 557,558 - - - src/app/components/docs/api-docs.component.html - 570,571 - - - src/app/components/docs/api-docs.component.html - 583,584 - - - src/app/components/docs/api-docs.component.html - 596,597 - - - src/app/components/docs/api-docs.component.html - 609,610 - - - src/app/components/docs/api-docs.component.html - 622,623 - - - src/app/components/docs/api-docs.component.html - 635,636 - - - src/app/components/docs/api-docs.component.html - 648,651 - - - src/app/components/docs/api-docs.component.html - 666,669 - - Api docs endpoint + mining.change - - Description + + Difficulty Adjustment - src/app/components/docs/api-docs.component.html - 36,37 + src/app/components/difficulty/difficulty.component.html + 1,5 - src/app/components/docs/api-docs.component.html + src/app/components/mining-dashboard/mining-dashboard.component.html + 24 + + dashboard.difficulty-adjustment + + + Remaining + + src/app/components/difficulty/difficulty.component.html + 7,9 + + + src/app/components/difficulty/difficulty.component.html + 66,69 + + difficulty-box.remaining + + + blocks + + src/app/components/difficulty/difficulty.component.html + 10,11 + + + src/app/components/difficulty/difficulty.component.html 53,54 - src/app/components/docs/api-docs.component.html - 66,67 + src/app/components/footer/footer.component.html + 25,26 - src/app/components/docs/api-docs.component.html - 79,80 - - - src/app/components/docs/api-docs.component.html - 92,94 - - - src/app/components/docs/api-docs.component.html - 105,106 - - - src/app/components/docs/api-docs.component.html - 118,119 - - - src/app/components/docs/api-docs.component.html - 131,132 - - - src/app/components/docs/api-docs.component.html - 144,145 - - - src/app/components/docs/api-docs.component.html - 161,162 - - - src/app/components/docs/api-docs.component.html - 178,179 - - - src/app/components/docs/api-docs.component.html - 191,192 - - - src/app/components/docs/api-docs.component.html - 204,205 - - - src/app/components/docs/api-docs.component.html - 217,218 - - - src/app/components/docs/api-docs.component.html - 230,231 - - - src/app/components/docs/api-docs.component.html - 247,248 - - - src/app/components/docs/api-docs.component.html - 259,260 - - - src/app/components/docs/api-docs.component.html - 272,273 - - - src/app/components/docs/api-docs.component.html - 289,290 - - - src/app/components/docs/api-docs.component.html - 302,303 - - - src/app/components/docs/api-docs.component.html - 315,316 - - - src/app/components/docs/api-docs.component.html - 328,329 - - - src/app/components/docs/api-docs.component.html - 341,342 - - - src/app/components/docs/api-docs.component.html - 354,355 - - - src/app/components/docs/api-docs.component.html - 367,369 - - - src/app/components/docs/api-docs.component.html - 380,381 - - - src/app/components/docs/api-docs.component.html - 393,394 - - - src/app/components/docs/api-docs.component.html - 406,407 - - - src/app/components/docs/api-docs.component.html - 419,420 - - - src/app/components/docs/api-docs.component.html - 432,433 - - - src/app/components/docs/api-docs.component.html - 449,450 - - - src/app/components/docs/api-docs.component.html - 462,463 - - - src/app/components/docs/api-docs.component.html - 479,480 - - - src/app/components/docs/api-docs.component.html - 492,493 - - - src/app/components/docs/api-docs.component.html - 505,506 - - - src/app/components/docs/api-docs.component.html - 522,523 - - - src/app/components/docs/api-docs.component.html - 535,536 - - - src/app/components/docs/api-docs.component.html - 548,549 - - - src/app/components/docs/api-docs.component.html - 561,562 - - - src/app/components/docs/api-docs.component.html - 574,575 - - - src/app/components/docs/api-docs.component.html - 587,588 - - - src/app/components/docs/api-docs.component.html - 600,601 - - - src/app/components/docs/api-docs.component.html - 613,614 - - - src/app/components/docs/api-docs.component.html - 626,627 - - - src/app/components/docs/api-docs.component.html - 639,640 - - - src/app/components/docs/api-docs.component.html - 652,653 - - - src/app/components/docs/api-docs.component.html - 670,671 + src/app/components/mempool-blocks/mempool-blocks.component.html + 35,36 + shared.blocks - - Returns details about difficulty adjustment. + + block - src/app/components/docs/api-docs.component.html - 37,39 + src/app/components/difficulty/difficulty.component.html + 11,12 + + src/app/components/difficulty/difficulty.component.html + 54,55 + + + src/app/components/footer/footer.component.html + 26,27 + + shared.block - - Provides list of available currencies for a given base currency. + + Estimate - src/app/components/docs/api-docs.component.html - 54,56 + src/app/components/difficulty/difficulty.component.html + 16,17 + + src/app/components/difficulty/difficulty.component.html + 73,76 + + difficulty-box.estimate - - Provides list of open offer prices for a single market. + + Previous - src/app/components/docs/api-docs.component.html - 67,69 + src/app/components/difficulty/difficulty.component.html + 31,33 + difficulty-box.previous - - Provides hi/low/open/close data for a given market. This can be used to generate a candlestick chart. + + Current Period - src/app/components/docs/api-docs.component.html - 80,82 + src/app/components/difficulty/difficulty.component.html + 43,44 + + src/app/components/difficulty/difficulty.component.html + 80,83 + + difficulty-box.current-period - - Provides list of available markets. + + Next Halving - src/app/components/docs/api-docs.component.html - 93,95 + src/app/components/difficulty/difficulty.component.html + 50,52 - - - Provides list of open offer details for a single market. - - src/app/components/docs/api-docs.component.html - 106,108 - - - - Provides 24 hour price ticker for single market or all markets - - src/app/components/docs/api-docs.component.html - 119,121 - - - - Provides list of completed trades for a single market. - - src/app/components/docs/api-docs.component.html - 132,134 - - - - Provides periodic volume data in terms of base currency for one or all markets. - - src/app/components/docs/api-docs.component.html - 145,147 - - - - Returns statistics about all Bisq transactions. - - src/app/components/docs/api-docs.component.html - 162,164 - - - - Returns details about an address. Available fields: address, chain_stats, and mempool_stats. chain,mempool_stats each contain an object with tx_count, funded_txo_count, funded_txo_sum, spent_txo_count, and spent_txo_sum. - - src/app/components/docs/api-docs.component.html - 179,180 - - - - Get transaction history for the specified address/scripthash, sorted with newest first. Returns up to 50 mempool transactions plus the first 25 confirmed transactions. You can request more confirmed transactions using :last_seen_txid (see below). - - src/app/components/docs/api-docs.component.html - 192,193 - - - - Get confirmed transaction history for the specified address/scripthash, sorted with newest first. Returns 25 transactions per page. More can be requested by specifying the last txid seen by the previous query. - - src/app/components/docs/api-docs.component.html - 205,207 - - - - Get unconfirmed transaction history for the specified address/scripthash. Returns up to 50 transactions (no paging). - - src/app/components/docs/api-docs.component.html - 218,220 - - - - Get the list of unspent transaction outputs associated with the address/scripthash. Available fields: txid, vout, value, and status (with the status of the funding tx).There is also a valuecommitment field that may appear in place of value, plus the following additional fields: asset/assetcommitment, nonce/noncecommitment, surjection_proof, and range_proof. - - src/app/components/docs/api-docs.component.html - 231,233 - - - - Returns information about a Liquid asset. - - src/app/components/docs/api-docs.component.html - 248,250 - - - - Returns transactions associated with the specified Liquid asset. For the network's native asset, returns a list of peg in, peg out, and burn transactions. For user-issued assets, returns a list of issuance, reissuance, and burn transactions. Does not include regular transactions transferring this asset. - - src/app/components/docs/api-docs.component.html - 260,262 - - - - Get the current total supply of the specified asset. For the native asset (L-BTC), this is calculated as [chain,mempool]_stats.peg_in_amount - [chain,mempool]_stats.peg_out_amount - [chain,mempool]_stats.burned_amount. For issued assets, this is calculated as [chain,mempool]_stats.issued_amount - [chain,mempool]_stats.burned_amount. Not available for assets with blinded issuances. If /decimal is specified, returns the supply as a decimal according to the asset's divisibility. Otherwise, returned in base units. - - src/app/components/docs/api-docs.component.html - 273,275 - - - - Returns details about a block. Available fields: id, height, version, timestamp, bits, nonce, merkle_root, tx_count, size, weight,proof, and previousblockhash. - - src/app/components/docs/api-docs.component.html - 290,291 - - - - Returns the hex-encoded block header. - - src/app/components/docs/api-docs.component.html - 303,305 - - - - Returns the hash of the block currently at :height. - - src/app/components/docs/api-docs.component.html - 316,317 - - - - Returns the raw block representation in binary. - - src/app/components/docs/api-docs.component.html - 329,331 - - - - Returns the confirmation status of a block. Available fields: in_best_chain (boolean, false for orphaned blocks), next_best (the hash of the next block, only available for blocks in the best chain). - - src/app/components/docs/api-docs.component.html - 342,343 - - - - Returns the height of the last block. - - src/app/components/docs/api-docs.component.html - 355,357 - - - - Returns the hash of the last block. - - src/app/components/docs/api-docs.component.html - 368,370 - - - - Returns the transaction at index :index within the specified block. - - src/app/components/docs/api-docs.component.html - 381,382 - - - - Returns a list of all txids in the block. - - src/app/components/docs/api-docs.component.html - 394,396 - - - - Returns a list of transactions in the block (up to 25 transactions beginning at start_index). Transactions returned here do not have the status field, since all the transactions share the same block and confirmation status. - - src/app/components/docs/api-docs.component.html - 407,408 - - - - Returns the 10 newest blocks starting at the tip or at :start_height if specified. - - src/app/components/docs/api-docs.component.html - 420,421 - - - src/app/components/docs/api-docs.component.html - 433,434 - - - - Returns current mempool as projected blocks. - - src/app/components/docs/api-docs.component.html - 450,452 - - API Docs for /api/v1/fees/mempool-blocks - api-docs.fees.mempool-blocks - - - Returns our currently suggested fees for new transactions. - - src/app/components/docs/api-docs.component.html - 463,465 - - API Docs for /api/v1/fees/recommended - api-docs.fees.recommended - - - Returns current mempool backlog statistics. - - src/app/components/docs/api-docs.component.html - 480,482 - - API Docs for /api/mempool - api-docs.mempool.mempool - - - Get the full list of txids in the mempool as an array. The order of the txids is arbitrary and does not match bitcoind. - - src/app/components/docs/api-docs.component.html - 493,495 - - API Docs for /api/mempool/txids - api-docs.mempool.txids - - - Get a list of the last 10 transactions to enter the mempool. Each transaction object contains simplified overview data, with the following fields: txid, fee, vsize, and value. - - src/app/components/docs/api-docs.component.html - 506,507 - - API Docs for /api/mempool/recent - api-docs.mempool.recent - - - Returns the ancestors and the best descendant fees for a transaction. - - src/app/components/docs/api-docs.component.html - 523,525 - - API Docs for /api/v1/fees/cpfp - api-docs.fees.cpfp - - - Returns details about a transaction. Available fields: txid, version, locktime, size, weight, fee, vin, vout, and status. - - src/app/components/docs/api-docs.component.html - 536,537 - - - - Returns a transaction serialized as hex. - - src/app/components/docs/api-docs.component.html - 549,551 - - - - Returns a merkle inclusion proof for the transaction using bitcoind's merkleblock format. - - src/app/components/docs/api-docs.component.html - 562,563 - - - - Returns a merkle inclusion proof for the transaction using Electrum's blockchain.transaction.get_merkle format. - - src/app/components/docs/api-docs.component.html - 575,576 - - - - Returns the spending status of a transaction output. Available fields: spent (boolean), txid (optional), vin (optional), and status (optional, the status of the spending tx). - - src/app/components/docs/api-docs.component.html - 588,589 - - - - Returns the spending status of all transaction outputs. - - src/app/components/docs/api-docs.component.html - 601,603 - - - - Returns a transaction as binary data. - - src/app/components/docs/api-docs.component.html - 614,616 - - - - Returns the confirmation status of a transaction. Available fields: confirmed (boolean), block_height (optional), and block_hash (optional). - - src/app/components/docs/api-docs.component.html - 627,628 - - - - Returns :length of latest Bisq transactions, starting from :index. - - src/app/components/docs/api-docs.component.html - 640,642 - - - - Broadcast a raw transaction to the network. The transaction should be provided as hex in the request body. The txid will be returned on success. - - src/app/components/docs/api-docs.component.html - 653,654 - - - - 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/components/docs/api-docs.component.html - 671,672 - - api-docs.websocket.websocket - - - API - - src/app/components/docs/api-docs.component.ts - 42 - - - - Code Example - - src/app/components/docs/code-template.component.html - 6,7 - - - src/app/components/docs/code-template.component.html - 13,14 - - - src/app/components/docs/code-template.component.html - 29,30 - - API Docs code example - - - Install Package - - src/app/components/docs/code-template.component.html - 23,24 - - API Docs install lib - - - Response - - src/app/components/docs/code-template.component.html - 36,37 - - API Docs API response - - - Documentation - - src/app/components/docs/docs.component.html - 4 - - - src/app/components/master-page/master-page.component.html - 61,64 - - documentation.title - - - Privacy Policy - - src/app/components/docs/docs.component.html - 35 - - - src/app/dashboard/dashboard.component.html - 154,156 - - Privacy Policy - shared.privacy-policy + difficulty-box.next-halving Low priority @@ -2828,23 +2462,27 @@ fees-box.high-priority - - Tx vBytes per second: + + Incoming transactions src/app/components/footer/footer.component.html - 5,7 + 5,6 - footer.tx-vbytes-per-second + + src/app/dashboard/dashboard.component.html + 268,269 + + dashboard.incoming-transactions Backend is synchronizing src/app/components/footer/footer.component.html - 7,11 + 8,10 src/app/dashboard/dashboard.component.html - 221,224 + 271,274 dashboard.backend-is-synchronizing @@ -2852,11 +2490,11 @@ vB/s src/app/components/footer/footer.component.html - 11,16 + 13,17 src/app/dashboard/dashboard.component.html - 226,232 + 276,281 vB/s shared.vbytes-per-second @@ -2865,11 +2503,11 @@ Unconfirmed src/app/components/footer/footer.component.html - 16,18 + 19,21 src/app/dashboard/dashboard.component.html - 189,190 + 239,240 Unconfirmed count dashboard.unconfirmed @@ -2878,89 +2516,159 @@ Mempool size src/app/components/footer/footer.component.html - 20,21 + 23,24 Mempool size dashboard.mempool-size - - blocks + + Mining - src/app/components/footer/footer.component.html - 22,23 + src/app/components/graphs/graphs.component.html + 5 - - src/app/components/mempool-blocks/mempool-blocks.component.html - 32,33 - - - src/app/dashboard/dashboard.component.html - 242,243 - - shared.blocks + mining - - block + + Pools Ranking - src/app/components/footer/footer.component.html - 23,24 + src/app/components/graphs/graphs.component.html + 8 - src/app/dashboard/dashboard.component.html - 243,244 + src/app/components/pool-ranking/pool-ranking.component.html + 29,31 - shared.block + mining.pools - - Mined + + Pools Dominance - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 + src/app/components/graphs/graphs.component.html + 10 - src/app/dashboard/dashboard.component.html - 92,93 + src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html + 6,8 - latest-blocks.mined + + src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html + 10,11 + + mining.pools-dominance - - Blocks + + Hashrate & Difficulty - src/app/components/latest-blocks/latest-blocks.component.ts - 39 + src/app/components/graphs/graphs.component.html + 12 + + + src/app/components/hashrate-chart/hashrate-chart.component.html + 23,25 + + + src/app/components/hashrate-chart/hashrate-chart.component.ts + 67 + + mining.hashrate-difficulty + + + Hashrate + + src/app/components/hashrate-chart/hashrate-chart.component.html + 8,10 + + + src/app/components/hashrate-chart/hashrate-chart.component.html + 67,69 + + + src/app/components/pool-ranking/pool-ranking.component.html + 87,89 + + mining.hashrate + + + Pools Historical Dominance + + src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts + 63 + + + + Indexing blocks + + src/app/components/indexing-progress/indexing-progress.component.html + 1 + + + + Indexing network hashrate + + src/app/components/indexing-progress/indexing-progress.component.html + 2 + + + + Indexing pools hashrate + + src/app/components/indexing-progress/indexing-progress.component.html + 3 Graphs src/app/components/liquid-master-page/liquid-master-page.component.html - 36,39 + 38,41 src/app/components/master-page/master-page.component.html - 51,53 + 41,43 src/app/components/statistics/statistics.component.ts - 58 + 62 master-page.graphs + + Mining Dashboard + + src/app/components/master-page/master-page.component.html + 35,37 + + + src/app/components/mining-dashboard/mining-dashboard.component.ts + 16 + + mining.mining-dashboard + TV view src/app/components/master-page/master-page.component.html - 54,57 + 44,46 src/app/components/television/television.component.ts - 27 + 37 master-page.tvview + + Documentation + + src/app/components/master-page/master-page.component.html + 47,49 + + + src/app/docs/docs/docs.component.html + 4 + + documentation.title + Fee span @@ -2969,21 +2677,6 @@ mempool-block.fee-span - - Total fees - - src/app/components/mempool-block/mempool-block.component.html - 24,25 - - mempool-block.total-fees - - - Next block - - src/app/components/mempool-block/mempool-block.component.ts - 71 - - Stack of mempool blocks @@ -3002,14 +2695,14 @@ Range src/app/components/mempool-graph/mempool-graph.component.ts - 256 + 259 Sum src/app/components/mempool-graph/mempool-graph.component.ts - 258 + 261 @@ -3024,16 +2717,304 @@ Identified by payout address: '' src/app/components/miner/miner.component.ts - 42 + 52 Identified by coinbase tag: '' src/app/components/miner/miner.component.ts - 52 + 69 + + Reward stats + + src/app/components/mining-dashboard/mining-dashboard.component.html + 10 + + mining.reward-stats + + + (144 blocks) + + src/app/components/mining-dashboard/mining-dashboard.component.html + 11 + + mining.144-blocks + + + Latest blocks + + src/app/components/mining-dashboard/mining-dashboard.component.html + 54 + + + src/app/dashboard/dashboard.component.html + 109,112 + + dashboard.latest-blocks + + + Adjustments + + src/app/components/mining-dashboard/mining-dashboard.component.html + 65 + + dashboard.adjustments + + + Pools Luck (1w) + + src/app/components/pool-ranking/pool-ranking.component.html + 8,12 + + + src/app/components/pool-ranking/pool-ranking.component.html + 123,125 + + mining.miners-luck + + + Blocks (1w) + + src/app/components/pool-ranking/pool-ranking.component.html + 14,18 + + + src/app/components/pool-ranking/pool-ranking.component.html + 129,131 + + master-page.blocks + + + Pools Count (1w) + + src/app/components/pool-ranking/pool-ranking.component.html + 20,24 + + + src/app/components/pool-ranking/pool-ranking.component.html + 135,137 + + mining.miners-count + + + Rank + + src/app/components/pool-ranking/pool-ranking.component.html + 84,86 + + mining.rank + + + Empty blocks + + src/app/components/pool-ranking/pool-ranking.component.html + 89,92 + + mining.empty-blocks + + + All miners + + src/app/components/pool-ranking/pool-ranking.component.html + 106,107 + + mining.all-miners + + + Mining Pools + + src/app/components/pool-ranking/pool-ranking.component.ts + 55 + + + + Tags + + src/app/components/pool/pool.component.html + 22,23 + + + src/app/components/pool/pool.component.html + 30,31 + + + src/app/components/pool/pool.component.html + 321,323 + + + src/app/components/pool/pool.component.html + 329,331 + + mining.tags + + + Show all + + src/app/components/pool/pool.component.html + 53,55 + + + src/app/components/pool/pool.component.html + 68,70 + + + src/app/components/transactions-list/transactions-list.component.html + 141,144 + + + src/app/components/transactions-list/transactions-list.component.html + 249,251 + + show-all + + + Hide + + src/app/components/pool/pool.component.html + 55,58 + + hide + + + Hashrate (24h) + + src/app/components/pool/pool.component.html + 91,93 + + + src/app/components/pool/pool.component.html + 114,116 + + + src/app/components/pool/pool.component.html + 368,370 + + + src/app/components/pool/pool.component.html + 395,397 + + mining.hashrate-24h + + + Estimated + + src/app/components/pool/pool.component.html + 96,97 + + + src/app/components/pool/pool.component.html + 118,119 + + + src/app/components/pool/pool.component.html + 373,374 + + + src/app/components/pool/pool.component.html + 399,400 + + 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 + 374,375 + + + src/app/components/pool/pool.component.html + 400,401 + + 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 + 375,378 + + + src/app/components/pool/pool.component.html + 401,404 + + 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 + 421,423 + + + src/app/components/pool/pool.component.html + 448,450 + + mining.mined-blocks + + + 24h + + src/app/components/pool/pool.component.html + 147 + + + src/app/components/pool/pool.component.html + 170 + + 24h + + + 1w + + src/app/components/pool/pool.component.html + 148 + + + src/app/components/pool/pool.component.html + 171 + + 1w + + + Coinbase tag + + src/app/components/pool/pool.component.html + 215,217 + + + src/app/components/pool/pool.component.html + 263,265 + + latest-blocks.coinbasetag + Broadcast Transaction @@ -3046,13 +3027,13 @@ src/app/dashboard/dashboard.component.html - 156,162 + 185,192 Broadcast Transaction shared.broadcast-transaction - - Transaction Hex + + Transaction hex src/app/components/push-transaction/push-transaction.component.html 6 @@ -3063,6 +3044,75 @@ transaction.hex + + Miners Reward + + src/app/components/reward-stats/reward-stats.component.html + 4,6 + + + src/app/components/reward-stats/reward-stats.component.html + 46,49 + + mining.rewards + + + Amount being paid to miners in the past 144 blocks + + src/app/components/reward-stats/reward-stats.component.html + 6,8 + + mining.rewards-desc + + + Reward Per Tx + + src/app/components/reward-stats/reward-stats.component.html + 16,18 + + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + + 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 + + + Average miners' reward per transaction in the past 144 blocks + + src/app/components/reward-stats/reward-stats.component.html + 18,20 + + mining.rewards-per-tx-desc + + + sats/tx + + src/app/components/reward-stats/reward-stats.component.html + 21,24 + + + src/app/components/reward-stats/reward-stats.component.html + 33,36 + + sat/vB + shared.sat-vbyte + + + Fee paid on average for each transaction in the past 144 blocks + + src/app/components/reward-stats/reward-stats.component.html + 31,32 + + mining.average-fee + TXID, block height, hash or address @@ -3083,7 +3133,7 @@ Sponsor src/app/components/sponsor/sponsor.component.html - 3 + 7 src/app/components/sponsor/sponsor.component.ts @@ -3095,7 +3145,7 @@ Request invoice src/app/components/sponsor/sponsor.component.html - 49 + 53 about.sponsor.request-invoice @@ -3103,7 +3153,7 @@ Waiting for transaction... src/app/components/sponsor/sponsor.component.html - 138 + 142 about.sponsor.waiting-for-transaction @@ -3111,7 +3161,7 @@ Donation confirmed! src/app/components/sponsor/sponsor.component.html - 144 + 148 about.sponsor.donation-confirmed @@ -3119,7 +3169,7 @@ Thank you! src/app/components/sponsor/sponsor.component.html - 145 + 149 about.sponsor.thank-you @@ -3127,7 +3177,7 @@ Mempool by vBytes (sat/vByte) src/app/components/statistics/statistics.component.html - 6 + 7 statistics.memory-by-vBytes @@ -3135,7 +3185,7 @@ Filter src/app/components/statistics/statistics.component.html - 40 + 49 statistics.component-filter.title @@ -3143,7 +3193,7 @@ Invert src/app/components/statistics/statistics.component.html - 62 + 68 statistics.component-invert.title @@ -3151,7 +3201,7 @@ Transaction vBytes per second (vB/s) src/app/components/statistics/statistics.component.html - 87 + 88 statistics.transaction-vbytes-per-second @@ -3364,20 +3414,11 @@ src/app/components/transactions-list/transactions-list.component.html - 242,246 + 270,273 Transaction unconfirmed state transaction.unconfirmed - - Confirmed - - src/app/components/transaction/transaction.component.html - 65,66 - - Transaction Confirmed state - transaction.confirmed - First seen @@ -3449,24 +3490,6 @@ Transaction Ancestor transaction.ancestor - - Size - - src/app/components/transaction/transaction.component.html - 212,215 - - Transaction Size - transaction.size - - - Weight - - src/app/components/transaction/transaction.component.html - 220,223 - - Transaction Weight - transaction.weight - Locktime @@ -3500,14 +3523,18 @@ Transaction fee transaction.fee - + sat src/app/components/transaction/transaction.component.html - 386,389 + 386,387 - Transaction Fee sat - transaction.fee.sat + + src/app/components/transactions-list/transactions-list.component.html + 259,260 + + sat + shared.sat Effective fee rate @@ -3522,7 +3549,7 @@ Coinbase src/app/components/transactions-list/transactions-list.component.html - 51 + 54 transactions-list.coinbase @@ -3530,7 +3557,7 @@ (Newly Generated Coins) src/app/components/transactions-list/transactions-list.component.html - 51 + 54 transactions-list.newly-generated-coins @@ -3538,7 +3565,7 @@ Peg-in src/app/components/transactions-list/transactions-list.component.html - 53,55 + 56,58 transactions-list.peg-in @@ -3546,7 +3573,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 86,88 + 97,99 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3555,7 +3582,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 90,93 + 101,104 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3564,7 +3591,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 95,97 + 106,108 transactions-list.witness @@ -3572,15 +3599,23 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 99,100 + 110,111 transactions-list.p2sh-redeem-script + + P2TR tapscript + + src/app/components/transactions-list/transactions-list.component.html + 114,116 + + transactions-list.p2tr-tapscript + P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 103,104 + 116,118 transactions-list.p2wsh-witness-script @@ -3588,7 +3623,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 107,109 + 121,123 transactions-list.nsequence @@ -3596,7 +3631,7 @@ Previous output script src/app/components/transactions-list/transactions-list.component.html - 112,113 + 126,127 transactions-list.previous-output-script @@ -3604,27 +3639,15 @@ Previous output type src/app/components/transactions-list/transactions-list.component.html - 116,117 + 130,131 transactions-list.previous-output-type - - Load all - - src/app/components/transactions-list/transactions-list.component.html - 127,130 - - - src/app/components/transactions-list/transactions-list.component.html - 221,224 - - transactions-list.load-all - Peg-out to src/app/components/transactions-list/transactions-list.component.html - 146,147 + 166,167 transactions-list.peg-out-to @@ -3632,7 +3655,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 199,201 + 227,229 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3641,28 +3664,11 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 203,206 + 231,234 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex - - data - - src/app/components/transactions-list/transactions-list.component.html - 207,209 - - transactions-list.vout.scriptpubkey-type.data - - - sat - - src/app/components/transactions-list/transactions-list.component.html - 231,232 - - sat - shared.sat - This transaction saved % on fees by using native SegWit-Bech32 @@ -3791,35 +3797,15 @@ src/app/dashboard/dashboard.component.html - 33,36 + 34,37 fees-box.transaction-fees - - Latest blocks - - src/app/dashboard/dashboard.component.html - 88,91 - - dashboard.latest-blocks - - - TXs - - src/app/dashboard/dashboard.component.html - 94,95 - - - src/app/dashboard/dashboard.component.html - 191,195 - - dashboard.latest-blocks.transaction-count - Latest transactions src/app/dashboard/dashboard.component.html - 117,120 + 146,149 dashboard.latest-transactions @@ -3827,7 +3813,7 @@ USD src/app/dashboard/dashboard.component.html - 123,124 + 152,153 dashboard.latest-transactions.USD @@ -3835,7 +3821,7 @@ Fee src/app/dashboard/dashboard.component.html - 124,126 + 153,155 dashboard.latest-transactions.fee @@ -3843,7 +3829,7 @@ Expand src/app/dashboard/dashboard.component.html - 144,145 + 173,174 dashboard.expand @@ -3851,7 +3837,7 @@ Collapse src/app/dashboard/dashboard.component.html - 145,151 + 174,180 dashboard.collapse @@ -3859,7 +3845,7 @@ Minimum fee src/app/dashboard/dashboard.component.html - 182,183 + 232,233 Minimum mempool fee dashboard.minimum-fee @@ -3868,7 +3854,7 @@ Purging src/app/dashboard/dashboard.component.html - 183,184 + 233,234 Purgin below fee dashboard.purging @@ -3877,7 +3863,7 @@ Memory usage src/app/dashboard/dashboard.component.html - 195,196 + 245,246 Memory usage dashboard.memory-usage @@ -3886,69 +3872,87 @@ L-BTC in circulation src/app/dashboard/dashboard.component.html - 209,211 + 259,261 dashboard.lbtc-pegs-in-circulation - - Incoming transactions + + API service - src/app/dashboard/dashboard.component.html - 218,219 + src/app/docs/api-docs/api-docs.component.html + 37,39 - dashboard.incoming-transactions + api-docs.title - - Difficulty Adjustment + + Endpoint - src/app/dashboard/dashboard.component.html - 233,237 + src/app/docs/api-docs/api-docs.component.html + 45,46 - dashboard.difficulty-adjustment + + src/app/docs/api-docs/api-docs.component.html + 97,100 + + Api docs endpoint - - Remaining + + Description - src/app/dashboard/dashboard.component.html - 239,241 + src/app/docs/api-docs/api-docs.component.html + 62,63 - src/app/dashboard/dashboard.component.html - 290,293 + src/app/docs/api-docs/api-docs.component.html + 101,102 - difficulty-box.remaining - - Estimate + + 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/dashboard/dashboard.component.html - 248,249 + src/app/docs/api-docs/api-docs.component.html + 102,103 - - src/app/dashboard/dashboard.component.html - 297,300 - - difficulty-box.estimate + api-docs.websocket.websocket - - Previous + + API - src/app/dashboard/dashboard.component.html - 263,265 + src/app/docs/api-docs/api-docs.component.ts + 48 - difficulty-box.previous - - Current Period + + Code Example - src/app/dashboard/dashboard.component.html - 275,276 + src/app/docs/code-template/code-template.component.html + 6,7 - src/app/dashboard/dashboard.component.html - 304,307 + src/app/docs/code-template/code-template.component.html + 13,14 - difficulty-box.current-period + + src/app/docs/code-template/code-template.component.html + 29,30 + + API Docs code example + + + Install Package + + src/app/docs/code-template/code-template.component.html + 23,24 + + API Docs install lib + + + Response + + src/app/docs/code-template/code-template.component.html + 36,37 + + API Docs API response year From 9d332709705004c2a5d8b7846822893e7cbd0852 Mon Sep 17 00:00:00 2001 From: softsimon Date: Thu, 12 May 2022 02:42:24 +0400 Subject: [PATCH 004/108] Restoring the Confirmed string and re-localized the Multisig tag --- .../bisq-blocks/bisq-blocks.component.html | 2 +- .../address-labels.component.ts | 2 +- frontend/src/locale/messages.xlf | 35 ++++++++++++------- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html b/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html index e17c0b9bb..9fbd6ad1b 100644 --- a/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html +++ b/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html @@ -10,7 +10,7 @@ - + diff --git a/frontend/src/app/components/address-labels/address-labels.component.ts b/frontend/src/app/components/address-labels/address-labels.component.ts index f4eff6d78..a0e5e4f5f 100644 --- a/frontend/src/app/components/address-labels/address-labels.component.ts +++ b/frontend/src/app/components/address-labels/address-labels.component.ts @@ -118,7 +118,7 @@ export class AddressLabelsComponent implements OnInit { } const m = parseInt(opM.match(/[0-9]+/)[0], 10); - this.label = `multisig ${m} of ${n}`; + this.label = $localize`:@@address-label.multisig:Multisig ${m}:multisigM:: of ${n}:multisigN:` } handleVout() { diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 3b42479c9..0aefe451a 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -450,7 +450,7 @@ Height src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12,13 + 12,14 src/app/bisq/bisq-transactions/bisq-transactions.component.html @@ -482,22 +482,13 @@ Bisq block height header - + Confirmed src/app/bisq/bisq-blocks/bisq-blocks.component.html 13,15 - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21,24 - - - src/app/components/transaction/transaction.component.html - 65,66 - - Transaction Confirmed state - transaction.confirmed + Bisq block confirmed time header Transactions @@ -1163,6 +1154,19 @@ 149,150 + + Confirmed + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 21,24 + + + src/app/components/transaction/transaction.component.html + 65,66 + + Transaction Confirmed state + transaction.confirmed + Asset listing fee @@ -1419,6 +1423,13 @@ 50,53 + + Multisig : of + + src/app/components/address-labels/address-labels.component.ts + 121 + + Unconfidential From 3be67ea023800dc601213925c1451e89e81f6ce1 Mon Sep 17 00:00:00 2001 From: softsimon Date: Thu, 12 May 2022 03:28:34 +0400 Subject: [PATCH 005/108] Reset outspends cache when switching to new tx page. fixes #1613 fixes #1164 --- frontend/src/app/components/block/block.component.html | 2 +- .../transactions-list/transactions-list.component.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index 8b511b30c..6a227f29e 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -173,7 +173,7 @@
- +
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 e9385c501..b4ef42d84 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.ts +++ b/frontend/src/app/components/transactions-list/transactions-list.component.ts @@ -22,6 +22,7 @@ export class TransactionsListComponent implements OnInit, OnChanges { @Input() showConfirmations = false; @Input() transactionPage = false; @Input() errorUnblinded = false; + @Input() paginated = false; @Input() outputIndex: number; @Input() address: string = ''; @@ -84,6 +85,9 @@ export class TransactionsListComponent implements OnInit, OnChanges { if (!this.transactions || !this.transactions.length) { return; } + if (this.paginated) { + this.outspends = []; + } if (this.outputIndex) { setTimeout(() => { const assetBoxElements = document.getElementsByClassName('assetBox'); From 057b5bd2e16e4607f52151b5af62719451f62947 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Wed, 20 Apr 2022 13:12:32 +0900 Subject: [PATCH 006/108] Update block API to use indexing if available --- backend/src/api/blocks.ts | 68 ++++++++++++++----- backend/src/api/common.ts | 2 +- backend/src/repositories/BlocksRepository.ts | 31 ++++++++- backend/src/routes.ts | 6 +- backend/src/utils/blocks-utils.ts | 8 ++- .../app/components/block/block.component.html | 13 +++- .../app/components/block/block.component.ts | 8 +-- 7 files changed, 102 insertions(+), 34 deletions(-) diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index 6af631382..a723f8069 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -134,26 +134,25 @@ class Blocks { blockExtended.extras.avgFeeRate = stats.avgfeerate; } - if (Common.indexingEnabled()) { - let pool: PoolTag; - if (blockExtended.extras?.coinbaseTx !== undefined) { - pool = await this.$findBlockMiner(blockExtended.extras?.coinbaseTx); - } else { - pool = await poolsRepository.$getUnknownPool(); - } - - if (!pool) { // We should never have this situation in practise - logger.warn(`Cannot assign pool to block ${blockExtended.height} and 'unknown' pool does not exist. Check your "pools" table entries`); - return blockExtended; - } - - blockExtended.extras.pool = { - id: pool.id, - name: pool.name, - slug: pool.slug, - }; + let pool: PoolTag; + if (blockExtended.extras?.coinbaseTx !== undefined) { + pool = await this.$findBlockMiner(blockExtended.extras?.coinbaseTx); + } else { + pool = await poolsRepository.$getUnknownPool(); } + if (!pool) { // We should never have this situation in practise + logger.warn(`Cannot assign pool to block ${blockExtended.height} and 'unknown' pool does not exist. ` + + `Check your "pools" table entries`); + return blockExtended; + } + + blockExtended.extras.pool = { + id: pool.id, + name: pool.name, + slug: pool.slug, + }; + return blockExtended; } @@ -389,6 +388,39 @@ class Blocks { return prepareBlock(blockExtended); } + /** + * Index a block by hash if it's missing from the database. Returns the block after indexing + */ + public async $getBlock(hash: string): Promise { + // Block has already been indexed + if (Common.indexingEnabled()) { + const dbBlock = await blocksRepository.$getBlockByHash(hash); + if (dbBlock != null) { + logger.info('GET BLOCK: already indexed'); + return prepareBlock(dbBlock); + } + } + + const block = await bitcoinApi.$getBlock(hash); + + // Not Bitcoin network, return the block as it + if (['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK) === false) { + logger.info('GET BLOCK: using bitcoin backend'); + return block; + } + + // Bitcoin network, add our custom data on top + logger.info('GET BLOCK: index block on the fly'); + const transactions = await this.$getTransactionsExtended(hash, block.height, true); + const blockExtended = await this.$getBlockExtended(block, transactions); + if (Common.indexingEnabled()) { + delete(blockExtended['coinbaseTx']); + await blocksRepository.$saveBlockInDatabase(blockExtended); + } + + return blockExtended; + } + public async $getBlocksExtras(fromHeight?: number, limit: number = 15): Promise { // Note - This API is breaking if indexing is not available. For now it is okay because we only // use it for the mining pages, and mining pages should not be available if indexing is turned off. diff --git a/backend/src/api/common.ts b/backend/src/api/common.ts index 45ef5f576..bebc6c58b 100644 --- a/backend/src/api/common.ts +++ b/backend/src/api/common.ts @@ -174,7 +174,7 @@ export class Common { return ( ['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK) && config.DATABASE.ENABLED === true && - config.MEMPOOL.INDEXING_BLOCKS_AMOUNT != 0 + config.MEMPOOL.INDEXING_BLOCKS_AMOUNT !== 0 ); } } diff --git a/backend/src/repositories/BlocksRepository.ts b/backend/src/repositories/BlocksRepository.ts index 0792f130f..b1980c26c 100644 --- a/backend/src/repositories/BlocksRepository.ts +++ b/backend/src/repositories/BlocksRepository.ts @@ -287,6 +287,7 @@ class BlocksRepository { return null; } + rows[0].fee_span = JSON.parse(rows[0].fee_span); return rows[0]; } catch (e) { logger.err(`Cannot get indexed block ${height}. Reason: ` + (e instanceof Error ? e.message : e)); @@ -294,6 +295,34 @@ class BlocksRepository { } } + /** + * Get one block by hash + */ + public async $getBlockByHash(hash: string): Promise { + try { + const query = ` + SELECT *, UNIX_TIMESTAMP(blocks.blockTimestamp) as blockTimestamp, hash as id, + pools.id as pool_id, pools.name as pool_name, pools.link as pool_link, pools.slug as pool_slug, + pools.addresses as pool_addresses, pools.regexes as pool_regexes, + previous_block_hash as previousblockhash + FROM blocks + JOIN pools ON blocks.pool_id = pools.id + WHERE hash = '${hash}'; + `; + const [rows]: any[] = await DB.query(query); + + if (rows.length <= 0) { + return null; + } + + rows[0].fee_span = JSON.parse(rows[0].fee_span); + return rows[0]; + } catch (e) { + logger.err(`Cannot get indexed block ${hash}. Reason: ` + (e instanceof Error ? e.message : e)); + throw e; + } + } + /** * Return blocks difficulty */ @@ -457,7 +486,7 @@ class BlocksRepository { /** * Get the historical averaged block rewards */ - public async $getHistoricalBlockRewards(div: number, interval: string | null): Promise { + public async $getHistoricalBlockRewards(div: number, interval: string | null): Promise { try { let query = `SELECT CAST(AVG(height) as INT) as avg_height, diff --git a/backend/src/routes.ts b/backend/src/routes.ts index 72bf3b483..52f590775 100644 --- a/backend/src/routes.ts +++ b/backend/src/routes.ts @@ -702,8 +702,8 @@ class Routes { public async getBlock(req: Request, res: Response) { try { - const result = await bitcoinApi.$getBlock(req.params.hash); - res.json(result); + const block = await blocks.$getBlock(req.params.hash); + res.json(block); } catch (e) { res.status(500).send(e instanceof Error ? e.message : e); } @@ -727,7 +727,7 @@ class Routes { res.status(500).send(e instanceof Error ? e.message : e); } } - + public async getBlocks(req: Request, res: Response) { try { loadingIndicators.setProgress('blocks', 0); diff --git a/backend/src/utils/blocks-utils.ts b/backend/src/utils/blocks-utils.ts index 7b5c0b23a..8760a08c0 100644 --- a/backend/src/utils/blocks-utils.ts +++ b/backend/src/utils/blocks-utils.ts @@ -1,4 +1,4 @@ -import { BlockExtended } from "../mempool.interfaces"; +import { BlockExtended } from '../mempool.interfaces'; export function prepareBlock(block: any): BlockExtended { return { @@ -17,9 +17,11 @@ export function prepareBlock(block: any): BlockExtended { extras: { coinbaseRaw: block.coinbase_raw ?? block.extras.coinbaseRaw, medianFee: block.medianFee ?? block.median_fee ?? block.extras?.medianFee, - feeRange: block.feeRange ?? block.fee_range ?? block?.extras?.feeSpan, + feeRange: block.feeRange ?? block.fee_span, reward: block.reward ?? block?.extras?.reward, - totalFees: block.totalFees ?? block?.fees ?? block?.extras.totalFees, + totalFees: block.totalFees ?? block?.fees ?? block?.extras?.totalFees, + avgFee: block?.extras?.avgFee ?? block.avg_fee, + avgFeeRate: block?.avgFeeRate ?? block.avg_fee_rate, pool: block?.extras?.pool ?? (block?.pool_id ? { id: block.pool_id, name: block.pool_name, diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index 8b511b30c..9dea439c3 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -105,7 +105,18 @@
- + +
HeightConfirmedConfirmed Total sent Transactions
Miner + + {{ block.extras.pool.name }} + + + + {{ block.extras.pool.name }} + +
diff --git a/frontend/src/app/components/block/block.component.ts b/frontend/src/app/components/block/block.component.ts index 512b6b411..c69245786 100644 --- a/frontend/src/app/components/block/block.component.ts +++ b/frontend/src/app/components/block/block.component.ts @@ -31,7 +31,6 @@ export class BlockComponent implements OnInit, OnDestroy { blockSubsidy: number; fees: number; paginationMaxSize: number; - coinbaseTx: Transaction; page = 1; itemsPerPage: number; txsLoadingStatus$: Observable; @@ -50,7 +49,7 @@ export class BlockComponent implements OnInit, OnDestroy { private location: Location, private router: Router, private electrsApiService: ElectrsApiService, - private stateService: StateService, + public stateService: StateService, private seoService: SeoService, private websocketService: WebsocketService, private relativeUrlPipe: RelativeUrlPipe, @@ -88,7 +87,6 @@ export class BlockComponent implements OnInit, OnDestroy { const blockHash: string = params.get('id') || ''; this.block = undefined; this.page = 1; - this.coinbaseTx = undefined; this.error = undefined; this.fees = undefined; this.stateService.markBlock$.next({}); @@ -145,7 +143,6 @@ export class BlockComponent implements OnInit, OnDestroy { this.seoService.setTitle($localize`:@@block.component.browser-title:Block ${block.height}:BLOCK_HEIGHT:: ${block.id}:BLOCK_ID:`); this.isLoadingBlock = false; - this.coinbaseTx = block?.extras?.coinbaseTx; this.setBlockSubsidy(); if (block?.extras?.reward !== undefined) { this.fees = block.extras.reward / 100000000 - this.blockSubsidy; @@ -167,9 +164,6 @@ export class BlockComponent implements OnInit, OnDestroy { if (this.fees === undefined && transactions[0]) { this.fees = transactions[0].vout.reduce((acc: number, curr: Vout) => acc + curr.value, 0) / 100000000 - this.blockSubsidy; } - if (!this.coinbaseTx && transactions[0]) { - this.coinbaseTx = transactions[0]; - } this.transactions = transactions; this.isLoadingTransactions = false; }, From 067d160f33a3303faba313dbf24f13f7b75cd1eb Mon Sep 17 00:00:00 2001 From: nymkappa Date: Wed, 20 Apr 2022 13:30:06 +0900 Subject: [PATCH 007/108] Use block.extras on bitcoin network for fees/subsidy --- .../app/components/block/block.component.html | 17 ++++++++++++++--- .../src/app/components/block/block.component.ts | 9 +++------ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index 9dea439c3..569abdec2 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -81,15 +81,26 @@
Total fees + + + + +   +   +
Subsidy + fees: - + + + +
+ {{ block.extras.pool.name }} From 6ae44c6f7e68aecd3ecb6d8ac12eba5def201983 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Wed, 27 Apr 2022 17:43:32 +0900 Subject: [PATCH 011/108] Call node backend block API instead of electrs --- frontend/src/app/components/block/block.component.ts | 6 ++++-- frontend/src/app/services/api.service.ts | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/block/block.component.ts b/frontend/src/app/components/block/block.component.ts index 2fa6ec75d..57417a5c3 100644 --- a/frontend/src/app/components/block/block.component.ts +++ b/frontend/src/app/components/block/block.component.ts @@ -10,6 +10,7 @@ import { SeoService } from 'src/app/services/seo.service'; import { WebsocketService } from 'src/app/services/websocket.service'; import { RelativeUrlPipe } from 'src/app/shared/pipes/relative-url/relative-url.pipe'; import { BlockExtended } from 'src/app/interfaces/node-api.interface'; +import { ApiService } from 'src/app/services/api.service'; @Component({ selector: 'app-block', @@ -53,6 +54,7 @@ export class BlockComponent implements OnInit, OnDestroy { private seoService: SeoService, private websocketService: WebsocketService, private relativeUrlPipe: RelativeUrlPipe, + private apiService: ApiService ) { } ngOnInit() { @@ -122,7 +124,7 @@ export class BlockComponent implements OnInit, OnDestroy { this.location.replaceState( this.router.createUrlTree([(this.network ? '/' + this.network : '') + '/block/', hash]).toString() ); - return this.electrsApiService.getBlock$(hash); + return this.apiService.getBlock$(hash); }) ); } @@ -132,7 +134,7 @@ export class BlockComponent implements OnInit, OnDestroy { return of(blockInCache); } - return this.electrsApiService.getBlock$(blockHash); + return this.apiService.getBlock$(blockHash); } }), tap((block: BlockExtended) => { diff --git a/frontend/src/app/services/api.service.ts b/frontend/src/app/services/api.service.ts index 982461ad1..9b096394a 100644 --- a/frontend/src/app/services/api.service.ts +++ b/frontend/src/app/services/api.service.ts @@ -154,6 +154,10 @@ export class ApiService { ); } + getBlock$(hash: string): Observable { + return this.httpClient.get(this.apiBaseUrl + this.apiBasePath + '/api/v1/block/' + hash); + } + getHistoricalHashrate$(interval: string | undefined): Observable { return this.httpClient.get( this.apiBaseUrl + this.apiBasePath + `/api/v1/mining/hashrate` + From d26b1436b5ef7b3eba6a9ee792f79dabf2ec2f12 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Wed, 27 Apr 2022 21:47:14 +0900 Subject: [PATCH 012/108] Always expose /block/{hash} API in the node backend --- backend/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index 8560064a9..f2658a22a 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -350,7 +350,8 @@ class Server { this.app .get(config.MEMPOOL.API_URL_PREFIX + 'blocks-extras', routes.getBlocksExtras) - .get(config.MEMPOOL.API_URL_PREFIX + 'blocks-extras/:height', routes.getBlocksExtras); + .get(config.MEMPOOL.API_URL_PREFIX + 'blocks-extras/:height', routes.getBlocksExtras) + .get(config.MEMPOOL.API_URL_PREFIX + 'block/:hash', routes.getBlock); if (config.MEMPOOL.BACKEND !== 'esplora') { this.app @@ -362,7 +363,6 @@ class Server { .get(config.MEMPOOL.API_URL_PREFIX + 'tx/:txId/hex', routes.getRawTransaction) .get(config.MEMPOOL.API_URL_PREFIX + 'tx/:txId/status', routes.getTransactionStatus) .get(config.MEMPOOL.API_URL_PREFIX + 'tx/:txId/outspends', routes.getTransactionOutspends) - .get(config.MEMPOOL.API_URL_PREFIX + 'block/:hash', routes.getBlock) .get(config.MEMPOOL.API_URL_PREFIX + 'block/:hash/header', routes.getBlockHeader) .get(config.MEMPOOL.API_URL_PREFIX + 'blocks', routes.getBlocks) .get(config.MEMPOOL.API_URL_PREFIX + 'blocks/:height', routes.getBlocks) From 433bddab1f011ec144e226ea29cebf4116ee84e7 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 10 May 2022 15:54:11 +0200 Subject: [PATCH 013/108] Remove unused pools.json observable definition --- frontend/src/app/services/assets.service.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/frontend/src/app/services/assets.service.ts b/frontend/src/app/services/assets.service.ts index 9454ef7e2..880883a8c 100644 --- a/frontend/src/app/services/assets.service.ts +++ b/frontend/src/app/services/assets.service.ts @@ -14,7 +14,6 @@ export class AssetsService { getAssetsJson$: Observable<{ array: AssetExtended[]; objects: any}>; getAssetsMinimalJson$: Observable; - getMiningPools$: Observable; constructor( private httpClient: HttpClient, @@ -66,6 +65,5 @@ export class AssetsService { }), shareReplay(1), ); - this.getMiningPools$ = this.httpClient.get(apiBaseUrl + '/resources/pools.json').pipe(shareReplay(1)); } } From a8d8a360ecd6e6f5c255e322dec3af132bdffb78 Mon Sep 17 00:00:00 2001 From: softsimon Date: Thu, 12 May 2022 15:21:27 +0400 Subject: [PATCH 014/108] Tweaking the websocket retry timers fixes 1560 --- frontend/src/app/services/websocket.service.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/services/websocket.service.ts b/frontend/src/app/services/websocket.service.ts index 464b4dc1a..0a183557b 100644 --- a/frontend/src/app/services/websocket.service.ts +++ b/frontend/src/app/services/websocket.service.ts @@ -9,9 +9,9 @@ import { take } from 'rxjs/operators'; import { TransferState, makeStateKey } from '@angular/platform-browser'; import { BlockExtended } from '../interfaces/node-api.interface'; -const OFFLINE_RETRY_AFTER_MS = 10000; -const OFFLINE_PING_CHECK_AFTER_MS = 30000; -const EXPECT_PING_RESPONSE_AFTER_MS = 4000; +const OFFLINE_RETRY_AFTER_MS = 1000; +const OFFLINE_PING_CHECK_AFTER_MS = 10000; +const EXPECT_PING_RESPONSE_AFTER_MS = 5000; const initData = makeStateKey('/api/v1/init-data'); From e59637128eeca6e779000c9c01344c7abfc35355 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Thu, 12 May 2022 17:05:31 +0200 Subject: [PATCH 015/108] Polish dashboards second widgets line --- .../blocks-list/blocks-list.component.html | 6 +++--- .../blocks-list/blocks-list.component.scss | 13 +++++-------- .../blocks-list/blocks-list.component.ts | 6 +++--- .../difficulty-adjustments-table.component.html | 2 +- .../difficulty-adjustments-table.component.scss | 7 ++++++- .../difficulty-adjustments-table.components.ts | 2 +- .../hashrate-chart/hashrate-chart.component.scss | 2 +- .../mining-dashboard.component.html | 16 +++++++--------- .../mining-dashboard.component.scss | 10 +++++++--- .../pool-ranking/pool-ranking.component.scss | 2 +- .../src/app/dashboard/dashboard.component.html | 4 ++-- .../src/app/dashboard/dashboard.component.scss | 9 +++++---- 12 files changed, 42 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 e31214443..ee205aaf4 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.html +++ b/frontend/src/app/components/blocks-list/blocks-list.component.html @@ -8,7 +8,7 @@
- + @@ -21,7 +21,7 @@ - @@ -62,7 +62,7 @@ - - + diff --git a/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.scss b/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.scss index a0d8e115e..f379effe2 100644 --- a/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.scss +++ b/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.scss @@ -2,10 +2,15 @@ width: 100%; text-align: left; table-layout:fixed; - tr, td, th { + tr, th { border: 0px; + padding-top: 0.65rem !important; + padding-bottom: 0.7rem !important; } td { + border: 0px; + padding-top: 0.71rem !important; + padding-bottom: 0.75rem !important; width: 25%; @media (max-width: 376px) { padding: 0.85rem; diff --git a/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.components.ts b/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.components.ts index 1026bc145..854c1c349 100644 --- a/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.components.ts +++ b/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.components.ts @@ -54,7 +54,7 @@ export class DifficultyAdjustmentsTable implements OnInit { return { availableTimespanDay: availableTimespanDay, - difficulty: tableData.slice(0, 5), + difficulty: tableData.slice(0, 6), }; }), ); diff --git a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.scss b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.scss index fa044a4d6..52b5b2c2f 100644 --- a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.scss +++ b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.scss @@ -52,7 +52,7 @@ .chart-widget { width: 100%; height: 100%; - max-height: 270px; + height: 240px; } .formRadioGroup { 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 bf8ba2cf7..d4cdd3044 100644 --- a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html +++ b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html @@ -11,7 +11,7 @@ (144 blocks)
-
+
@@ -22,15 +22,13 @@
Difficulty Adjustment
-
- -
+
-
-
-
+
+
+
@@ -39,9 +37,9 @@
-
+
-
+
diff --git a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.scss b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.scss index d744e285d..72332602b 100644 --- a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.scss +++ b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.scss @@ -14,6 +14,13 @@ background-color: #1d1f31; } +.graph-card { + height: 100%; + @media (min-width: 992px) { + height: 385px; + } +} + .card-title { font-size: 1rem; color: #4a68b9; @@ -22,9 +29,6 @@ color: #4a68b9; } -.card-body { - padding: 1.25rem 1rem 0.75rem 1rem; -} .card-body.pool-ranking { padding: 1.25rem 0.25rem 0.75rem 0.25rem; } diff --git a/frontend/src/app/components/pool-ranking/pool-ranking.component.scss b/frontend/src/app/components/pool-ranking/pool-ranking.component.scss index d5eedd5d3..5764cf73a 100644 --- a/frontend/src/app/components/pool-ranking/pool-ranking.component.scss +++ b/frontend/src/app/components/pool-ranking/pool-ranking.component.scss @@ -27,7 +27,7 @@ .chart-widget { width: 100%; height: 100%; - max-height: 270px; + height: 240px; @media (max-width: 485px) { max-height: 200px; } diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 80ab9545d..2ab42a6a0 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -121,7 +121,7 @@
HeightHeight Pool Timestamp
+ {{ block.height }}
+ diff --git a/frontend/src/app/components/blocks-list/blocks-list.component.scss b/frontend/src/app/components/blocks-list/blocks-list.component.scss index c8035dc44..ead712be0 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.scss +++ b/frontend/src/app/components/blocks-list/blocks-list.component.scss @@ -11,13 +11,10 @@ max-width: 100%; } -td { - padding-top: 0.7rem !important; +tr, td, th { + border: 0px; + padding-top: 0.65rem !important; padding-bottom: 0.7rem !important; - @media (max-width: 376px) { - padding-top: 0.73rem !important; - padding-bottom: 0.73rem !important; - } } .clear-link { @@ -41,7 +38,7 @@ td { } .pool.widget { width: 40%; - padding-left: 30px; + padding-left: 24px; @media (max-width: 376px) { width: 60%; } @@ -56,7 +53,7 @@ td { width: 10%; } .height.widget { - width: 20%; + width: 15%; @media (max-width: 576px) { width: 10%; } 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 9da92f158..b5b66b22b 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.ts +++ b/frontend/src/app/components/blocks-list/blocks-list.component.ts @@ -39,7 +39,7 @@ export class BlocksList implements OnInit { this.websocketService.want(['blocks']); } - this.skeletonLines = this.widget === true ? [...Array(5).keys()] : [...Array(15).keys()]; + this.skeletonLines = this.widget === true ? [...Array(6).keys()] : [...Array(15).keys()]; this.paginationMaxSize = window.matchMedia('(max-width: 670px)').matches ? 3 : 5; this.blocks$ = combineLatest([ @@ -61,7 +61,7 @@ export class BlocksList implements OnInit { block.extras.pool.name.toLowerCase().replace(' ', '').replace('.', '') + '.svg'; } if (this.widget) { - return blocks.slice(0, 5); + return blocks.slice(0, 6); } return blocks; }), @@ -85,7 +85,7 @@ export class BlocksList implements OnInit { blocks[1][0].extras.pool.logo = `./resources/mining-pools/` + blocks[1][0].extras.pool.name.toLowerCase().replace(' ', '').replace('.', '') + '.svg'; acc.unshift(blocks[1][0]); - acc = acc.slice(0, this.widget ? 5 : 15); + acc = acc.slice(0, this.widget ? 6 : 15); return acc; }, []) ); diff --git a/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html b/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html index 787058d91..6e80d828a 100644 --- a/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html +++ b/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html @@ -22,7 +22,7 @@
- {{ block.extras.pool.name }} @@ -136,7 +136,7 @@
- +
diff --git a/frontend/src/app/dashboard/dashboard.component.scss b/frontend/src/app/dashboard/dashboard.component.scss index 65d68f122..47fb5b757 100644 --- a/frontend/src/app/dashboard/dashboard.component.scss +++ b/frontend/src/app/dashboard/dashboard.component.scss @@ -134,6 +134,8 @@ table-layout:fixed; tr, td, th { border: 0px; + padding-top: 0.71rem !important; + padding-bottom: 0.75rem !important; } td { overflow:hidden; @@ -182,16 +184,15 @@ text-align: left; tr, td, th { border: 0px; + padding-top: 0.65rem !important; + padding-bottom: 0.7rem !important; } .table-cell-height { width: 15%; } .table-cell-mined { width: 35%; - text-align: right; - @media (min-width: 376px) { - text-align: left; - } + text-align: left; } .table-cell-transaction-count { display: none; From 858ad752c824d799c06b48368621992060ba92cb Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Thu, 12 May 2022 11:28:17 -0400 Subject: [PATCH 016/108] Add simple faq on "full" mempool --- frontend/src/app/docs/api-docs/api-docs-data.ts | 8 ++++++++ 1 file changed, 8 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 b0d4d1c4f..88ec96e67 100644 --- a/frontend/src/app/docs/api-docs/api-docs-data.ts +++ b/frontend/src/app/docs/api-docs/api-docs-data.ts @@ -4467,6 +4467,14 @@ export const faqData = [ title: "What are mining pools?", answer: "Mining pools are groups of miners that combine their computational power in order to increase the probability of finding new blocks." }, + { + type: "endpoint", + category: "basics", + showConditions: bitcoinNetworks, + fragment: "what-is-full-mempool", + title: "What does it mean for the mempool to be \"full\"?", + answer: "

When a Bitcoin transaction is made, it is stored in a Bitcoin node's mempool before it is confirmed into a block. When the rate of incoming transactions exceeds the rate transactions are confirmed, the mempool grows in size.

The default maximum size of a Bitcoin node's mempool is 300MB, so when there are 300MB of transactions in the mempool, we say it's \"full\".

" + }, { type: "category", category: "help", From 9377faea9c8959e1fefb15504d763b920f763ad1 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Sat, 30 Apr 2022 15:23:53 +0900 Subject: [PATCH 017/108] Skip missing blocks during block hash chain validation --- backend/src/repositories/BlocksRepository.ts | 26 ++++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/backend/src/repositories/BlocksRepository.ts b/backend/src/repositories/BlocksRepository.ts index 0792f130f..ad063277f 100644 --- a/backend/src/repositories/BlocksRepository.ts +++ b/backend/src/repositories/BlocksRepository.ts @@ -397,18 +397,28 @@ class BlocksRepository { const [blocks]: any[] = await DB.query(`SELECT height, hash, previous_block_hash, UNIX_TIMESTAMP(blockTimestamp) as timestamp FROM blocks ORDER BY height`); - let currentHeight = 1; - while (currentHeight < blocks.length) { - if (blocks[currentHeight].previous_block_hash !== blocks[currentHeight - 1].hash) { - logger.warn(`Chain divergence detected at block ${blocks[currentHeight - 1].height}, re-indexing newer blocks and hashrates`); - await this.$deleteBlocksFrom(blocks[currentHeight - 1].height); - await HashratesRepository.$deleteHashratesFromTimestamp(blocks[currentHeight - 1].timestamp - 604800); + let partialMsg = false; + let idx = 1; + while (idx < blocks.length) { + if (blocks[idx].height - 1 !== blocks[idx - 1].height) { + if (partialMsg === false) { + logger.info('Some blocks are not indexed, skipping missing blocks during chain validation'); + partialMsg = true; + } + ++idx; + continue; + } + + if (blocks[idx].previous_block_hash !== blocks[idx - 1].hash) { + logger.warn(`Chain divergence detected at block ${blocks[idx - 1].height}, re-indexing newer blocks and hashrates`); + await this.$deleteBlocksFrom(blocks[idx - 1].height); + await HashratesRepository.$deleteHashratesFromTimestamp(blocks[idx - 1].timestamp - 604800); return false; } - ++currentHeight; + ++idx; } - logger.info(`${currentHeight} blocks hash validated in ${new Date().getTime() - start} ms`); + logger.info(`${idx} blocks hash validated in ${new Date().getTime() - start} ms`); return true; } catch (e) { logger.err('Cannot validate chain of block hash. Reason: ' + (e instanceof Error ? e.message : e)); From 0f39914a601c8ff01744c16c963976672cf1d41e Mon Sep 17 00:00:00 2001 From: nymkappa Date: Fri, 13 May 2022 15:34:26 +0200 Subject: [PATCH 018/108] Added some missing alt tags on some img --- .../blocks-list/blocks-list.component.html | 2 +- .../master-page/master-page.component.html | 16 ++++++++-------- .../pool-ranking/pool-ranking.component.html | 5 +++-- .../src/app/components/pool/pool.component.html | 2 +- 4 files changed, 13 insertions(+), 12 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 e31214443..a27d8fbeb 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.html +++ b/frontend/src/app/components/blocks-list/blocks-list.component.html @@ -29,7 +29,7 @@
+ onError="this.src = './resources/mining-pools/default.svg'" [alt]="'Logo of ' + block.extras.pool.name + ' mining pool'"> {{ block.extras.pool.name }} {{ block.extras.coinbaseRaw | hex2ascii }} 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 98e490f37..1daabcfac 100644 --- a/frontend/src/app/components/master-page/master-page.component.html +++ b/frontend/src/app/components/master-page/master-page.component.html @@ -3,7 +3,7 @@
{{ pool.rank }} + + {{ pool.name }} {{ pool.lastEstimatedHashrate }} {{ miningStats.miningUnits.hashrateUnit }} Timestamp Mined - RewardReward Fees Txs Size - + - + {{ block.tx_count | number }} From 9be6f80cb96199bfce859e5969a956730a1ad717 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Mon, 16 May 2022 16:50:42 +0200 Subject: [PATCH 020/108] Allow CTRL F an address on the transaction list component --- frontend/src/app/app.module.ts | 2 ++ .../transactions-list.component.html | 10 ++++++++-- .../transactions-list.component.scss | 11 +++++++++++ .../pipes/cap-address-pipe/cap-address-pipe.ts | 12 ++++++++++++ frontend/src/app/shared/shared.module.ts | 3 +++ 5 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 frontend/src/app/shared/pipes/cap-address-pipe/cap-address-pipe.ts diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index 336cfead2..255d9c69a 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -68,6 +68,7 @@ import { HashrateChartPoolsComponent } from './components/hashrates-chart-pools/ import { MiningStartComponent } from './components/mining-start/mining-start.component'; import { AmountShortenerPipe } from './shared/pipes/amount-shortener.pipe'; import { ShortenStringPipe } from './shared/pipes/shorten-string-pipe/shorten-string.pipe'; +import { CapAddressPipe } from './shared/pipes/cap-address-pipe/cap-address-pipe'; import { GraphsComponent } from './components/graphs/graphs.component'; import { DifficultyAdjustmentsTable } from './components/difficulty-adjustments-table/difficulty-adjustments-table.components'; import { BlocksList } from './components/blocks-list/blocks-list.component'; @@ -163,6 +164,7 @@ import { BlockSizesWeightsGraphComponent } from './components/block-sizes-weight StorageService, LanguageService, ShortenStringPipe, + CapAddressPipe, { provide: HTTP_INTERCEPTORS, useClass: HttpCacheInterceptor, multi: true } ], bootstrap: [AppComponent] 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 eded208bd..46678e52b 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.html +++ b/frontend/src/app/components/transactions-list/transactions-list.component.html @@ -65,7 +65,10 @@ {{ vin.prevout.scriptpubkey_address | shortenString : 16 }} - {{ vin.prevout.scriptpubkey_address | shortenString : 35 }} + + {{ vin.prevout.scriptpubkey_address }} + {{ vin.prevout.scriptpubkey_address | capAddress: 40: 10 }} +
@@ -156,7 +159,10 @@
{{ vout.scriptpubkey_address | shortenString : 16 }} - {{ vout.scriptpubkey_address | shortenString : 35 }} + + {{ vout.scriptpubkey_address }} + {{ vout.scriptpubkey_address | capAddress: 40: 10 }} +
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 4f20be835..6690337ce 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.scss +++ b/frontend/src/app/components/transactions-list/transactions-list.component.scss @@ -129,3 +129,14 @@ h2 { .summary { margin-top: 10px; } + +.addr-left { + font-family: monospace; + overflow: hidden; + text-overflow: ellipsis; + margin-right: -7px +} + +.addr-right { + font-family: monospace; +} \ No newline at end of file diff --git a/frontend/src/app/shared/pipes/cap-address-pipe/cap-address-pipe.ts b/frontend/src/app/shared/pipes/cap-address-pipe/cap-address-pipe.ts new file mode 100644 index 000000000..c58de52bf --- /dev/null +++ b/frontend/src/app/shared/pipes/cap-address-pipe/cap-address-pipe.ts @@ -0,0 +1,12 @@ +import { Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ name: 'capAddress' }) +export class CapAddressPipe implements PipeTransform { + transform(str: string, cap: number, leftover: number) { + if (!str) { return; } + if (str.length <= cap) { + return str; + } + return str.slice(-Math.max(cap - str.length, leftover)); + } +} diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index aa23bb639..8d57630c3 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -29,6 +29,7 @@ import { MempoolBlocksComponent } from '../components/mempool-blocks/mempool-blo import { BlockchainBlocksComponent } from '../components/blockchain-blocks/blockchain-blocks.component'; import { AmountComponent } from '../components/amount/amount.component'; import { RouterModule } from '@angular/router'; +import { CapAddressPipe } from './pipes/cap-address-pipe/cap-address-pipe'; @NgModule({ declarations: [ @@ -51,6 +52,7 @@ import { RouterModule } from '@angular/router'; WuBytesPipe, CeilPipe, ShortenStringPipe, + CapAddressPipe, Decimal2HexPipe, FeeRoundingPipe, ColoredPriceDirective, @@ -103,6 +105,7 @@ import { RouterModule } from '@angular/router'; WuBytesPipe, CeilPipe, ShortenStringPipe, + CapAddressPipe, Decimal2HexPipe, FeeRoundingPipe, ColoredPriceDirective, From c505ed5f0b00a5ce56b691c0aaca21733e841808 Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 17 May 2022 17:11:20 +0900 Subject: [PATCH 021/108] [installer] Configure nvm to install Node.js v16.15.0 / npm v8.5.5 --- production/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/production/install b/production/install index 0fc9becb6..b40d868bf 100755 --- a/production/install +++ b/production/install @@ -854,7 +854,7 @@ echo "[*] Installing nvm.sh from GitHub" osSudo "${MEMPOOL_USER}" sh -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh' echo "[*] Building NodeJS via nvm.sh" -osSudo "${MEMPOOL_USER}" zsh -c 'source ~/.zshrc ; nvm install v16.10.0' +osSudo "${MEMPOOL_USER}" zsh -c 'source ~/.zshrc ; nvm install v16.15.0' #################### # Tor installation # From d2e041ec6515c039b84125a7a460ad7843b21f10 Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 17 May 2022 17:12:13 +0900 Subject: [PATCH 022/108] [installer] Fix electrs patch sed pattern typo introduced in #1628 --- production/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/production/install b/production/install index b40d868bf..8c46f568e 100755 --- a/production/install +++ b/production/install @@ -1016,7 +1016,7 @@ osSudo "${BITCOIN_USER}" sh -c "cd ${BITCOIN_ELECTRS_HOME} && cargo run --releas echo "[*] Patching Bitcoin Electrs code for FreeBSD" osSudo "${BITCOIN_USER}" sh -c "cd \"${BITCOIN_HOME}/.cargo/registry/src/github.com-1ecc6299db9ec823/sysconf-0.3.4\" && patch -p1 < \"${MEMPOOL_HOME}/${MEMPOOL_REPO_NAME}/production/freebsd/sysconf.patch\"" osSudo "${BITCOIN_USER}" sh -c "cd \"${BITCOIN_ELECTRS_HOME}/src/new_index/\" && sed -i .bak -e s/Snappy/None/ db.rs && rm db.rs.bak" -osSudo "${BITCOIN_USER}" sh -c "cd \"${BITCOIN_ELECTRS_HOME}/src/bin/\" && sed -i .bak -e s/from_secs(5)/from_secs(1)/ electrs.rs && rm electrs.rs.bak" +osSudo "${BITCOIN_USER}" sh -c "cd \"${BITCOIN_ELECTRS_HOME}/src/bin/\" && sed -i .bak -e 's/from_secs(5)/from_secs(1)/' electrs.rs && rm electrs.rs.bak" echo "[*] Building Bitcoin Electrs release binary" osSudo "${BITCOIN_USER}" sh -c "cd ${BITCOIN_ELECTRS_HOME} && cargo run --release --bin electrs -- --version" From 5698468fbf1c9613cffc7f7c23e03b09e2bfd86d Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 17 May 2022 17:25:10 +0900 Subject: [PATCH 023/108] [installer] Checkout top-level mempool using master branch --- production/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/production/install b/production/install index 8c46f568e..68978399e 100755 --- a/production/install +++ b/production/install @@ -276,7 +276,7 @@ MINFEE_HOME=/minfee MEMPOOL_REPO_URL=https://github.com/mempool/mempool MEMPOOL_REPO_NAME=mempool MEMPOOL_REPO_BRANCH=master -MEMPOOL_LATEST_RELEASE=v2.3.1 +MEMPOOL_LATEST_RELEASE=master BITCOIN_REPO_URL=https://github.com/bitcoin/bitcoin BITCOIN_REPO_NAME=bitcoin From 30337095cf18ec736e5d1cfb49288e5feed09b43 Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 17 May 2022 17:26:05 +0900 Subject: [PATCH 024/108] [prod] Clarify syslog.conf syntax for priorities to keybase --- production/syslog.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/production/syslog.conf b/production/syslog.conf index 9a2a382fe..1a36100dd 100644 --- a/production/syslog.conf +++ b/production/syslog.conf @@ -1,4 +1,4 @@ local7.>=notice |/usr/local/bin/sudo -u mempool /usr/local/bin/mempool-logger mempool.ops alerts -local7.info |/usr/local/bin/sudo -u mempool /usr/local/bin/mempool-logger mempool.ops node100 -local7.info /var/log/mempool +local7.>=info |/usr/local/bin/sudo -u mempool /usr/local/bin/mempool-logger mempool.ops node100 +local7.>=info /var/log/mempool local7.* /var/log/mempool.debug From ece1cbbaa9c50f57d3b01a0eb5ca46030abaa28a Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 17 May 2022 17:43:35 +0900 Subject: [PATCH 025/108] [installer] Fix mempool checkout for bisq instance --- production/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/production/install b/production/install index 68978399e..f2cb17025 100755 --- a/production/install +++ b/production/install @@ -1299,7 +1299,7 @@ if [ "${ELEMENTS_LIQUIDTESTNET_ENABLE}" = ON ];then osSudo "${MEMPOOL_USER}" sh -c "cd ${MEMPOOL_HOME}/${MEMPOOL_REPO_NAME} && git checkout ${MEMPOOL_LATEST_RELEASE}" fi -if [ "${BISQ_ENABLE}" = ON ];then +if [ "${BISQ_INSTALL}" = ON ];then echo "[*] Creating Mempool instance for Bisq" osSudo "${MEMPOOL_USER}" git config --global advice.detachedHead false osSudo "${MEMPOOL_USER}" git clone --branch "${MEMPOOL_REPO_BRANCH}" "${MEMPOOL_REPO_URL}" "${MEMPOOL_HOME}/bisq" From 4463dae46bfacbc402dfe3a42fdac305aa41a74a Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 17 May 2022 11:39:13 +0200 Subject: [PATCH 026/108] Use passive listeners to improve scrolling performance #1605 --- frontend/src/app/docs/api-docs/api-docs.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/docs/api-docs/api-docs.component.ts b/frontend/src/app/docs/api-docs/api-docs.component.ts index 6c645a14f..9ede3c09f 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.ts +++ b/frontend/src/app/docs/api-docs/api-docs.component.ts @@ -39,7 +39,7 @@ export class ApiDocsComponent implements OnInit { } window.addEventListener('scroll', function() { that.desktopDocsNavPosition = ( window.pageYOffset > 182 ) ? "fixed" : "relative"; - }); + }, { passive: true} ); }, 1 ); } From df59c21cfeaf711ee13374efdf87145285074812 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 17 May 2022 12:02:50 +0200 Subject: [PATCH 027/108] Cleanup mining API endpoints --- backend/src/index.ts | 14 +------------- backend/src/routes.ts | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index f2658a22a..c6eab6c17 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -300,24 +300,12 @@ class Server { if (Common.indexingEnabled()) { this.app - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/24h', routes.$getPools.bind(routes, '24h')) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/3d', routes.$getPools.bind(routes, '3d')) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/1w', routes.$getPools.bind(routes, '1w')) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/1m', routes.$getPools.bind(routes, '1m')) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/3m', routes.$getPools.bind(routes, '3m')) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/6m', routes.$getPools.bind(routes, '6m')) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/1y', routes.$getPools.bind(routes, '1y')) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/2y', routes.$getPools.bind(routes, '2y')) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/3y', routes.$getPools.bind(routes, '3y')) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/all', routes.$getPools.bind(routes, 'all')) + .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pools/:interval', routes.$getPools) .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pool/:slug/hashrate', routes.$getPoolHistoricalHashrate) .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pool/:slug/blocks', routes.$getPoolBlocks) .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pool/:slug/blocks/:height', routes.$getPoolBlocks) .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pool/:slug', routes.$getPool) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/pool/:slug/:interval', routes.$getPool) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/hashrate/pools', routes.$getPoolsHistoricalHashrate) .get(config.MEMPOOL.API_URL_PREFIX + 'mining/hashrate/pools/:interval', routes.$getPoolsHistoricalHashrate) - .get(config.MEMPOOL.API_URL_PREFIX + 'mining/hashrate', routes.$getHistoricalHashrate) .get(config.MEMPOOL.API_URL_PREFIX + 'mining/hashrate/:interval', routes.$getHistoricalHashrate) .get(config.MEMPOOL.API_URL_PREFIX + 'mining/reward-stats/:blockCount', routes.$getRewardStats) .get(config.MEMPOOL.API_URL_PREFIX + 'mining/blocks/fees/:interval', routes.$getHistoricalBlockFees) diff --git a/backend/src/routes.ts b/backend/src/routes.ts index 52f590775..d7fe35b08 100644 --- a/backend/src/routes.ts +++ b/backend/src/routes.ts @@ -572,9 +572,9 @@ class Routes { } } - public async $getPools(interval: string, req: Request, res: Response) { + public async $getPools(req: Request, res: Response) { try { - const stats = await miningStats.$getPoolsStats(interval); + const stats = await miningStats.$getPoolsStats(req.params.interval); const blockCount = await BlocksRepository.$blockCount(null, null); res.header('Pragma', 'public'); res.header('Cache-control', 'public'); @@ -588,7 +588,7 @@ class Routes { public async $getPoolsHistoricalHashrate(req: Request, res: Response) { try { - const hashrates = await HashratesRepository.$getPoolsWeeklyHashrate(req.params.interval ?? null); + const hashrates = await HashratesRepository.$getPoolsWeeklyHashrate(req.params.interval); const blockCount = await BlocksRepository.$blockCount(null, null); res.header('Pragma', 'public'); res.header('Cache-control', 'public'); @@ -620,8 +620,8 @@ class Routes { public async $getHistoricalHashrate(req: Request, res: Response) { try { - const hashrates = await HashratesRepository.$getNetworkDailyHashrate(req.params.interval ?? null); - const difficulty = await BlocksRepository.$getBlocksDifficulty(req.params.interval ?? null); + const hashrates = await HashratesRepository.$getNetworkDailyHashrate(req.params.interval); + const difficulty = await BlocksRepository.$getBlocksDifficulty(req.params.interval); const blockCount = await BlocksRepository.$blockCount(null, null); res.header('Pragma', 'public'); res.header('Cache-control', 'public'); @@ -640,7 +640,7 @@ class Routes { public async $getHistoricalBlockFees(req: Request, res: Response) { try { - const blockFees = await mining.$getHistoricalBlockFees(req.params.interval ?? null); + const blockFees = await mining.$getHistoricalBlockFees(req.params.interval); const blockCount = await BlocksRepository.$blockCount(null, null); res.header('Pragma', 'public'); res.header('Cache-control', 'public'); @@ -654,7 +654,7 @@ class Routes { public async $getHistoricalBlockRewards(req: Request, res: Response) { try { - const blockRewards = await mining.$getHistoricalBlockRewards(req.params.interval ?? null); + const blockRewards = await mining.$getHistoricalBlockRewards(req.params.interval); const blockCount = await BlocksRepository.$blockCount(null, null); res.header('Pragma', 'public'); res.header('Cache-control', 'public'); @@ -668,7 +668,7 @@ class Routes { public async $getHistoricalBlockFeeRates(req: Request, res: Response) { try { - const blockFeeRates = await mining.$getHistoricalBlockFeeRates(req.params.interval ?? null); + const blockFeeRates = await mining.$getHistoricalBlockFeeRates(req.params.interval); const oldestIndexedBlockTimestamp = await BlocksRepository.$oldestBlockTimestamp(); res.header('Pragma', 'public'); res.header('Cache-control', 'public'); @@ -684,8 +684,8 @@ class Routes { public async $getHistoricalBlockSizeAndWeight(req: Request, res: Response) { try { - const blockSizes = await mining.$getHistoricalBlockSizes(req.params.interval ?? null); - const blockWeights = await mining.$getHistoricalBlockWeights(req.params.interval ?? null); + const blockSizes = await mining.$getHistoricalBlockSizes(req.params.interval); + const blockWeights = await mining.$getHistoricalBlockWeights(req.params.interval); const blockCount = await BlocksRepository.$blockCount(null, null); res.header('Pragma', 'public'); res.header('Cache-control', 'public'); From 47bb073b9a567ce72e5828d75524356424389944 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 17 May 2022 14:40:18 +0200 Subject: [PATCH 028/108] Define avg block time to 10 min until we have at least 146 block in the current epoch --- backend/src/api/difficulty-adjustment.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/api/difficulty-adjustment.ts b/backend/src/api/difficulty-adjustment.ts index eea0e9b42..1f85fdb80 100644 --- a/backend/src/api/difficulty-adjustment.ts +++ b/backend/src/api/difficulty-adjustment.ts @@ -32,7 +32,7 @@ class DifficultyAdjustmentApi { } } - let timeAvgMins = blocksInEpoch ? diff / blocksInEpoch / 60 : 10; + let timeAvgMins = blocksInEpoch && blocksInEpoch > 146 ? diff / blocksInEpoch / 60 : 10; // Testnet difficulty is set to 1 after 20 minutes of no blocks, // therefore the time between blocks will always be below 20 minutes (1200s). From 5da94fa7930ccb0829280b0264ef6f79aa529592 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 17 May 2022 15:58:11 +0200 Subject: [PATCH 029/108] Delete useless log --- backend/src/api/blocks.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index 1f27d8c0e..293862e93 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -404,7 +404,6 @@ class Blocks { if (Common.indexingEnabled()) { const dbBlock = await blocksRepository.$getBlockByHash(hash); if (dbBlock != null) { - logger.info('GET BLOCK: already indexed'); return prepareBlock(dbBlock); } } @@ -413,12 +412,10 @@ class Blocks { // Not Bitcoin network, return the block as it if (['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK) === false) { - logger.info('GET BLOCK: using bitcoin backend'); return block; } // Bitcoin network, add our custom data on top - logger.info('GET BLOCK: index block on the fly'); const transactions = await this.$getTransactionsExtended(hash, block.height, true); const blockExtended = await this.$getBlockExtended(block, transactions); if (Common.indexingEnabled()) { From c09c694fb1bfcbee3b159bd1ac9ba8ca370b5dcd Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 17 May 2022 19:27:41 +0400 Subject: [PATCH 030/108] Minor i18n corrections --- .../address-labels.component.ts | 2 +- .../asset-group/asset-group.component.html | 14 +-- .../pool-ranking/pool-ranking.component.html | 2 +- frontend/src/locale/messages.xlf | 90 +++++++------------ 4 files changed, 42 insertions(+), 66 deletions(-) diff --git a/frontend/src/app/components/address-labels/address-labels.component.ts b/frontend/src/app/components/address-labels/address-labels.component.ts index a0e5e4f5f..34c82c851 100644 --- a/frontend/src/app/components/address-labels/address-labels.component.ts +++ b/frontend/src/app/components/address-labels/address-labels.component.ts @@ -118,7 +118,7 @@ export class AddressLabelsComponent implements OnInit { } const m = parseInt(opM.match(/[0-9]+/)[0], 10); - this.label = $localize`:@@address-label.multisig:Multisig ${m}:multisigM:: of ${n}:multisigN:` + this.label = $localize`:@@address-label.multisig:Multisig ${m}:multisigM: of ${n}:multisigN:` } handleVout() { diff --git a/frontend/src/app/components/assets/asset-group/asset-group.component.html b/frontend/src/app/components/assets/asset-group/asset-group.component.html index df3f90abd..a4c9e9da0 100644 --- a/frontend/src/app/components/assets/asset-group/asset-group.component.html +++ b/frontend/src/app/components/assets/asset-group/asset-group.component.html @@ -1,11 +1,13 @@ -
+
-
-

{{ group.group.name }}

- -
Group of {{ group.group.assets.length | number }} assets
-
+ + +
+

{{ group.name }}

+
Group of {{ group.assets.length | number }} assets
+
+
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 6715a4222..367f460df 100644 --- a/frontend/src/app/components/pool-ranking/pool-ranking.component.html +++ b/frontend/src/app/components/pool-ranking/pool-ranking.component.html @@ -104,7 +104,7 @@
All minersAll miners {{ miningStats.lastEstimatedHashrate}} {{ miningStats.miningUnits.hashrateUnit }} {{ miningStats.blockCount }} Confidential
- +
- - - - - - - - + + + + + + + + + @@ -23,7 +24,7 @@ {{ block.height }} - - - - - -
HeightPoolTimestampMinedRewardFeesTXsSizeHeightPoolTimestampMinedRewardFeesTXsTransactionsSize
+ + + + + {{ block.tx_count | number }} +
diff --git a/frontend/src/app/components/blocks-list/blocks-list.component.scss b/frontend/src/app/components/blocks-list/blocks-list.component.scss index ead712be0..cea30e126 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.scss +++ b/frontend/src/app/components/blocks-list/blocks-list.component.scss @@ -6,6 +6,9 @@ padding-left: 0px; padding-bottom: 0px; } +.container-xl.legacy { + max-width: 1140px; +} .container { max-width: 100%; @@ -58,6 +61,9 @@ tr, td, th { width: 10%; } } +.height.legacy { + width: 15%; +} .timestamp { width: 18%; @@ -65,6 +71,9 @@ tr, td, th { display: none; } } +.timestamp.legacy { + width: 20%; +} .mined { width: 13%; @@ -72,6 +81,12 @@ tr, td, th { display: none; } } +.mined.legacy { + width: 15%; + @media (max-width: 576px) { + display: table-cell; + } +} .txs { padding-right: 40px; @@ -88,6 +103,10 @@ tr, td, th { display: none; } } +.txs.legacy { + padding-right: 80px; + width: 10%; +} .fees { width: 10%; @@ -126,6 +145,12 @@ tr, td, th { display: none; } } +.size.legacy { + width: 20%; + @media (max-width: 576px) { + display: table-cell; + } +} /* Tooltip text */ .tooltip-custom { 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 b5b66b22b..f1f81d321 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; + indexingAvailable = false; isLoading = true; fromBlockHeight = undefined; paginationMaxSize: number; @@ -35,6 +36,9 @@ export class BlocksList implements OnInit { } ngOnInit(): void { + this.indexingAvailable = (this.stateService.env.BASE_MODULE === 'mempool' && + this.stateService.env.MINING_DASHBOARD === true); + if (!this.widget) { this.websocketService.want(['blocks']); } @@ -55,17 +59,19 @@ export class BlocksList implements OnInit { this.isLoading = false; }), map(blocks => { - 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'; + if (this.indexingAvailable) { + 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'; + } } if (this.widget) { return blocks.slice(0, 6); } return blocks; }), - retryWhen(errors => errors.pipe(delayWhen(() => timer(1000)))) + retryWhen(errors => errors.pipe(delayWhen(() => timer(10000)))) ) }) ), diff --git a/frontend/src/app/components/latest-blocks/latest-blocks.component.html b/frontend/src/app/components/latest-blocks/latest-blocks.component.html deleted file mode 100644 index 297d62f48..000000000 --- a/frontend/src/app/components/latest-blocks/latest-blocks.component.html +++ /dev/null @@ -1,57 +0,0 @@ -
-

Blocks

-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HeightTimestampMinedTransactionsSize
{{ block.height }}‎{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm' }}{{ block.tx_count | number }} -
-
-
-
-
-
-
-
-
- - -
- Error loading blocks -
- {{ error.error }} -
-
- -
diff --git a/frontend/src/app/components/latest-blocks/latest-blocks.component.scss b/frontend/src/app/components/latest-blocks/latest-blocks.component.scss deleted file mode 100644 index 0f2246c99..000000000 --- a/frontend/src/app/components/latest-blocks/latest-blocks.component.scss +++ /dev/null @@ -1,14 +0,0 @@ -.progress { - background-color: #2d3348; -} - -@media (min-width: 768px) { - .d-md-block { - display: table-cell !important; - } -} -@media (min-width: 992px) { - .d-lg-block { - display: table-cell !important; - } -} diff --git a/frontend/src/app/components/latest-blocks/latest-blocks.component.ts b/frontend/src/app/components/latest-blocks/latest-blocks.component.ts deleted file mode 100644 index 3d4ae91ad..000000000 --- a/frontend/src/app/components/latest-blocks/latest-blocks.component.ts +++ /dev/null @@ -1,140 +0,0 @@ -import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; -import { ElectrsApiService } from '../../services/electrs-api.service'; -import { StateService } from '../../services/state.service'; -import { Block } from '../../interfaces/electrs.interface'; -import { Subscription, Observable, merge, of } from 'rxjs'; -import { SeoService } from '../../services/seo.service'; -import { WebsocketService } from 'src/app/services/websocket.service'; -import { map } from 'rxjs/operators'; - -@Component({ - selector: 'app-latest-blocks', - templateUrl: './latest-blocks.component.html', - styleUrls: ['./latest-blocks.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush -}) -export class LatestBlocksComponent implements OnInit, OnDestroy { - network$: Observable; - error: any; - blocks: any[] = []; - blockSubscription: Subscription; - isLoading = true; - interval: any; - blocksLoadingStatus$: Observable; - - latestBlockHeight: number; - - heightOfPageUntilBlocks = 150; - heightOfBlocksTableChunk = 470; - - constructor( - private electrsApiService: ElectrsApiService, - public stateService: StateService, - private seoService: SeoService, - private websocketService: WebsocketService, - private cd: ChangeDetectorRef, - ) { } - - ngOnInit() { - this.seoService.setTitle($localize`:@@8a7b4bd44c0ac71b2e72de0398b303257f7d2f54:Blocks`); - this.websocketService.want(['blocks']); - - this.network$ = merge(of(''), this.stateService.networkChanged$); - - this.blocksLoadingStatus$ = this.stateService.loadingIndicators$ - .pipe( - map((indicators) => indicators['blocks'] !== undefined ? indicators['blocks'] : 0) - ); - - this.blockSubscription = this.stateService.blocks$ - .subscribe(([block]) => { - if (block === null || !this.blocks.length) { - return; - } - - this.latestBlockHeight = block.height; - - if (block.height === this.blocks[0].height) { - return; - } - - // If we are out of sync, reload the blocks instead - if (block.height > this.blocks[0].height + 1) { - this.loadInitialBlocks(); - return; - } - - if (block.height <= this.blocks[0].height) { - return; - } - - this.blocks.pop(); - this.blocks.unshift(block); - this.cd.markForCheck(); - }); - - this.loadInitialBlocks(); - } - - ngOnDestroy() { - clearInterval(this.interval); - this.blockSubscription.unsubscribe(); - } - - loadInitialBlocks() { - this.electrsApiService.listBlocks$() - .subscribe((blocks) => { - this.blocks = blocks; - this.isLoading = false; - this.error = undefined; - - this.latestBlockHeight = blocks[0].height; - - const spaceForBlocks = window.innerHeight - this.heightOfPageUntilBlocks; - const chunks = Math.ceil(spaceForBlocks / this.heightOfBlocksTableChunk) - 1; - if (chunks > 0) { - this.loadMore(chunks); - } - this.cd.markForCheck(); - }, - (error) => { - console.log(error); - this.error = error; - this.isLoading = false; - this.cd.markForCheck(); - }); - } - - loadMore(chunks = 0) { - if (this.isLoading) { - return; - } - const height = this.blocks[this.blocks.length - 1].height - 1; - if (height < 0) { - return; - } - this.isLoading = true; - this.electrsApiService.listBlocks$(height) - .subscribe((blocks) => { - this.blocks = this.blocks.concat(blocks); - this.isLoading = false; - this.error = undefined; - - const chunksLeft = chunks - 1; - if (chunksLeft > 0) { - this.loadMore(chunksLeft); - } - this.cd.markForCheck(); - }, - (error) => { - console.log(error); - this.error = error; - this.isLoading = false; - this.cd.markForCheck(); - }); - } - - trackByBlock(index: number, block: Block) { - return block.height; - } -} diff --git a/frontend/src/app/services/api.service.ts b/frontend/src/app/services/api.service.ts index 8ef656013..7a523a7b3 100644 --- a/frontend/src/app/services/api.service.ts +++ b/frontend/src/app/services/api.service.ts @@ -149,7 +149,7 @@ export class ApiService { getBlocks$(from: number): Observable { return this.httpClient.get( - this.apiBaseUrl + this.apiBasePath + `/api/v1/blocks-extras` + + this.apiBaseUrl + this.apiBasePath + `/api/v1/blocks` + (from !== undefined ? `/${from}` : ``) ); } diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index 488131d84..eb0bf5b87 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -48,7 +48,6 @@ import { TransactionsListComponent } from '../components/transactions-list/trans import { BlockComponent } from '../components/block/block.component'; import { AddressComponent } from '../components/address/address.component'; import { SearchFormComponent } from '../components/search-form/search-form.component'; -import { LatestBlocksComponent } from '../components/latest-blocks/latest-blocks.component'; import { AddressLabelsComponent } from '../components/address-labels/address-labels.component'; import { FooterComponent } from '../components/footer/footer.component'; import { TimeSpanComponent } from '../components/time-span/time-span.component'; @@ -113,7 +112,6 @@ import { IndexingProgressComponent } from '../components/indexing-progress/index BlockComponent, TransactionsListComponent, AddressComponent, - LatestBlocksComponent, SearchFormComponent, TimeSpanComponent, AddressLabelsComponent, @@ -208,7 +206,6 @@ import { IndexingProgressComponent } from '../components/indexing-progress/index BlockComponent, TransactionsListComponent, AddressComponent, - LatestBlocksComponent, SearchFormComponent, TimeSpanComponent, AddressLabelsComponent, From 8db440f164572247a36898af9a94b3a8b8cbff61 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Fri, 20 May 2022 20:24:55 +0200 Subject: [PATCH 069/108] Update cache warmer --- production/nginx-cache-warmer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/production/nginx-cache-warmer b/production/nginx-cache-warmer index 165a97860..366a07345 100755 --- a/production/nginx-cache-warmer +++ b/production/nginx-cache-warmer @@ -4,6 +4,7 @@ slugs=(`curl -sSL https://raw.githubusercontent.com/mempool/mining-pools/master/ while true do for url in / \ + '/api/v1/blocks' \ '/api/v1/statistics/2h' \ '/api/v1/statistics/24h' \ '/api/v1/statistics/1w' \ @@ -36,7 +37,6 @@ do for url in / \ '/api/v1/mining/hashrate/pools/3y' \ '/api/v1/mining/hashrate/pools/all' \ '/api/v1/mining/reward-stats/144' \ - '/api/v1/mining/blocks-extras' \ '/api/v1/mining/blocks/fees/24h' \ '/api/v1/mining/blocks/fees/3d' \ '/api/v1/mining/blocks/fees/1w' \ From ffcfa4a659fc41b961d2ed4f31ad9d50245bfb83 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Sat, 21 May 2022 08:47:49 +0200 Subject: [PATCH 070/108] Setup redirect from /mining/blocks to /blocks - Update router links --- frontend/src/app/app-routing.module.ts | 15 +++++++++++++++ .../mining-dashboard.component.html | 2 +- .../src/app/dashboard/dashboard.component.html | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/app-routing.module.ts b/frontend/src/app/app-routing.module.ts index 5f1124031..6951accb2 100644 --- a/frontend/src/app/app-routing.module.ts +++ b/frontend/src/app/app-routing.module.ts @@ -34,6 +34,11 @@ let routes: Routes = [ path: '', component: MasterPageComponent, children: [ + { + path: 'mining/blocks', + redirectTo: 'blocks', + pathMatch: 'full' + }, { path: 'tx/push', component: PushTransactionComponent, @@ -110,6 +115,11 @@ let routes: Routes = [ { path: 'signet', children: [ + { + path: 'mining/blocks', + redirectTo: 'blocks', + pathMatch: 'full' + }, { path: '', pathMatch: 'full', @@ -201,6 +211,11 @@ let routes: Routes = [ path: '', component: MasterPageComponent, children: [ + { + path: 'mining/blocks', + redirectTo: 'blocks', + pathMatch: 'full' + }, { path: 'tx/push', component: PushTransactionComponent, 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 6a208e5c7..fe7c08ba2 100644 --- a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html +++ b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html @@ -51,7 +51,7 @@
Latest blocks
- +
diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 2ab42a6a0..d26b6660a 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -136,7 +136,7 @@
- + From 2da7ec2519a72cdc55979fb551a6515a2bf88b30 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Sat, 21 May 2022 08:51:36 +0200 Subject: [PATCH 071/108] Use ngClass to avoid multiple [class] conflict --- .../blocks-list/blocks-list.component.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 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 d5c8c2ef9..c7c16d1f2 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.html +++ b/frontend/src/app/components/blocks-list/blocks-list.component.html @@ -8,14 +8,14 @@
- - + + - + - - + + @@ -24,7 +24,7 @@ {{ block.height }} - - - - - - - - - - - From 88fba3f5064e0488da5bdbdbbc1d5e9e0ec67378 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Mon, 23 May 2022 13:02:18 +0200 Subject: [PATCH 075/108] For non Bitcoin network, run legacy API code, but keep the same endpoint --- backend/src/index.ts | 4 +- backend/src/mempool.interfaces.ts | 2 +- backend/src/routes.ts | 44 +++++++++++++++++-- backend/src/utils/blocks-utils.ts | 2 +- .../blocks-list/blocks-list.component.ts | 8 ++-- 5 files changed, 50 insertions(+), 10 deletions(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index d195ff157..09d8f7669 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -336,8 +336,8 @@ class Server { } this.app - .get(config.MEMPOOL.API_URL_PREFIX + 'blocks', routes.getBlocks) - .get(config.MEMPOOL.API_URL_PREFIX + 'blocks/:height', routes.getBlocks) + .get(config.MEMPOOL.API_URL_PREFIX + 'blocks', routes.getBlocks.bind(routes)) + .get(config.MEMPOOL.API_URL_PREFIX + 'blocks/:height', routes.getBlocks.bind(routes)) .get(config.MEMPOOL.API_URL_PREFIX + 'block/:hash', routes.getBlock); if (config.MEMPOOL.BACKEND !== 'esplora') { diff --git a/backend/src/mempool.interfaces.ts b/backend/src/mempool.interfaces.ts index 0081bd34f..60b07da1b 100644 --- a/backend/src/mempool.interfaces.ts +++ b/backend/src/mempool.interfaces.ts @@ -81,7 +81,7 @@ export interface TransactionStripped { export interface BlockExtension { totalFees?: number; - medianFee?: number; // Actually the median fee rate that we compute ourself + medianFee?: number; feeRange?: number[]; reward?: number; coinbaseTx?: TransactionMinerInfo; diff --git a/backend/src/routes.ts b/backend/src/routes.ts index 5b762ff27..fa298cc22 100644 --- a/backend/src/routes.ts +++ b/backend/src/routes.ts @@ -722,14 +722,52 @@ class Routes { public async getBlocks(req: Request, res: Response) { try { - const height = req.params.height === undefined ? undefined : parseInt(req.params.height, 10); - res.setHeader('Expires', new Date(Date.now() + 1000 * 60).toUTCString()); - res.json(await blocks.$getBlocks(height, 15)); + if (['mainnet', 'testnet', 'signet', 'regtest'].includes(config.MEMPOOL.NETWORK)) { // Bitcoin + const height = req.params.height === undefined ? undefined : parseInt(req.params.height, 10); + res.setHeader('Expires', new Date(Date.now() + 1000 * 60).toUTCString()); + res.json(await blocks.$getBlocks(height, 15)); + } else { // Liquid, Bisq + return await this.getLegacyBlocks(req, res); + } } catch (e) { res.status(500).send(e instanceof Error ? e.message : e); } } + public async getLegacyBlocks(req: Request, res: Response) { + try { + const returnBlocks: IEsploraApi.Block[] = []; + const fromHeight = parseInt(req.params.height, 10) || blocks.getCurrentBlockHeight(); + + // Check if block height exist in local cache to skip the hash lookup + const blockByHeight = blocks.getBlocks().find((b) => b.height === fromHeight); + let startFromHash: string | null = null; + if (blockByHeight) { + startFromHash = blockByHeight.id; + } else { + startFromHash = await bitcoinApi.$getBlockHash(fromHeight); + } + + let nextHash = startFromHash; + for (let i = 0; i < 10 && nextHash; i++) { + const localBlock = blocks.getBlocks().find((b) => b.id === nextHash); + if (localBlock) { + returnBlocks.push(localBlock); + nextHash = localBlock.previousblockhash; + } else { + const block = await bitcoinApi.$getBlock(nextHash); + returnBlocks.push(block); + nextHash = block.previousblockhash; + } + } + + res.setHeader('Expires', new Date(Date.now() + 1000 * 60).toUTCString()); + res.json(returnBlocks); + } catch (e) { + res.status(500).send(e instanceof Error ? e.message : e); + } + } + public async getBlockTransactions(req: Request, res: Response) { try { loadingIndicators.setProgress('blocktxs-' + req.params.hash, 0); diff --git a/backend/src/utils/blocks-utils.ts b/backend/src/utils/blocks-utils.ts index 8760a08c0..937a37448 100644 --- a/backend/src/utils/blocks-utils.ts +++ b/backend/src/utils/blocks-utils.ts @@ -15,7 +15,7 @@ export function prepareBlock(block: any): BlockExtended { weight: block.weight, previousblockhash: block.previousblockhash, extras: { - coinbaseRaw: block.coinbase_raw ?? block.extras.coinbaseRaw, + coinbaseRaw: block.coinbase_raw ?? block.extras?.coinbaseRaw, medianFee: block.medianFee ?? block.median_fee ?? block.extras?.medianFee, feeRange: block.feeRange ?? block.fee_span, reward: block.reward ?? block?.extras?.reward, 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 f1f81d321..7cca2af62 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.ts +++ b/frontend/src/app/components/blocks-list/blocks-list.component.ts @@ -87,9 +87,11 @@ export class BlocksList implements OnInit { return blocks[0]; } this.blocksCount = Math.max(this.blocksCount, blocks[1][0].height) + 1; - // @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'; + if (this.stateService.env.MINING_DASHBOARD) { + // @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'; + } acc.unshift(blocks[1][0]); acc = acc.slice(0, this.widget ? 6 : 15); return acc; From f8d6dd7c7b3ad1b34e392baba037903ba5cba717 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Mon, 23 May 2022 08:34:04 -0400 Subject: [PATCH 076/108] Add schildbach bitcoin wallet to about page --- frontend/src/app/components/about/about.component.html | 4 ++++ frontend/src/resources/profile/schildbach.svg | 1 + 2 files changed, 5 insertions(+) create mode 100644 frontend/src/resources/profile/schildbach.svg diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index 27892626c..47489457c 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -250,6 +250,10 @@ Marina + + + Schildbach + diff --git a/frontend/src/resources/profile/schildbach.svg b/frontend/src/resources/profile/schildbach.svg new file mode 100644 index 000000000..976deec88 --- /dev/null +++ b/frontend/src/resources/profile/schildbach.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2e9eb46caa000e602451abd47374e9a87034a2c5 Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 24 May 2022 04:57:08 +0400 Subject: [PATCH 077/108] npm audit fix --- frontend/package-lock.json | 277 ++++++++++++++----------------------- 1 file changed, 107 insertions(+), 170 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 6996073e5..dc5f7a01a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -3900,9 +3900,9 @@ } }, "node_modules/@socket.io/component-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz", - "integrity": "sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "dev": true }, "node_modules/@tootallnate/once": { @@ -4755,15 +4755,17 @@ } }, "node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dependencies": { + "lodash": "^4.17.14" + } }, "node_modules/async-each-series": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", + "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", "dev": true, "engines": { "node": ">=0.8.0" @@ -4996,12 +4998,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -5254,13 +5250,13 @@ } }, "node_modules/browser-sync": { - "version": "2.27.9", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.9.tgz", - "integrity": "sha512-3zBtggcaZIeU9so4ja9yxk7/CZu9B3DOL6zkxFpzHCHsQmkGBPVXg61jItbeoa+WXgNLnr1sYES/2yQwyEZ2+w==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.10.tgz", + "integrity": "sha512-xKm+6KJmJu6RuMWWbFkKwOCSqQOxYe3nOrFkKI5Tr/ZzjPxyU3pFShKK3tWnazBo/3lYQzN7fzjixG8fwJh1Xw==", "dev": true, "dependencies": { - "browser-sync-client": "^2.27.9", - "browser-sync-ui": "^2.27.9", + "browser-sync-client": "^2.27.10", + "browser-sync-ui": "^2.27.10", "bs-recipes": "1.3.4", "bs-snippet-injector": "^2.0.1", "chokidar": "^3.5.1", @@ -5277,7 +5273,7 @@ "localtunnel": "^2.0.1", "micromatch": "^4.0.2", "opn": "5.3.0", - "portscanner": "2.1.1", + "portscanner": "2.2.0", "qs": "6.2.3", "raw-body": "^2.3.2", "resp-modifier": "6.0.2", @@ -5298,15 +5294,16 @@ } }, "node_modules/browser-sync-client": { - "version": "2.27.9", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.9.tgz", - "integrity": "sha512-FHW8kydp7FXo6jnX3gXJCpHAHtWNLK0nx839nnK+boMfMI1n4KZd0+DmTxHBsHsF3OHud4V4jwoN8U5HExMIdQ==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.10.tgz", + "integrity": "sha512-KCFKA1YDj6cNul0VsA28apohtBsdk5Wv8T82ClOZPZMZWxPj4Ny5AUbrj9UlAb/k6pdxE5HABrWDhP9+cjt4HQ==", "dev": true, "dependencies": { "etag": "1.8.1", "fresh": "0.5.2", "mitt": "^1.1.3", - "rxjs": "^5.5.6" + "rxjs": "^5.5.6", + "typescript": "^4.6.2" }, "engines": { "node": ">=8.0.0" @@ -5333,10 +5330,23 @@ "node": ">=0.10.0" } }, + "node_modules/browser-sync-client/node_modules/typescript": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/browser-sync-ui": { - "version": "2.27.9", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.9.tgz", - "integrity": "sha512-rsduR2bRIwFvM8CX6iY/Nu5aWub0WB9zfSYg9Le/RV5N5DEyxJYey0VxdfWCnzDOoelassTDzYQo+r0iJno3qw==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz", + "integrity": "sha512-elbJILq4Uo6OQv6gsvS3Y9vRAJlWu+h8j0JDkF0X/ua+3S6SVbbiWnZc8sNOFlG7yvVGIwBED3eaYQ0iBo1Dtw==", "dev": true, "dependencies": { "async-each-series": "0.1.1", @@ -7891,20 +7901,16 @@ } }, "node_modules/engine.io-client": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.1.1.tgz", - "integrity": "sha512-V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz", + "integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==", "dev": true, "dependencies": { - "@socket.io/component-emitter": "~3.0.0", + "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1", - "engine.io-parser": "~5.0.0", - "has-cors": "1.1.0", - "parseqs": "0.0.6", - "parseuri": "0.0.6", + "engine.io-parser": "~5.0.3", "ws": "~8.2.3", - "xmlhttprequest-ssl": "~2.0.0", - "yeast": "0.1.2" + "xmlhttprequest-ssl": "~2.0.0" } }, "node_modules/engine.io-client/node_modules/ws": { @@ -9571,12 +9577,6 @@ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" }, - "node_modules/has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -13181,18 +13181,6 @@ "parse5": "^6.0.1" } }, - "node_modules/parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", - "dev": true - }, - "node_modules/parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", - "dev": true - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -13366,14 +13354,6 @@ "node": ">= 0.12.0" } }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } - }, "node_modules/portfinder/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -13383,12 +13363,12 @@ } }, "node_modules/portscanner": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", - "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", + "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", "dev": true, "dependencies": { - "async": "1.5.2", + "async": "^2.6.0", "is-number-like": "^1.0.3" }, "engines": { @@ -15098,29 +15078,27 @@ "devOptional": true }, "node_modules/socket.io-client": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.4.1.tgz", - "integrity": "sha512-N5C/L5fLNha5Ojd7Yeb/puKcPWWcoB/A09fEjjNsg91EDVr5twk/OEyO6VT9dlLSUNY85NpW6KBhVMvaLKQ3vQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.1.tgz", + "integrity": "sha512-e6nLVgiRYatS+AHXnOnGi4ocOpubvOUCGhyWw8v+/FxW8saHkinG6Dfhi9TU0Kt/8mwJIAASxvw6eujQmjdZVA==", "dev": true, "dependencies": { - "@socket.io/component-emitter": "~3.0.0", - "backo2": "~1.0.2", + "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.2", - "engine.io-client": "~6.1.1", - "parseuri": "0.0.6", - "socket.io-parser": "~4.1.1" + "engine.io-client": "~6.2.1", + "socket.io-parser": "~4.2.0" }, "engines": { "node": ">=10.0.0" } }, "node_modules/socket.io-client/node_modules/socket.io-parser": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.1.2.tgz", - "integrity": "sha512-j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.0.tgz", + "integrity": "sha512-tLfmEwcEwnlQTxFB7jibL/q2+q8dlVQzj4JdRLJ/W/G1+Fu9VSxCx1Lo+n1HvXxKnM//dUuD0xgiA7tQf57Vng==", "dev": true, "dependencies": { - "@socket.io/component-emitter": "~3.0.0", + "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" }, "engines": { @@ -17264,12 +17242,6 @@ "fd-slicer": "~1.1.0" } }, - "node_modules/yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", @@ -20020,9 +19992,9 @@ "devOptional": true }, "@socket.io/component-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz", - "integrity": "sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "dev": true }, "@tootallnate/once": { @@ -20794,15 +20766,17 @@ "optional": true }, "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "requires": { + "lodash": "^4.17.14" + } }, "async-each-series": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", + "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", "dev": true }, "asynckit": { @@ -20976,12 +20950,6 @@ "@babel/helper-define-polyfill-provider": "^0.3.1" } }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -21210,13 +21178,13 @@ } }, "browser-sync": { - "version": "2.27.9", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.9.tgz", - "integrity": "sha512-3zBtggcaZIeU9so4ja9yxk7/CZu9B3DOL6zkxFpzHCHsQmkGBPVXg61jItbeoa+WXgNLnr1sYES/2yQwyEZ2+w==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.10.tgz", + "integrity": "sha512-xKm+6KJmJu6RuMWWbFkKwOCSqQOxYe3nOrFkKI5Tr/ZzjPxyU3pFShKK3tWnazBo/3lYQzN7fzjixG8fwJh1Xw==", "dev": true, "requires": { - "browser-sync-client": "^2.27.9", - "browser-sync-ui": "^2.27.9", + "browser-sync-client": "^2.27.10", + "browser-sync-ui": "^2.27.10", "bs-recipes": "1.3.4", "bs-snippet-injector": "^2.0.1", "chokidar": "^3.5.1", @@ -21233,7 +21201,7 @@ "localtunnel": "^2.0.1", "micromatch": "^4.0.2", "opn": "5.3.0", - "portscanner": "2.1.1", + "portscanner": "2.2.0", "qs": "6.2.3", "raw-body": "^2.3.2", "resp-modifier": "6.0.2", @@ -21343,15 +21311,16 @@ } }, "browser-sync-client": { - "version": "2.27.9", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.9.tgz", - "integrity": "sha512-FHW8kydp7FXo6jnX3gXJCpHAHtWNLK0nx839nnK+boMfMI1n4KZd0+DmTxHBsHsF3OHud4V4jwoN8U5HExMIdQ==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.10.tgz", + "integrity": "sha512-KCFKA1YDj6cNul0VsA28apohtBsdk5Wv8T82ClOZPZMZWxPj4Ny5AUbrj9UlAb/k6pdxE5HABrWDhP9+cjt4HQ==", "dev": true, "requires": { "etag": "1.8.1", "fresh": "0.5.2", "mitt": "^1.1.3", - "rxjs": "^5.5.6" + "rxjs": "^5.5.6", + "typescript": "^4.6.2" }, "dependencies": { "rxjs": { @@ -21368,13 +21337,19 @@ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", "dev": true + }, + "typescript": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "dev": true } } }, "browser-sync-ui": { - "version": "2.27.9", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.9.tgz", - "integrity": "sha512-rsduR2bRIwFvM8CX6iY/Nu5aWub0WB9zfSYg9Le/RV5N5DEyxJYey0VxdfWCnzDOoelassTDzYQo+r0iJno3qw==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz", + "integrity": "sha512-elbJILq4Uo6OQv6gsvS3Y9vRAJlWu+h8j0JDkF0X/ua+3S6SVbbiWnZc8sNOFlG7yvVGIwBED3eaYQ0iBo1Dtw==", "dev": true, "requires": { "async-each-series": "0.1.1", @@ -23395,20 +23370,16 @@ } }, "engine.io-client": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.1.1.tgz", - "integrity": "sha512-V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz", + "integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==", "dev": true, "requires": { - "@socket.io/component-emitter": "~3.0.0", + "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1", - "engine.io-parser": "~5.0.0", - "has-cors": "1.1.0", - "parseqs": "0.0.6", - "parseuri": "0.0.6", + "engine.io-parser": "~5.0.3", "ws": "~8.2.3", - "xmlhttprequest-ssl": "~2.0.0", - "yeast": "0.1.2" + "xmlhttprequest-ssl": "~2.0.0" }, "dependencies": { "ws": { @@ -24622,12 +24593,6 @@ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -27435,18 +27400,6 @@ "parse5": "^6.0.1" } }, - "parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", - "dev": true - }, - "parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", - "dev": true - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -27576,14 +27529,6 @@ "mkdirp": "^0.5.5" }, "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } - }, "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -27595,12 +27540,12 @@ } }, "portscanner": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", - "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", + "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", "dev": true, "requires": { - "async": "1.5.2", + "async": "^2.6.0", "is-number-like": "^1.0.3" } }, @@ -28879,26 +28824,24 @@ "devOptional": true }, "socket.io-client": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.4.1.tgz", - "integrity": "sha512-N5C/L5fLNha5Ojd7Yeb/puKcPWWcoB/A09fEjjNsg91EDVr5twk/OEyO6VT9dlLSUNY85NpW6KBhVMvaLKQ3vQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.1.tgz", + "integrity": "sha512-e6nLVgiRYatS+AHXnOnGi4ocOpubvOUCGhyWw8v+/FxW8saHkinG6Dfhi9TU0Kt/8mwJIAASxvw6eujQmjdZVA==", "dev": true, "requires": { - "@socket.io/component-emitter": "~3.0.0", - "backo2": "~1.0.2", + "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.2", - "engine.io-client": "~6.1.1", - "parseuri": "0.0.6", - "socket.io-parser": "~4.1.1" + "engine.io-client": "~6.2.1", + "socket.io-parser": "~4.2.0" }, "dependencies": { "socket.io-parser": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.1.2.tgz", - "integrity": "sha512-j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.0.tgz", + "integrity": "sha512-tLfmEwcEwnlQTxFB7jibL/q2+q8dlVQzj4JdRLJ/W/G1+Fu9VSxCx1Lo+n1HvXxKnM//dUuD0xgiA7tQf57Vng==", "dev": true, "requires": { - "@socket.io/component-emitter": "~3.0.0", + "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" } } @@ -30543,12 +30486,6 @@ "fd-slicer": "~1.1.0" } }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", From 584fb47de7c51030e4f9dff856ed5e0feafbade0 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 24 May 2022 11:19:09 +0200 Subject: [PATCH 078/108] Fix widget size mining dashboard --- .../src/app/components/blocks-list/blocks-list.component.html | 2 +- .../difficulty-adjustments-table.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 1b10fe1d2..0e0f5d1e1 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

diff --git a/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html b/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html index 6e80d828a..5f11c2608 100644 --- a/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html +++ b/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html @@ -1,4 +1,4 @@ -
+
HeightPoolHeightPool Timestamp MinedRewardReward FeesTXsTransactionsTXsTransactions Size
+ + + {{ block.tx_count | number }} From 3723380a369675205955da0828c945318ac29072 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Mon, 23 May 2022 09:44:09 +0200 Subject: [PATCH 072/108] Hide graph selection button on non bitcoin networks --- frontend/src/app/components/graphs/graphs.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/graphs/graphs.component.html b/frontend/src/app/components/graphs/graphs.component.html index 6c59645ea..b02adae5e 100644 --- a/frontend/src/app/components/graphs/graphs.component.html +++ b/frontend/src/app/components/graphs/graphs.component.html @@ -1,7 +1,7 @@ -
- {{ block.height - }} + {{ block.height }}
@@ -61,29 +60,29 @@
+ + + + + + + +
From 406d4101c0a69fa7b368a33d86badc1f61e67d42 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 24 May 2022 11:55:43 +0200 Subject: [PATCH 079/108] Add loading spinner in /blocks page --- .../app/components/blocks-list/blocks-list.component.html | 1 + .../app/components/blocks-list/blocks-list.component.scss | 6 ++++++ 2 files changed, 7 insertions(+) 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 face9452b..9abb0f98f 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.html +++ b/frontend/src/app/components/blocks-list/blocks-list.component.html @@ -2,6 +2,7 @@

Blocks

+
diff --git a/frontend/src/app/components/blocks-list/blocks-list.component.scss b/frontend/src/app/components/blocks-list/blocks-list.component.scss index ead712be0..817b73192 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.scss +++ b/frontend/src/app/components/blocks-list/blocks-list.component.scss @@ -1,3 +1,9 @@ +.spinner-border { + height: 25px; + width: 25px; + margin-top: 13px; +} + .container-xl { max-width: 1400px; padding-bottom: 100px; From f55590269ec1ead71004d51e8c59c2ebf323ccb3 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Thu, 19 May 2022 12:43:37 -0400 Subject: [PATCH 080/108] Move manual install docs away from main readme Replace with links to docker/, frontend/, and /backend. --- README.md | 176 +++--------------------------------------------------- 1 file changed, 7 insertions(+), 169 deletions(-) diff --git a/README.md b/README.md index db921d86d..ae0e2191e 100644 --- a/README.md +++ b/README.md @@ -10,14 +10,7 @@ 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. -We support the following installation methods, ranked in order from simple to advanced: - -1) [One-click installation on full-node distros](#one-click-installation) -2) [Docker installation on Linux using docker-compose](./docker) -3) [Manual installation on Linux or FreeBSD](#manual-installation) -4) [Production installation on a powerful FreeBSD server](./production) - -This doc offers install notes on the one-click method and manual install method. Follow the links above for install notes on Docker and production installations. +**Most people should use a one-click install method.** Other install methods are meant for developers and others with experience managing servers. ## One-Click Installation @@ -29,167 +22,12 @@ Mempool can be conveniently installed on the following full-node distros: - [myNode](https://github.com/mynodebtc/mynode) - [Start9](https://github.com/Start9Labs/embassy-os) - -## Manual Installation +**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. -The following instructions are for a manual installation on Linux or FreeBSD. You may need to change file and directory paths to match your OS. +## Advanced Installation Methods -You will need [Bitcoin Core](https://github.com/bitcoin/bitcoin), [Electrum Server](https://github.com/romanz/electrs), [Node.js](https://github.com/nodejs/node), [MariaDB](https://github.com/mariadb/server), and [Nginx](https://github.com/nginx/nginx). Below, we walk through how to configure each of these. +Mempool can be installed in other ways too, but we only recommend doing so if you're a developer, have experience managing servers, or otherwise know what you're doing. -### 1. Get Latest Mempool Release - -Clone the Mempool repo, and checkout the latest release tag: - -```bash -git clone https://github.com/mempool/mempool -cd mempool -latestrelease=$(curl -s https://api.github.com/repos/mempool/mempool/releases/latest|grep tag_name|head -1|cut -d '"' -f4) -git checkout $latestrelease -``` - -### 2. Configure Bitcoin Core - -Enable RPC and txindex in `bitcoin.conf`: - -```bash -rpcuser=mempool -rpcpassword=mempool -txindex=1 -``` - -### 3. Get & Configure MySQL - -Install MariaDB from your OS package manager: - -```bash -# Debian, Ubuntu, etc. -apt-get install mariadb-server mariadb-client - -# macOS -brew install mariadb -mysql.server start -``` - -Create a database and grant privileges: - -```bash -MariaDB [(none)]> drop database mempool; -Query OK, 0 rows affected (0.00 sec) - -MariaDB [(none)]> create database mempool; -Query OK, 1 row affected (0.00 sec) - -MariaDB [(none)]> grant all privileges on mempool.* to 'mempool'@'%' identified by 'mempool'; -Query OK, 0 rows affected (0.00 sec) -``` - -### 4. Build Mempool Backend - -Install Mempool dependencies with npm and build the backend: - -```bash -cd backend -npm install --prod -npm run build -``` - -In the `backend` folder, make a copy of the sample config: - -```bash -cp mempool-config.sample.json mempool-config.json -``` - -Edit `mempool-config.json` with your Bitcoin Core node RPC credentials: - -```bash -{ - "MEMPOOL": { - "NETWORK": "mainnet", - "BACKEND": "electrum", - "HTTP_PORT": 8999 - }, - "CORE_RPC": { - "HOST": "127.0.0.1", - "PORT": 8332, - "USERNAME": "mempool", - "PASSWORD": "mempool" - }, - "ELECTRUM": { - "HOST": "127.0.0.1", - "PORT": 50002, - "TLS_ENABLED": true - }, - "DATABASE": { - "ENABLED": true, - "HOST": "127.0.0.1", - "PORT": 3306, - "USERNAME": "mempool", - "PASSWORD": "mempool", - "DATABASE": "mempool" - } -} -``` - -Start the backend: - -```bash -npm run start -``` - -When it's running, you should see output like this: - -```bash -Mempool updated in 0.189 seconds -Updating mempool -Mempool updated in 0.096 seconds -Updating mempool -Mempool updated in 0.099 seconds -Updating mempool -Calculated fee for transaction 1 / 10 -Calculated fee for transaction 2 / 10 -Calculated fee for transaction 3 / 10 -Calculated fee for transaction 4 / 10 -Calculated fee for transaction 5 / 10 -Calculated fee for transaction 6 / 10 -Calculated fee for transaction 7 / 10 -Calculated fee for transaction 8 / 10 -Calculated fee for transaction 9 / 10 -Calculated fee for transaction 10 / 10 -Mempool updated in 0.243 seconds -Updating mempool -``` - -### 5. Build Mempool Frontend - -Install the Mempool dependencies with npm and build the frontend: - -```bash -cd frontend -npm install --prod -npm run build -``` - -Install the output into the nginx webroot folder: - -```bash -sudo rsync -av --delete dist/ /var/www/ -``` - -### 6. `nginx` + `certbot` - -Install the supplied `nginx.conf` and `nginx-mempool.conf` in `/etc/nginx`: - -```bash -# install nginx and certbot -apt-get install -y nginx python3-certbot-nginx - -# install the mempool configuration for nginx -cp nginx.conf nginx-mempool.conf /etc/nginx/ - -# replace example.com with your domain name -certbot --nginx -d example.com -``` - -If everything went well, you should see the beautiful mempool :grin: - -If you get stuck on "loading blocks", this means the websocket can't connect. Check your nginx proxy setup, firewalls, etc. and open an issue if you need help. +- See the [`docker/`](./docker/) directory for instructions on deploying Mempool with Docker. +- See the [`backend/`](./backend/) and [`frontend/`](./frontend/) directories for manual install instructions oriented for developers and small-scale deployments. +- See the [`production/`](./production/) directory for guidance on setting up a more serious Mempool instance designed for high performance at scale. \ No newline at end of file From 875040c3291cca390193e5afcebd59cee7f11418 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Wed, 25 May 2022 10:51:35 +0200 Subject: [PATCH 081/108] Save bisq aggregate exchange rates in the database for each new block --- backend/src/api/blocks.ts | 7 ++++++ backend/src/api/database-migration.ts | 14 ++++++++++- backend/src/api/fiat-conversion.ts | 28 +++++++++++++-------- backend/src/repositories/RatesRepository.ts | 21 ++++++++++++++++ 4 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 backend/src/repositories/RatesRepository.ts diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index ba6fdff22..5ab9df6cf 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -16,6 +16,8 @@ import { prepareBlock } from '../utils/blocks-utils'; import BlocksRepository from '../repositories/BlocksRepository'; import HashratesRepository from '../repositories/HashratesRepository'; import indexer from '../indexer'; +import fiatConversion from './fiat-conversion'; +import RatesRepository from '../repositories/RatesRepository'; class Blocks { private blocks: BlockExtended[] = []; @@ -312,6 +314,8 @@ class Blocks { } } + const currentUsdPrice = fiatConversion.getConversionRates().USD; + while (this.currentBlockHeight < blockHeightTip) { if (this.currentBlockHeight < blockHeightTip - config.MEMPOOL.INITIAL_BLOCKS_AMOUNT) { this.currentBlockHeight = blockHeightTip; @@ -341,6 +345,9 @@ class Blocks { await blocksRepository.$saveBlockInDatabase(blockExtended); } } + if (fiatConversion.ratesInitialized === true) { + await RatesRepository.$saveRate(blockExtended.height, fiatConversion.getConversionRates()); + } if (block.height % 2016 === 0) { this.previousDifficultyRetarget = (block.difficulty - this.currentDifficulty) / this.currentDifficulty * 100; diff --git a/backend/src/api/database-migration.ts b/backend/src/api/database-migration.ts index 8fb534dc5..45207007e 100644 --- a/backend/src/api/database-migration.ts +++ b/backend/src/api/database-migration.ts @@ -4,7 +4,7 @@ import logger from '../logger'; import { Common } from './common'; class DatabaseMigration { - private static currentVersion = 18; + private static currentVersion = 19; private queryTimeout = 120000; private statisticsAddedIndexed = false; @@ -184,6 +184,10 @@ class DatabaseMigration { if (databaseSchemaVersion < 18 && isBitcoin === true) { await this.$executeQuery('ALTER TABLE `blocks` ADD INDEX `hash` (`hash`);'); } + + if (databaseSchemaVersion < 19 && isBitcoin === true) { + await this.$executeQuery(this.getCreateRatesTableQuery(), await this.$checkIfTableExists('rates')); + } } catch (e) { throw e; } @@ -466,6 +470,14 @@ class DatabaseMigration { ) ENGINE=InnoDB DEFAULT CHARSET=utf8;`; } + private getCreateRatesTableQuery(): string { + return `CREATE TABLE IF NOT EXISTS rates ( + height int(10) unsigned NOT NULL, + bisq_rates JSON NOT NULL, + PRIMARY KEY (height) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8;`; + } + public async $truncateIndexedData(tables: string[]) { const allowedTables = ['blocks', 'hashrates']; diff --git a/backend/src/api/fiat-conversion.ts b/backend/src/api/fiat-conversion.ts index 5fdde7274..3562760f1 100644 --- a/backend/src/api/fiat-conversion.ts +++ b/backend/src/api/fiat-conversion.ts @@ -6,12 +6,19 @@ import backendInfo from './backend-info'; import { SocksProxyAgent } from 'socks-proxy-agent'; class FiatConversion { - private conversionRates: IConversionRates = { - 'USD': 0 - }; + private debasingFiatCurrencies = ['AED', 'AUD', 'BDT', 'BHD', 'BMD', 'BRL', 'CAD', 'CHF', 'CLP', + 'CNY', 'CZK', 'DKK', 'EUR', 'GBP', 'HKD', 'HUF', 'IDR', 'ILS', 'INR', 'JPY', 'KRW', 'KWD', + 'LKR', 'MMK', 'MXN', 'MYR', 'NGN', 'NOK', 'NZD', 'PHP', 'PKR', 'PLN', 'RUB', 'SAR', 'SEK', + 'SGD', 'THB', 'TRY', 'TWD', 'UAH', 'USD', 'VND', 'ZAR']; + private conversionRates: IConversionRates = {}; private ratesChangedCallback: ((rates: IConversionRates) => void) | undefined; + public ratesInitialized = false; // If true, it means rates are ready for use - constructor() { } + constructor() { + for (const fiat of this.debasingFiatCurrencies) { + this.conversionRates[fiat] = 0; + } + } public setProgressChangedCallback(fn: (rates: IConversionRates) => void) { this.ratesChangedCallback = fn; @@ -62,13 +69,14 @@ class FiatConversion { response = await axios.get(fiatConversionUrl, { headers: headers, timeout: 10000 }); } - const usd = response.data.data.find((item: any) => item.currencyCode === 'USD'); + for (const rate of response.data.data) { + if (this.debasingFiatCurrencies.includes(rate.currencyCode) && rate.provider === 'Bisq-Aggregate') { + this.conversionRates[rate.currencyCode] = Math.round(100 * rate.price) / 100; + } + } - this.conversionRates = { - 'USD': usd.price, - }; - - logger.debug(`USD Conversion Rate: ${usd.price}`); + this.ratesInitialized = true; + logger.debug(`USD Conversion Rate: ${this.conversionRates.USD}`); if (this.ratesChangedCallback) { this.ratesChangedCallback(this.conversionRates); diff --git a/backend/src/repositories/RatesRepository.ts b/backend/src/repositories/RatesRepository.ts new file mode 100644 index 000000000..e84ef2827 --- /dev/null +++ b/backend/src/repositories/RatesRepository.ts @@ -0,0 +1,21 @@ +import DB from '../database'; +import logger from '../logger'; +import { IConversionRates } from '../mempool.interfaces'; + +class RatesRepository { + public async $saveRate(height: number, rates: IConversionRates) { + try { + await DB.query(`INSERT INTO rates(height, bisq_rates) VALUE (?, ?)`, [height, JSON.stringify(rates)]); + } catch (e: any) { + if (e.errno === 1062) { // ER_DUP_ENTRY - This scenario is possible upon node backend restart + logger.debug(`Rate already exists for block ${height}, ignoring`); + } else { + logger.err(`Cannot save exchange rate into db for block ${height} Reason: ` + (e instanceof Error ? e.message : e)); + throw e; + } + } + } +} + +export default new RatesRepository(); + From c402422682f61c60a67567f60fce847281febff8 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Fri, 20 May 2022 10:07:57 +0200 Subject: [PATCH 082/108] Remove last trace of legacy `oldestIndexedBlockTimestamp` --- backend/src/api/mining.ts | 1 - backend/src/routes.ts | 8 +++----- .../block-fee-rates-graph.component.html | 20 +++++++++---------- .../block-fee-rates-graph.component.ts | 12 ++++------- ...difficulty-adjustments-table.components.ts | 5 ----- .../src/app/interfaces/node-api.interface.ts | 1 - frontend/src/app/services/api.service.ts | 2 +- 7 files changed, 18 insertions(+), 31 deletions(-) diff --git a/backend/src/api/mining.ts b/backend/src/api/mining.ts index 8d11abfa7..7e7008351 100644 --- a/backend/src/api/mining.ts +++ b/backend/src/api/mining.ts @@ -89,7 +89,6 @@ class Mining { }); poolsStatistics['pools'] = poolsStats; - poolsStatistics['oldestIndexedBlockTimestamp'] = await BlocksRepository.$oldestBlockTimestamp(); const blockCount: number = await BlocksRepository.$blockCount(null, interval); poolsStatistics['blockCount'] = blockCount; diff --git a/backend/src/routes.ts b/backend/src/routes.ts index cf28dd71d..84c71e82f 100644 --- a/backend/src/routes.ts +++ b/backend/src/routes.ts @@ -669,14 +669,12 @@ class Routes { public async $getHistoricalBlockFeeRates(req: Request, res: Response) { try { const blockFeeRates = await mining.$getHistoricalBlockFeeRates(req.params.interval); - const oldestIndexedBlockTimestamp = await BlocksRepository.$oldestBlockTimestamp(); + const blockCount = await BlocksRepository.$blockCount(null, null); res.header('Pragma', 'public'); res.header('Cache-control', 'public'); + res.header('X-total-count', blockCount.toString()); res.setHeader('Expires', new Date(Date.now() + 1000 * 60).toUTCString()); - res.json({ - oldestIndexedBlockTimestamp: oldestIndexedBlockTimestamp, - blockFeeRates: blockFeeRates, - }); + res.json(blockFeeRates); } catch (e) { res.status(500).send(e instanceof Error ? e.message : e); } 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 ec3773ca8..016c80936 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 @@ -8,34 +8,34 @@
-
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 2cd421f26..3a4d2b89d 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 @@ -76,7 +76,7 @@ export class BlockFeeRatesGraphComponent implements OnInit { this.isLoading = true; return this.apiService.getHistoricalBlockFeeRates$(timespan) .pipe( - tap((data: any) => { + tap((response) => { // Group by percentile const seriesData = { 'Min': [], @@ -87,7 +87,7 @@ export class BlockFeeRatesGraphComponent implements OnInit { '90th': [], 'Max': [] }; - for (const rate of data.blockFeeRates) { + 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]); @@ -130,13 +130,9 @@ export class BlockFeeRatesGraphComponent implements OnInit { }); this.isLoading = false; }), - map((data: any) => { - const availableTimespanDay = ( - (new Date().getTime() / 1000) - (data.oldestIndexedBlockTimestamp) - ) / 3600 / 24; - + map((response) => { return { - availableTimespanDay: availableTimespanDay, + blockCount: parseInt(response.headers.get('x-total-count'), 10), }; }), ); diff --git a/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.components.ts b/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.components.ts index 854c1c349..fb7d5c8f7 100644 --- a/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.components.ts +++ b/frontend/src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.components.ts @@ -34,10 +34,6 @@ export class DifficultyAdjustmentsTable implements OnInit { .pipe( map((response) => { const data = response.body; - const availableTimespanDay = ( - (new Date().getTime() / 1000) - (data.oldestIndexedBlockTimestamp) - ) / 3600 / 24; - const tableData = []; for (let i = data.difficulty.length - 1; i > 0; --i) { const selectedPowerOfTen: any = selectPowerOfTen(data.difficulty[i].difficulty); @@ -53,7 +49,6 @@ export class DifficultyAdjustmentsTable implements OnInit { this.isLoading = false; return { - availableTimespanDay: availableTimespanDay, difficulty: tableData.slice(0, 6), }; }), diff --git a/frontend/src/app/interfaces/node-api.interface.ts b/frontend/src/app/interfaces/node-api.interface.ts index 4998a0d70..d1f9932d7 100644 --- a/frontend/src/app/interfaces/node-api.interface.ts +++ b/frontend/src/app/interfaces/node-api.interface.ts @@ -76,7 +76,6 @@ export interface SinglePoolStats { export interface PoolsStats { blockCount: number; lastEstimatedHashrate: number; - oldestIndexedBlockTimestamp: number; pools: SinglePoolStats[]; } diff --git a/frontend/src/app/services/api.service.ts b/frontend/src/app/services/api.service.ts index 8ef656013..be63dd196 100644 --- a/frontend/src/app/services/api.service.ts +++ b/frontend/src/app/services/api.service.ts @@ -189,7 +189,7 @@ export class ApiService { getHistoricalBlockFeeRates$(interval: string | undefined) : Observable { return this.httpClient.get( this.apiBaseUrl + this.apiBasePath + `/api/v1/mining/blocks/fee-rates` + - (interval !== undefined ? `/${interval}` : '') + (interval !== undefined ? `/${interval}` : ''), { observe: 'response' } ); } From f9bcdfb1e5e2fab90b6f89a236846ef25d0834bd Mon Sep 17 00:00:00 2001 From: nymkappa Date: Fri, 20 May 2022 10:13:27 +0200 Subject: [PATCH 083/108] Update API documentation --- .../src/app/docs/api-docs/api-docs-data.ts | 182 +++++++++--------- 1 file changed, 86 insertions(+), 96 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 fcb60a154..20108d250 100644 --- a/frontend/src/app/docs/api-docs/api-docs-data.ts +++ b/frontend/src/app/docs/api-docs/api-docs-data.ts @@ -3049,7 +3049,6 @@ export const restApiDocsData = [ "slug": "antpool" }, ... - "oldestIndexedBlockTimestamp": 1231006505, "blockCount": 1005, "lastEstimatedHashrate": 230086716765559200000 }` @@ -3080,7 +3079,6 @@ export const restApiDocsData = [ }, ... ], - "oldestIndexedBlockTimestamp": 1296688602, "blockCount": 2226180, "lastEstimatedHashrate": 602244182177430.8 }` @@ -4025,111 +4023,103 @@ export const restApiDocsData = [ esModule: [], commonJS: [], curl: [`1m`], - response: `{ - "oldestIndexedBlockTimestamp": 1571434851, - "blockFeeRates": [ - { - "avgHeight": 732152, - "timestamp": 1650132959, - "avgFee_0": 1, - "avgFee_10": 2, - "avgFee_25": 2, - "avgFee_50": 3, - "avgFee_75": 4, - "avgFee_90": 8, - "avgFee_100": 393 - }, - { - "avgHeight": 732158, - "timestamp": 1650134432, - "avgFee_0": 1, - "avgFee_10": 1, - "avgFee_25": 2, - "avgFee_50": 4, - "avgFee_75": 6, - "avgFee_90": 10, - "avgFee_100": 240 - }, - { - "avgHeight": 732161, - "timestamp": 1650135818, - "avgFee_0": 1, - "avgFee_10": 1, - "avgFee_25": 1, - "avgFee_50": 2, - "avgFee_75": 5, - "avgFee_90": 8, - "avgFee_100": 251 - }, - ... - ] -}` + response: `[ + { + "avgHeight": 732152, + "timestamp": 1650132959, + "avgFee_0": 1, + "avgFee_10": 2, + "avgFee_25": 2, + "avgFee_50": 3, + "avgFee_75": 4, + "avgFee_90": 8, + "avgFee_100": 393 + }, + { + "avgHeight": 732158, + "timestamp": 1650134432, + "avgFee_0": 1, + "avgFee_10": 1, + "avgFee_25": 2, + "avgFee_50": 4, + "avgFee_75": 6, + "avgFee_90": 10, + "avgFee_100": 240 + }, + { + "avgHeight": 732161, + "timestamp": 1650135818, + "avgFee_0": 1, + "avgFee_10": 1, + "avgFee_25": 1, + "avgFee_50": 2, + "avgFee_75": 5, + "avgFee_90": 8, + "avgFee_100": 251 + }, + ... +]` }, codeSampleTestnet: { esModule: [], commonJS: [], curl: [`1m`], - response: `{ - "oldestIndexedBlockTimestamp": 1296688602, - "blockFeeRates": [ - { - "avgHeight": 2196306, - "timestamp": 1650360168, - "avgFee_0": 1, - "avgFee_10": 1, - "avgFee_25": 1, - "avgFee_50": 1, - "avgFee_75": 2, - "avgFee_90": 28, - "avgFee_100": 2644 - }, - { - "avgHeight": 2196308, - "timestamp": 1650361209, - "avgFee_0": 1, - "avgFee_10": 1, - "avgFee_25": 1, - "avgFee_50": 4, - "avgFee_75": 12, - "avgFee_90": 65, - "avgFee_100": 102 - }, - ... - ] -}` + response: `[ + { + "avgHeight": 2196306, + "timestamp": 1650360168, + "avgFee_0": 1, + "avgFee_10": 1, + "avgFee_25": 1, + "avgFee_50": 1, + "avgFee_75": 2, + "avgFee_90": 28, + "avgFee_100": 2644 + }, + { + "avgHeight": 2196308, + "timestamp": 1650361209, + "avgFee_0": 1, + "avgFee_10": 1, + "avgFee_25": 1, + "avgFee_50": 4, + "avgFee_75": 12, + "avgFee_90": 65, + "avgFee_100": 102 + }, + ... +]` }, codeSampleSignet: { esModule: [], commonJS: [], curl: [`1m`], response: `{ - "oldestIndexedBlockTimestamp": 1598918400, - "blockFeeRates": [ - { - "avgHeight": 86620, - "timestamp": 1650360010, - "avgFee_0": 1, - "avgFee_10": 1, - "avgFee_25": 1, - "avgFee_50": 1, - "avgFee_75": 1, - "avgFee_90": 1, - "avgFee_100": 1 - }, - { - "avgHeight": 86623, - "timestamp": 1650361330, - "avgFee_0": 1, - "avgFee_10": 1, - "avgFee_25": 1, - "avgFee_50": 1, - "avgFee_75": 1, - "avgFee_90": 1, - "avgFee_100": 1 - }, - ... - ] -}` +"blockFeeRates": [ + { + "avgHeight": 86620, + "timestamp": 1650360010, + "avgFee_0": 1, + "avgFee_10": 1, + "avgFee_25": 1, + "avgFee_50": 1, + "avgFee_75": 1, + "avgFee_90": 1, + "avgFee_100": 1 + }, + { + "avgHeight": 86623, + "timestamp": 1650361330, + "avgFee_0": 1, + "avgFee_10": 1, + "avgFee_25": 1, + "avgFee_50": 1, + "avgFee_75": 1, + "avgFee_90": 1, + "avgFee_100": 1 + }, + ... +]` }, codeSampleLiquid: emptyCodeSample, codeSampleLiquidTestnet: emptyCodeSample, From 7a51572082ff118cbb8662ad8cab0e34b6705d77 Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 24 May 2022 13:48:45 +0400 Subject: [PATCH 084/108] NgBootstrap library import optimization --- frontend/src/app/bisq/bisq.module.ts | 2 -- frontend/src/app/shared/shared.module.ts | 21 +++++++++------------ 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/frontend/src/app/bisq/bisq.module.ts b/frontend/src/app/bisq/bisq.module.ts index 34c09f971..ebb9c3ee6 100644 --- a/frontend/src/app/bisq/bisq.module.ts +++ b/frontend/src/app/bisq/bisq.module.ts @@ -7,7 +7,6 @@ import { LightweightChartsComponent } from './lightweight-charts/lightweight-cha import { LightweightChartsAreaComponent } from './lightweight-charts-area/lightweight-charts-area.component'; import { BisqMarketComponent } from './bisq-market/bisq-market.component'; import { BisqTransactionsComponent } from './bisq-transactions/bisq-transactions.component'; -import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap'; import { BisqTransactionComponent } from './bisq-transaction/bisq-transaction.component'; import { BisqBlockComponent } from './bisq-block/bisq-block.component'; import { BisqDashboardComponent } from './bisq-dashboard/bisq-dashboard.component'; @@ -50,7 +49,6 @@ import { CommonModule } from '@angular/common'; CommonModule, BisqRoutingModule, SharedModule, - NgbPaginationModule, FontAwesomeModule, NgxBootstrapMultiselectModule, ], diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index eb0bf5b87..c7ae8711e 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -1,7 +1,6 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap'; +import { NgbCollapse, NgbCollapseModule, NgbRadioGroup, NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap'; 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, faAngleDoubleDown, faSortUp, faAngleDoubleUp, faChevronDown, @@ -146,11 +145,10 @@ import { IndexingProgressComponent } from '../components/indexing-progress/index NgbTooltipModule, NgbButtonsModule, NgbPaginationModule, - NgbDropdownModule, - NgbAccordionModule, - InfiniteScrollModule, NgbTypeaheadModule, - NgbModule, + NgbDropdownModule, + NgbCollapseModule, + InfiniteScrollModule, FontAwesomeModule, ], providers: [ @@ -162,17 +160,16 @@ import { IndexingProgressComponent } from '../components/indexing-progress/index ], exports: [ RouterModule, - InfiniteScrollModule, - NgbTypeaheadModule, - NgbModule, - FontAwesomeModule, - NgbAccordionModule, - NgbNavModule, ReactiveFormsModule, + NgbNavModule, NgbTooltipModule, NgbButtonsModule, NgbPaginationModule, + NgbTypeaheadModule, NgbDropdownModule, + NgbCollapseModule, + InfiniteScrollModule, + FontAwesomeModule, TimeSinceComponent, TimeUntilComponent, ClipboardComponent, From 428401891e44ccedd0ca2e6c0f413c56254024a6 Mon Sep 17 00:00:00 2001 From: softsimon Date: Wed, 25 May 2022 19:03:25 +0400 Subject: [PATCH 085/108] i18n extract --- frontend/src/locale/messages.xlf | 112 ++++++++++++++----------------- 1 file changed, 50 insertions(+), 62 deletions(-) diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 2d1a498dd..578865b5c 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -398,11 +398,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -464,10 +460,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -505,8 +497,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -528,14 +520,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -715,7 +699,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -956,7 +940,7 @@ src/app/components/transactions-list/transactions-list.component.html - 245,247 + 249,251 @@ -1008,7 +992,7 @@ src/app/components/transactions-list/transactions-list.component.html - 272,273 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1036,7 +1020,7 @@ src/app/components/transactions-list/transactions-list.component.html - 273,274 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1368,7 +1352,7 @@ Community Alliances src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1376,7 +1360,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1384,7 +1368,7 @@ Project Contributors src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1392,7 +1376,7 @@ Project Members src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1400,7 +1384,7 @@ Project Maintainers src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1490,7 +1474,7 @@ src/app/components/transactions-list/transactions-list.component.html - 280,282 + 285,287 src/app/dashboard/dashboard.component.html @@ -1920,7 +1904,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -1963,11 +1947,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2109,7 +2089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 265 + 269 src/app/dashboard/dashboard.component.html @@ -2257,19 +2237,23 @@ Transaction Details transaction.details - - Error loading block data. + + Error loading data. src/app/components/block/block.component.html - 274,280 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : src/app/components/block/block.component.ts - 146 + 147 @@ -2294,10 +2278,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2316,7 +2296,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -2890,11 +2870,11 @@ src/app/components/transactions-list/transactions-list.component.html - 144,147 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 255,257 + 259,261 show-all @@ -3445,7 +3425,7 @@ src/app/components/transactions-list/transactions-list.component.html - 276,279 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3562,7 +3542,7 @@ src/app/components/transactions-list/transactions-list.component.html - 265,266 + 269,270 sat shared.sat @@ -3604,7 +3584,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 100,102 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3613,7 +3593,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 104,107 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3622,7 +3602,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 109,111 + 113,115 transactions-list.witness @@ -3630,7 +3610,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 113,114 + 117,118 transactions-list.p2sh-redeem-script @@ -3638,7 +3618,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 117,119 + 121,123 transactions-list.p2tr-tapscript @@ -3646,7 +3626,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 119,121 + 123,125 transactions-list.p2wsh-witness-script @@ -3654,7 +3634,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 124,126 + 128,130 transactions-list.nsequence @@ -3662,7 +3642,7 @@ Previous output script src/app/components/transactions-list/transactions-list.component.html - 129,130 + 133,134 transactions-list.previous-output-script @@ -3670,7 +3650,7 @@ Previous output type src/app/components/transactions-list/transactions-list.component.html - 133,134 + 137,138 transactions-list.previous-output-type @@ -3678,7 +3658,7 @@ Peg-out to src/app/components/transactions-list/transactions-list.component.html - 172,173 + 176,177 transactions-list.peg-out-to @@ -3686,7 +3666,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 233,235 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3695,11 +3675,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 237,240 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 From 36f56de4f1c816da6ca26b94a8ee99abaa4bcd13 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sat, 21 May 2022 02:07:43 +0400 Subject: [PATCH 086/108] Liquid UX fixes fixes #1683 fixes #1681 --- frontend/src/app/components/block/block.component.html | 2 +- .../src/app/components/statistics/statistics.component.html | 3 +-- .../src/app/components/statistics/statistics.component.scss | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html index 07ac76c21..00fc18f2a 100644 --- a/frontend/src/app/components/block/block.component.html +++ b/frontend/src/app/components/block/block.component.html @@ -114,7 +114,7 @@
- +
Miner - +
- - - From 68b4b66058237b94b5fc584247f95715c022f599 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Wed, 25 May 2022 23:20:12 -0400 Subject: [PATCH 090/108] Fix doc page titles --- .../app/docs/api-docs/api-docs.component.ts | 3 --- frontend/src/app/docs/docs/docs.component.ts | 5 ++++ frontend/src/locale/messages.xlf | 25 +++++++++++++------ 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/frontend/src/app/docs/api-docs/api-docs.component.ts b/frontend/src/app/docs/api-docs/api-docs.component.ts index 9ede3c09f..0041fa8cd 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.ts +++ b/frontend/src/app/docs/api-docs/api-docs.component.ts @@ -1,7 +1,6 @@ import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core'; import { Env, StateService } from '../../services/state.service'; import { Observable, merge, of } from 'rxjs'; -import { SeoService } from '../../services/seo.service'; import { tap } from 'rxjs/operators'; import { ActivatedRoute } from "@angular/router"; import { faqData, restApiDocsData, wsApiDocsData } from './api-docs-data'; @@ -27,7 +26,6 @@ export class ApiDocsComponent implements OnInit { constructor( private stateService: StateService, - private seoService: SeoService, private route: ActivatedRoute, ) { } @@ -45,7 +43,6 @@ export class ApiDocsComponent implements OnInit { ngOnInit(): void { this.env = this.stateService.env; - this.seoService.setTitle($localize`:@@e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4:API`); this.network$ = merge(of(''), this.stateService.networkChanged$).pipe( tap((network: string) => { if (this.env.BASE_MODULE === 'mempool' && network !== '') { diff --git a/frontend/src/app/docs/docs/docs.component.ts b/frontend/src/app/docs/docs/docs.component.ts index 9a06f1127..74cebc88f 100644 --- a/frontend/src/app/docs/docs/docs.component.ts +++ b/frontend/src/app/docs/docs/docs.component.ts @@ -2,6 +2,7 @@ import { Component, OnInit, HostBinding } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { Env, StateService } from '../../services/state.service'; import { WebsocketService } from '../../services/websocket.service'; +import { SeoService } from '../../services/seo.service'; @Component({ selector: 'app-docs', @@ -21,6 +22,7 @@ export class DocsComponent implements OnInit { private route: ActivatedRoute, private stateService: StateService, private websocket: WebsocketService, + private seoService: SeoService, ) { } ngOnInit(): void { @@ -28,10 +30,13 @@ export class DocsComponent implements OnInit { const url = this.route.snapshot.url; if (url[0].path === "faq" ) { this.activeTab = 0; + this.seoService.setTitle($localize`:@@docs.faq.button-title:FAQ`); } else if( url[1].path === "rest" ) { this.activeTab = 1; + this.seoService.setTitle($localize`:@@e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4:API`); } else { this.activeTab = 2; + this.seoService.setTitle($localize`:@@e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4:API`); } this.env = this.stateService.env; diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 578865b5c..8ea9d70cf 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -3934,13 +3934,6 @@ api-docs.websocket.websocket - - API - - src/app/docs/api-docs/api-docs.component.ts - 48 - - Code Example @@ -3973,6 +3966,24 @@ API Docs API response + + FAQ + + src/app/docs/docs/docs.component.ts + 33 + + + + API + + src/app/docs/docs/docs.component.ts + 36 + + + src/app/docs/docs/docs.component.ts + 39 + + year From e5470b9e40a7c428f0ceab45078c18739aeec64e Mon Sep 17 00:00:00 2001 From: softsimon Date: Thu, 26 May 2022 18:31:11 +0400 Subject: [PATCH 091/108] Angular 13.3.10 update --- frontend/package-lock.json | 1433 ++++++++++++++++++++---------------- frontend/package.json | 38 +- 2 files changed, 807 insertions(+), 664 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index dc5f7a01a..248cf41e4 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,26 +9,26 @@ "version": "2.4.0-dev", "license": "GNU Affero General Public License v3.0", "dependencies": { - "@angular-devkit/build-angular": "^13.3.4", - "@angular/animations": "~13.3.5", - "@angular/cli": "~13.3.4", - "@angular/common": "~13.3.5", - "@angular/compiler": "~13.3.5", - "@angular/core": "~13.3.5", - "@angular/forms": "~13.3.5", - "@angular/localize": "^13.3.5", - "@angular/platform-browser": "~13.3.5", - "@angular/platform-browser-dynamic": "~13.3.5", - "@angular/platform-server": "~13.3.5", - "@angular/router": "~13.3.5", - "@fortawesome/angular-fontawesome": "0.10.1", - "@fortawesome/fontawesome-common-types": "0.3.0", - "@fortawesome/fontawesome-svg-core": "1.3.0", - "@fortawesome/free-solid-svg-icons": "6.0.0", + "@angular-devkit/build-angular": "~13.3.7", + "@angular/animations": "~13.3.10", + "@angular/cli": "~13.3.7", + "@angular/common": "~13.3.10", + "@angular/compiler": "~13.3.10", + "@angular/core": "~13.3.10", + "@angular/forms": "~13.3.10", + "@angular/localize": "~13.3.10", + "@angular/platform-browser": "~13.3.10", + "@angular/platform-browser-dynamic": "~13.3.10", + "@angular/platform-server": "~13.3.10", + "@angular/router": "~13.3.10", + "@fortawesome/angular-fontawesome": "~0.10.1", + "@fortawesome/fontawesome-common-types": "~0.3.0", + "@fortawesome/fontawesome-svg-core": "~1.3.0", + "@fortawesome/free-solid-svg-icons": "~6.0.0", "@juggle/resize-observer": "^3.3.1", "@mempool/mempool.js": "2.3.0", "@ng-bootstrap/ng-bootstrap": "^11.0.0", - "@nguniversal/express-engine": "12.1.3", + "@nguniversal/express-engine": "~13.1.1", "@types/qrcode": "~1.4.2", "bootstrap": "~4.5.0", "browserify": "^17.0.0", @@ -48,8 +48,8 @@ "zone.js": "~0.11.4" }, "devDependencies": { - "@angular/compiler-cli": "~13.3.5", - "@angular/language-service": "~13.3.5", + "@angular/compiler-cli": "~13.3.10", + "@angular/language-service": "~13.3.10", "@nguniversal/builders": "~13.1.0", "@types/express": "^4.17.0", "@types/jasmine": "~3.6.0", @@ -78,23 +78,23 @@ } }, "node_modules/@ampproject/remapping": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-1.1.1.tgz", - "integrity": "sha512-YVAcA4DKLOj296CF5SrQ8cYiMRiUGc2sqFpLxsDGWE34suHqhGP/5yMsDHKsrh8hs8I5TiRVXNwKPWQpX3iGjw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "sourcemap-codec": "1.4.8" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@angular-devkit/architect": { - "version": "0.1303.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.4.tgz", - "integrity": "sha512-d6YmIWdYvwk6WaknHRcJgiXeJvX9K5i8uPMAaL2P2/LU8n3moIQ59C7SP0uULcHuuiREEmFWOyyrWnGxZCI9bg==", + "version": "0.1303.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.7.tgz", + "integrity": "sha512-xr35v7AuJygRdiaFhgoBSLN2ZMUri8x8Qx9jkmCkD3WLKz33TSFyAyqwdNNmOO9riK8ePXMH/QcSv0wY12pFBw==", "dependencies": { - "@angular-devkit/core": "13.3.4", + "@angular-devkit/core": "13.3.7", "rxjs": "6.6.7" }, "engines": { @@ -104,14 +104,14 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.4.tgz", - "integrity": "sha512-z74cmDi2V+5XpvyZKFlUXxvQ446shxyZk5aGdToG6n+0/IJWkDXSiryQkCo8nblGMze7HKf75i3DsGWYQZLDnQ==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.7.tgz", + "integrity": "sha512-XUmiq/3zpuna+r0UOqNSvA9kEcPwsLblEmNLUYyZXL9v/aGWUHOSH0nhGVrNRrSud4ryklEnxfkxkxlZlT4mjQ==", "dependencies": { - "@ampproject/remapping": "1.1.1", - "@angular-devkit/architect": "0.1303.4", - "@angular-devkit/build-webpack": "0.1303.4", - "@angular-devkit/core": "13.3.4", + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1303.7", + "@angular-devkit/build-webpack": "0.1303.7", + "@angular-devkit/core": "13.3.7", "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", @@ -122,9 +122,9 @@ "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", - "@ngtools/webpack": "13.3.4", + "@ngtools/webpack": "13.3.7", "ansi-colors": "4.1.1", - "babel-loader": "8.2.3", + "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", "cacache": "15.3.0", @@ -212,72 +212,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@angular-devkit/build-angular/node_modules/critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", - "dependencies": { - "chalk": "^4.1.0", - "css-select": "^4.2.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/loader-utils": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", @@ -286,23 +220,12 @@ "node": ">= 12.13.0" } }, - "node_modules/@angular-devkit/build-angular/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1303.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.4.tgz", - "integrity": "sha512-3F10P9XshRXkI/PEmJUcgP4yK4sobaoInQfifzPNOemrS5nXs8y3uEiQuxzyswYx/dymZLV+19sV/eh1WfXnBA==", + "version": "0.1303.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.7.tgz", + "integrity": "sha512-5vF399cPdwuCbzbxS4yNGgChdAzEM0/By21P0uiqBcIe/Zxuz3IUPapjvcyhkAo5OTu+d7smY9eusLHqoq1WFQ==", "dependencies": { - "@angular-devkit/architect": "0.1303.4", + "@angular-devkit/architect": "0.1303.7", "rxjs": "6.6.7" }, "engines": { @@ -316,9 +239,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.4.tgz", - "integrity": "sha512-gj6i8ksPaT2bvYwI7wKJxLX53pHfTmZc1RaNbAGfZB1/zFNnb3MPj8utTcJSk4qMsGXuDDhiB7hpTKBw8ROaGA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.7.tgz", + "integrity": "sha512-Ucy4bJmlgCoBenuVeGMdtW9dE8+cD+guWCgqexsFIG21KJ/l0ShZEZ/dGC1XibzaIs1HbKiTr/T1MOjInCV1rA==", "dependencies": { "ajv": "8.9.0", "ajv-formats": "2.1.1", @@ -452,9 +375,9 @@ "optional": true }, "node_modules/@angular/animations": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.5.tgz", - "integrity": "sha512-BYXX80N1hxkATWqv2IZddfKvqxomktxH5fREv+KjwIYFkyK9KBnRBILqynyIJaXXut5KE6QNOf1zWEZxdOnc3A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.10.tgz", + "integrity": "sha512-V/0h3xepWPBRjWroFXYrNIE3iZPREjv0hiB3gskF/2KLlx5jvpUWlaBx0rEYRa8XXIPJyAaKBGwWSBnT/Z88TQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -462,19 +385,19 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "13.3.5" + "@angular/core": "13.3.10" } }, "node_modules/@angular/cli": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.4.tgz", - "integrity": "sha512-4S5FNjkZgq98zcBVgwkYtMgMRMSVsprCgq7dM8yTxIQh+Np3fYgj5eRJ1+mfFG/kankH2z/TFyuoYiILh2D9Uw==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.7.tgz", + "integrity": "sha512-XIp0w0YOwhHp4Je3npHAs0W4rjHvFnG2w/lDO2M/UNp5634S4PRMFmVVMt6DQBj1cbffYVKFqffqesyCqNuvAQ==", "hasInstallScript": true, "dependencies": { - "@angular-devkit/architect": "0.1303.4", - "@angular-devkit/core": "13.3.4", - "@angular-devkit/schematics": "13.3.4", - "@schematics/angular": "13.3.4", + "@angular-devkit/architect": "0.1303.7", + "@angular-devkit/core": "13.3.7", + "@angular-devkit/schematics": "13.3.7", + "@schematics/angular": "13.3.7", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.3", @@ -501,11 +424,11 @@ } }, "node_modules/@angular/cli/node_modules/@angular-devkit/schematics": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.4.tgz", - "integrity": "sha512-gKNpMMoZJjLKdXxjuVembic4GWa4AYV7kU1ou3ZuZoDKtKcig9URISr1wjS+nrhKYz+miFy0zIqSGMMattDlDQ==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.7.tgz", + "integrity": "sha512-6TKpFMwiiXmPhiVdbkSJrkBXj8n7SVVhsHl2GodDLVTb8OT3fxYIB9EU8Il07AMfDcjpydOcJduCFPOsQYd7BA==", "dependencies": { - "@angular-devkit/core": "13.3.4", + "@angular-devkit/core": "13.3.7", "jsonc-parser": "3.0.0", "magic-string": "0.25.7", "ora": "5.4.1", @@ -518,12 +441,12 @@ } }, "node_modules/@angular/cli/node_modules/@schematics/angular": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.4.tgz", - "integrity": "sha512-Cta11k965Igz2kWj60KQ/9z6RFAg9FjZ8i1TH4nyROJs9nWemWPQNA+OJFuXrEy6Ldpk7yJ5cWgJsyryGB25PA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.7.tgz", + "integrity": "sha512-OAny1e/yliku52xG7vfWs1hNYSgCNTPpMv9fS8zz9eF5/GrKv28WFSy20mUXqLZ91VsbGSs6X0mI6pdNnpVtJA==", "dependencies": { - "@angular-devkit/core": "13.3.4", - "@angular-devkit/schematics": "13.3.4", + "@angular-devkit/core": "13.3.7", + "@angular-devkit/schematics": "13.3.7", "jsonc-parser": "3.0.0" }, "engines": { @@ -557,9 +480,9 @@ } }, "node_modules/@angular/common": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.5.tgz", - "integrity": "sha512-teG+itdlw2sOMwYeXkeFe8h32SsNqN0qHHz/v6I9qKHgCLkC/or8A7NtsoCwYSTymIEJJ7DZ1w9VWhM7DSYd1w==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.10.tgz", + "integrity": "sha512-KWw91QzmCDZ6uq1Z58v7vQQ57Ux7A2UkPdIBOyvpOgtQPTvlvKsePkUVCC+dum+W9mOy4kq2falO5T7Gi7SJgw==", "dependencies": { "tslib": "^2.3.0" }, @@ -567,14 +490,14 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "13.3.5", + "@angular/core": "13.3.10", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.5.tgz", - "integrity": "sha512-iSQlYevMk5glwZSXTXf2GytykqZWdK3Rr8heIvEPqd8n88MSB3w1KnDc1fnHLF950q/nUR9K+3r4wWPwc8J2IQ==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.10.tgz", + "integrity": "sha512-DEtdso89Q9lAGkSVpSf2GrMtGVTnCnenCwLhubYaeSaj4iA/CAnUfNlaYBf9E92ltuPd85Mg9bIJKaxYCRH8RQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -583,9 +506,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.5.tgz", - "integrity": "sha512-H7A+MZcbB4g5fa6O4giYgrCG1h5whJfIxr4txDtDfolygzwRzqH1PSMfjW/jYyIpaH6XqXMSDHvbXRFGKstboA==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.10.tgz", + "integrity": "sha512-cGFQyUOxOLVnehczdP4L7KXbKQTe/aQgbXmacQYgqcP/AnpJs7QfZbw1/k1wJtXrhzbGBh3JSWnpme74bnF3dQ==", "dependencies": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -607,22 +530,10 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/compiler": "13.3.5", + "@angular/compiler": "13.3.10", "typescript": ">=4.4.2 <4.7" } }, - "node_modules/@angular/compiler-cli/node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@angular/compiler-cli/node_modules/@babel/core": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", @@ -782,9 +693,9 @@ } }, "node_modules/@angular/core": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.5.tgz", - "integrity": "sha512-lf+Be8dDRvz8J+QFR2RxS3BBfgGM4eWq4bI1+k/aqDnM6OW4pQXdq8Lzae8SxN48u1NxB1M/1bbc9LcrChrj2Q==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.10.tgz", + "integrity": "sha512-7jH1a5wZdE6Ki2Dow7s6v1/5SfUcXsjAu3n523QSDlM078QG0p95npcqPseO9mNftG9MfRqBE7sl1Nb+ZK7eBg==", "dependencies": { "tslib": "^2.3.0" }, @@ -797,9 +708,9 @@ } }, "node_modules/@angular/forms": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.5.tgz", - "integrity": "sha512-jCxxAwf4HkDmKE76/yQmTsbqW3jsxiKyPy32Nh6Bt4r/ww8VDv+sv5YdYNuvvZcuuQ70K+/EPnKFpQgYttvS8A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.10.tgz", + "integrity": "sha512-2cREi8nvCdspYHk6KJ5xjIgq8Dgh/kfwPIVjpLQBZFNC03Q6GvOLVoVm8ye6ToOpQFjvjpjndqU93JXSLMANgA==", "dependencies": { "tslib": "^2.3.0" }, @@ -807,25 +718,25 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.3.5", - "@angular/core": "13.3.5", - "@angular/platform-browser": "13.3.5", + "@angular/common": "13.3.10", + "@angular/core": "13.3.10", + "@angular/platform-browser": "13.3.10", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.5.tgz", - "integrity": "sha512-IJawCyu4Zwk6GNPDkbSkY6sFYaBHtaHMwhaiRojrqiKA0n2bDNULLcHfYGSyA7UvkX8m9Nt0M5GaF66BIwuZSw==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.10.tgz", + "integrity": "sha512-TQwVIEFTWOlX9Jy2PhOT52Eo3ApNWSkjQavAuIU4uNQRCyoKMTywJ6MlQiQlMoWPH77Yn5EZyCwRoWFVWg3q0w==", "dev": true, "engines": { "node": "^12.20.0 || ^14.15.0 || >=16.10.0" } }, "node_modules/@angular/localize": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.5.tgz", - "integrity": "sha512-0MmGvQSBZeKwsOBATWp7Y5rxyGW6OaszLtecKu32VVJSjoDN4M6uMHBMjVVe4IxbyJnbhlSPRSYL9hRFbOve0A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.10.tgz", + "integrity": "sha512-DNSOLJd8SkYHWKWyBm/piYnjurYRsgXTmWoVXTrfEuALEHxz3cwnVUPvoiWwJVMKklFr76D61pDY4mz5muPxog==", "dependencies": { "@babel/core": "7.17.2", "glob": "7.2.0", @@ -840,20 +751,8 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/compiler": "13.3.5", - "@angular/compiler-cli": "13.3.5" - } - }, - "node_modules/@angular/localize/node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "@angular/compiler": "13.3.10", + "@angular/compiler-cli": "13.3.10" } }, "node_modules/@angular/localize/node_modules/@babel/core": { @@ -1004,9 +903,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.5.tgz", - "integrity": "sha512-DPV1J3h1ua4GI9PuXDr8IlzJoC/TR0A/onPTaE6IFOzs1r28vB+vWRRbZURXrTYeWzWVB/2R9tPOqFNoi3zlzA==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.10.tgz", + "integrity": "sha512-zi0FrA8zZRiHLBfKlfIxikG06wMF2KcSp6oqrIblrc1VrHgPRVRABz8vryH84lasDssjYdIS9AvbQnCCdgCzJA==", "dependencies": { "tslib": "^2.3.0" }, @@ -1014,9 +913,9 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/animations": "13.3.5", - "@angular/common": "13.3.5", - "@angular/core": "13.3.5" + "@angular/animations": "13.3.10", + "@angular/common": "13.3.10", + "@angular/core": "13.3.10" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1025,9 +924,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.5.tgz", - "integrity": "sha512-Mko8/mRlcVsZJQ5zHfc/p7so/ZN16UMynTnksrD7cEgGxDuJosE8m+exqgoT03VCYaOjJtCFXSwdOb/8FOUDZQ==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.10.tgz", + "integrity": "sha512-hygsEjTaS+VDUrBZZiRJFo5J7AHCS/EcAc1IWvb69EnVqA9RwqM4hWbuy3y/cmLEeHLLmRldIlS6xRPt8fTNQg==", "dependencies": { "tslib": "^2.3.0" }, @@ -1035,16 +934,16 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.3.5", - "@angular/compiler": "13.3.5", - "@angular/core": "13.3.5", - "@angular/platform-browser": "13.3.5" + "@angular/common": "13.3.10", + "@angular/compiler": "13.3.10", + "@angular/core": "13.3.10", + "@angular/platform-browser": "13.3.10" } }, "node_modules/@angular/platform-server": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-13.3.5.tgz", - "integrity": "sha512-ja9/mgBIAriQO3H9Q1MTXxJV1s59a2NJeeOffGHr86TLDcaxxzumozfoaKr5p6m0Ty3yqZcFc3wUQJl5I/1H0A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-13.3.10.tgz", + "integrity": "sha512-KekOeqzdL9tL9h7bDuYoz1utnd6p6y6qAvAvCGm2Qa1fX3f/NQQ12pngtVqhvIgB5PpROCNypla/ejcBmNsQ2g==", "dependencies": { "domino": "^2.1.2", "tslib": "^2.3.0", @@ -1054,18 +953,18 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/animations": "13.3.5", - "@angular/common": "13.3.5", - "@angular/compiler": "13.3.5", - "@angular/core": "13.3.5", - "@angular/platform-browser": "13.3.5", - "@angular/platform-browser-dynamic": "13.3.5" + "@angular/animations": "13.3.10", + "@angular/common": "13.3.10", + "@angular/compiler": "13.3.10", + "@angular/core": "13.3.10", + "@angular/platform-browser": "13.3.10", + "@angular/platform-browser-dynamic": "13.3.10" } }, "node_modules/@angular/router": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.5.tgz", - "integrity": "sha512-3yUNyBpUi0KUKP91a3dVQsr9Jfjs4wGxpiFYb3apc7lKT5R1LJqt2O0EchjOgvFyJ6TDOemdCAzKgvSRkDxpMw==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.10.tgz", + "integrity": "sha512-neGaeiHravXlCbNbyGJecwQyu/91Pj/E9/ohVFzBBE4V9BrNx9v7Ntc4ugqgpnrV2wtonPP7TQDqXxrPk4QVfg==", "dependencies": { "tslib": "^2.3.0" }, @@ -1073,9 +972,9 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.3.5", - "@angular/core": "13.3.5", - "@angular/platform-browser": "13.3.5", + "@angular/common": "13.3.10", + "@angular/core": "13.3.10", + "@angular/platform-browser": "13.3.10", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -3096,9 +2995,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.4.tgz", - "integrity": "sha512-dNDNeAOwtpX5A7TTEsgDbkg4jTmAJHD96qLqcpJqfBg8nZ4mqn6E0HinX9HZKaCST1/75T6GsFo1Muc4MsHYgA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.7.tgz", + "integrity": "sha512-KtNMHOGZIU2oaNTzk97ZNwTnJLbvnSpwyG3/+VW9xN92b2yw8gG9tHPKW2fsFrfzF9Mz8kqJeF31ftvkYuKtuA==", "engines": { "node": "^12.20.0 || ^14.15.0 || >=16.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", @@ -3212,69 +3111,6 @@ "node": ">=0.4.0" } }, - "node_modules/@nguniversal/common/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@nguniversal/common/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@nguniversal/common/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nguniversal/common/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@nguniversal/common/node_modules/critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "css-select": "^4.2.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - } - }, "node_modules/@nguniversal/common/node_modules/cssom": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", @@ -3365,15 +3201,6 @@ "node": ">= 6" } }, - "node_modules/@nguniversal/common/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/@nguniversal/common/node_modules/html-encoding-sniffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", @@ -3468,18 +3295,6 @@ "node": ">=0.10.0" } }, - "node_modules/@nguniversal/common/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@nguniversal/common/node_modules/tr46": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", @@ -3578,38 +3393,318 @@ } }, "node_modules/@nguniversal/express-engine": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/@nguniversal/express-engine/-/express-engine-12.1.3.tgz", - "integrity": "sha512-iu/7Al3NjwdwJw3ALyW9n7MzAQ75/Ca/cd2xWi7rzgvev2pgakZfvn2/EbB8oFI6xOSvA2irA29BeobkR4crlw==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/@nguniversal/express-engine/-/express-engine-13.1.1.tgz", + "integrity": "sha512-NdiBP0IRbPrNYEMLy3a6os2mNgRNE84tsMn+mV2uF4wv1JNs3YyoXcucWvhgHdODbDtc6z4CGn8t/6KagRqmvA==", "dependencies": { - "@nguniversal/common": "12.1.3", + "@nguniversal/common": "13.1.1", "tslib": "^2.3.0" }, "engines": { - "node": ">=12.13.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "^12.2.12", - "@angular/core": "^12.2.12", - "@angular/platform-server": "^12.2.12", + "@angular/common": "^13.3.4", + "@angular/core": "^13.3.4", + "@angular/platform-server": "^13.3.4", "express": "^4.15.2" } }, "node_modules/@nguniversal/express-engine/node_modules/@nguniversal/common": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/@nguniversal/common/-/common-12.1.3.tgz", - "integrity": "sha512-0fP8ThHx3vePJxTdic5cz9hvWnqB2Uvx2uf1JQ68zto8ZXrasOeB8kT+ujhuUIyH8AR98BYMudMXCVvq+UbkeA==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/@nguniversal/common/-/common-13.1.1.tgz", + "integrity": "sha512-DoAPA7+kUz+qMgCTUtRPFcMGY0zz8OSkOTZnxqO5sUYntD6mCEQImHU0WF4ud88j71o0Hv+AISJD1evAAANCdw==", "dependencies": { - "critters": "0.0.12", - "jsdom": "16.6.0", + "critters": "0.0.16", + "jsdom": "19.0.0", "tslib": "^2.3.0" }, "engines": { - "node": ">=12.13.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "^12.2.12", - "@angular/core": "^12.2.12" + "@angular/common": "^13.3.4", + "@angular/core": "^13.3.4" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" + }, + "node_modules/@nguniversal/express-engine/node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/data-urls/node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/@nguniversal/express-engine/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" + } + }, + "node_modules/@nguniversal/express-engine/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==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/jsdom": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", + "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.5.0", + "acorn-globals": "^6.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.1", + "decimal.js": "^10.3.1", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^3.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^10.0.0", + "ws": "^8.2.3", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/@nguniversal/express-engine/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/@nguniversal/express-engine/node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/w3c-xmlserializer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", + "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/whatwg-url": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", + "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nguniversal/express-engine/node_modules/ws": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@nguniversal/express-engine/node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "engines": { + "node": ">=12" } }, "node_modules/@nodelib/fs.scandir": { @@ -4867,12 +4962,12 @@ } }, "node_modules/babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -4884,30 +4979,6 @@ "webpack": ">=2" } }, - "node_modules/babel-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -5145,7 +5216,7 @@ "node_modules/bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "dependencies": { "array-flatten": "^2.1.0", "deep-equal": "^1.0.1", @@ -6314,7 +6385,7 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "node_modules/component-emitter": { "version": "1.3.0", @@ -6353,7 +6424,7 @@ "node_modules/compression/node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "engines": { "node": ">= 0.8" } @@ -6702,12 +6773,12 @@ } }, "node_modules/critters": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.12.tgz", - "integrity": "sha512-ujxKtKc/mWpjrOKeaACTaQ1aP0O31M0ZPWhfl85jZF1smPU4Ivb9va5Ox2poif4zVJQQo0LCFlzGtEZAsCAPcw==", + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", "dependencies": { "chalk": "^4.1.0", - "css-select": "^4.1.3", + "css-select": "^4.2.0", "parse5": "^6.0.1", "parse5-htmlparser2-tree-adapter": "^6.0.1", "postcss": "^8.3.7", @@ -6981,7 +7052,8 @@ "node_modules/cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true }, "node_modules/cssstyle": { "version": "2.3.0", @@ -7274,6 +7346,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, "dependencies": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -7414,9 +7487,9 @@ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" }, "node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dependencies": { "globby": "^11.0.1", "graceful-fs": "^4.2.4", @@ -7687,6 +7760,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, "dependencies": { "webidl-conversions": "^5.0.0" }, @@ -7698,6 +7772,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, "engines": { "node": ">=8" } @@ -9689,6 +9764,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, "dependencies": { "whatwg-encoding": "^1.0.5" }, @@ -10632,6 +10708,7 @@ "version": "16.6.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", + "dev": true, "dependencies": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -10677,6 +10754,7 @@ "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -10688,6 +10766,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -10709,6 +10788,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { "node": ">=4.0" } @@ -10717,6 +10797,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -10730,6 +10811,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "optional": true, "engines": { "node": ">=0.10.0" @@ -11720,9 +11802,9 @@ } }, "node_modules/memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.3.tgz", + "integrity": "sha512-eivjfi7Ahr6eQTn44nvTnR60e4a1Fs1Via2kCR5lHo/kyNoiMWaXCNJ/GpSd0ilXas2JSOl9B5FTIhflXu0hlg==", "dependencies": { "fs-monkey": "1.0.3" }, @@ -15887,6 +15969,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, "dependencies": { "punycode": "^2.1.1" }, @@ -16432,6 +16515,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, "dependencies": { "xml-name-validator": "^3.0.0" }, @@ -16490,6 +16574,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, "engines": { "node": ">=10.4" } @@ -16809,9 +16894,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", "engines": { "node": ">=10.0.0" }, @@ -16929,6 +17014,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, "dependencies": { "iconv-lite": "0.4.24" } @@ -16936,12 +17022,14 @@ "node_modules/whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true }, "node_modules/whatwg-url": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, "dependencies": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -17072,6 +17160,7 @@ "version": "7.4.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true, "engines": { "node": ">=8.3.0" } @@ -17087,7 +17176,8 @@ "node_modules/xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true }, "node_modules/xmlchars": { "version": "2.2.0", @@ -17286,32 +17376,32 @@ }, "dependencies": { "@ampproject/remapping": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-1.1.1.tgz", - "integrity": "sha512-YVAcA4DKLOj296CF5SrQ8cYiMRiUGc2sqFpLxsDGWE34suHqhGP/5yMsDHKsrh8hs8I5TiRVXNwKPWQpX3iGjw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "sourcemap-codec": "1.4.8" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@angular-devkit/architect": { - "version": "0.1303.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.4.tgz", - "integrity": "sha512-d6YmIWdYvwk6WaknHRcJgiXeJvX9K5i8uPMAaL2P2/LU8n3moIQ59C7SP0uULcHuuiREEmFWOyyrWnGxZCI9bg==", + "version": "0.1303.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.7.tgz", + "integrity": "sha512-xr35v7AuJygRdiaFhgoBSLN2ZMUri8x8Qx9jkmCkD3WLKz33TSFyAyqwdNNmOO9riK8ePXMH/QcSv0wY12pFBw==", "requires": { - "@angular-devkit/core": "13.3.4", + "@angular-devkit/core": "13.3.7", "rxjs": "6.6.7" } }, "@angular-devkit/build-angular": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.4.tgz", - "integrity": "sha512-z74cmDi2V+5XpvyZKFlUXxvQ446shxyZk5aGdToG6n+0/IJWkDXSiryQkCo8nblGMze7HKf75i3DsGWYQZLDnQ==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.7.tgz", + "integrity": "sha512-XUmiq/3zpuna+r0UOqNSvA9kEcPwsLblEmNLUYyZXL9v/aGWUHOSH0nhGVrNRrSud4ryklEnxfkxkxlZlT4mjQ==", "requires": { - "@ampproject/remapping": "1.1.1", - "@angular-devkit/architect": "0.1303.4", - "@angular-devkit/build-webpack": "0.1303.4", - "@angular-devkit/core": "13.3.4", + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1303.7", + "@angular-devkit/build-webpack": "0.1303.7", + "@angular-devkit/core": "13.3.7", "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", @@ -17322,9 +17412,9 @@ "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", - "@ngtools/webpack": "13.3.4", + "@ngtools/webpack": "13.3.7", "ansi-colors": "4.1.1", - "babel-loader": "8.2.3", + "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", "cacache": "15.3.0", @@ -17375,82 +17465,26 @@ "webpack-subresource-integrity": "5.1.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", - "requires": { - "chalk": "^4.1.0", - "css-select": "^4.2.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "loader-utils": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, "@angular-devkit/build-webpack": { - "version": "0.1303.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.4.tgz", - "integrity": "sha512-3F10P9XshRXkI/PEmJUcgP4yK4sobaoInQfifzPNOemrS5nXs8y3uEiQuxzyswYx/dymZLV+19sV/eh1WfXnBA==", + "version": "0.1303.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.7.tgz", + "integrity": "sha512-5vF399cPdwuCbzbxS4yNGgChdAzEM0/By21P0uiqBcIe/Zxuz3IUPapjvcyhkAo5OTu+d7smY9eusLHqoq1WFQ==", "requires": { - "@angular-devkit/architect": "0.1303.4", + "@angular-devkit/architect": "0.1303.7", "rxjs": "6.6.7" } }, "@angular-devkit/core": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.4.tgz", - "integrity": "sha512-gj6i8ksPaT2bvYwI7wKJxLX53pHfTmZc1RaNbAGfZB1/zFNnb3MPj8utTcJSk4qMsGXuDDhiB7hpTKBw8ROaGA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.7.tgz", + "integrity": "sha512-Ucy4bJmlgCoBenuVeGMdtW9dE8+cD+guWCgqexsFIG21KJ/l0ShZEZ/dGC1XibzaIs1HbKiTr/T1MOjInCV1rA==", "requires": { "ajv": "8.9.0", "ajv-formats": "2.1.1", @@ -17541,22 +17575,22 @@ } }, "@angular/animations": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.5.tgz", - "integrity": "sha512-BYXX80N1hxkATWqv2IZddfKvqxomktxH5fREv+KjwIYFkyK9KBnRBILqynyIJaXXut5KE6QNOf1zWEZxdOnc3A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.10.tgz", + "integrity": "sha512-V/0h3xepWPBRjWroFXYrNIE3iZPREjv0hiB3gskF/2KLlx5jvpUWlaBx0rEYRa8XXIPJyAaKBGwWSBnT/Z88TQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.4.tgz", - "integrity": "sha512-4S5FNjkZgq98zcBVgwkYtMgMRMSVsprCgq7dM8yTxIQh+Np3fYgj5eRJ1+mfFG/kankH2z/TFyuoYiILh2D9Uw==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.7.tgz", + "integrity": "sha512-XIp0w0YOwhHp4Je3npHAs0W4rjHvFnG2w/lDO2M/UNp5634S4PRMFmVVMt6DQBj1cbffYVKFqffqesyCqNuvAQ==", "requires": { - "@angular-devkit/architect": "0.1303.4", - "@angular-devkit/core": "13.3.4", - "@angular-devkit/schematics": "13.3.4", - "@schematics/angular": "13.3.4", + "@angular-devkit/architect": "0.1303.7", + "@angular-devkit/core": "13.3.7", + "@angular-devkit/schematics": "13.3.7", + "@schematics/angular": "13.3.7", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.3", @@ -17575,11 +17609,11 @@ }, "dependencies": { "@angular-devkit/schematics": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.4.tgz", - "integrity": "sha512-gKNpMMoZJjLKdXxjuVembic4GWa4AYV7kU1ou3ZuZoDKtKcig9URISr1wjS+nrhKYz+miFy0zIqSGMMattDlDQ==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.7.tgz", + "integrity": "sha512-6TKpFMwiiXmPhiVdbkSJrkBXj8n7SVVhsHl2GodDLVTb8OT3fxYIB9EU8Il07AMfDcjpydOcJduCFPOsQYd7BA==", "requires": { - "@angular-devkit/core": "13.3.4", + "@angular-devkit/core": "13.3.7", "jsonc-parser": "3.0.0", "magic-string": "0.25.7", "ora": "5.4.1", @@ -17587,12 +17621,12 @@ } }, "@schematics/angular": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.4.tgz", - "integrity": "sha512-Cta11k965Igz2kWj60KQ/9z6RFAg9FjZ8i1TH4nyROJs9nWemWPQNA+OJFuXrEy6Ldpk7yJ5cWgJsyryGB25PA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.7.tgz", + "integrity": "sha512-OAny1e/yliku52xG7vfWs1hNYSgCNTPpMv9fS8zz9eF5/GrKv28WFSy20mUXqLZ91VsbGSs6X0mI6pdNnpVtJA==", "requires": { - "@angular-devkit/core": "13.3.4", - "@angular-devkit/schematics": "13.3.4", + "@angular-devkit/core": "13.3.7", + "@angular-devkit/schematics": "13.3.7", "jsonc-parser": "3.0.0" } }, @@ -17612,25 +17646,25 @@ } }, "@angular/common": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.5.tgz", - "integrity": "sha512-teG+itdlw2sOMwYeXkeFe8h32SsNqN0qHHz/v6I9qKHgCLkC/or8A7NtsoCwYSTymIEJJ7DZ1w9VWhM7DSYd1w==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.10.tgz", + "integrity": "sha512-KWw91QzmCDZ6uq1Z58v7vQQ57Ux7A2UkPdIBOyvpOgtQPTvlvKsePkUVCC+dum+W9mOy4kq2falO5T7Gi7SJgw==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.5.tgz", - "integrity": "sha512-iSQlYevMk5glwZSXTXf2GytykqZWdK3Rr8heIvEPqd8n88MSB3w1KnDc1fnHLF950q/nUR9K+3r4wWPwc8J2IQ==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.10.tgz", + "integrity": "sha512-DEtdso89Q9lAGkSVpSf2GrMtGVTnCnenCwLhubYaeSaj4iA/CAnUfNlaYBf9E92ltuPd85Mg9bIJKaxYCRH8RQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.5.tgz", - "integrity": "sha512-H7A+MZcbB4g5fa6O4giYgrCG1h5whJfIxr4txDtDfolygzwRzqH1PSMfjW/jYyIpaH6XqXMSDHvbXRFGKstboA==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.10.tgz", + "integrity": "sha512-cGFQyUOxOLVnehczdP4L7KXbKQTe/aQgbXmacQYgqcP/AnpJs7QfZbw1/k1wJtXrhzbGBh3JSWnpme74bnF3dQ==", "requires": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -17644,15 +17678,6 @@ "yargs": "^17.2.1" }, "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, "@babel/core": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", @@ -17773,46 +17798,37 @@ } }, "@angular/core": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.5.tgz", - "integrity": "sha512-lf+Be8dDRvz8J+QFR2RxS3BBfgGM4eWq4bI1+k/aqDnM6OW4pQXdq8Lzae8SxN48u1NxB1M/1bbc9LcrChrj2Q==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.10.tgz", + "integrity": "sha512-7jH1a5wZdE6Ki2Dow7s6v1/5SfUcXsjAu3n523QSDlM078QG0p95npcqPseO9mNftG9MfRqBE7sl1Nb+ZK7eBg==", "requires": { "tslib": "^2.3.0" } }, "@angular/forms": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.5.tgz", - "integrity": "sha512-jCxxAwf4HkDmKE76/yQmTsbqW3jsxiKyPy32Nh6Bt4r/ww8VDv+sv5YdYNuvvZcuuQ70K+/EPnKFpQgYttvS8A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.10.tgz", + "integrity": "sha512-2cREi8nvCdspYHk6KJ5xjIgq8Dgh/kfwPIVjpLQBZFNC03Q6GvOLVoVm8ye6ToOpQFjvjpjndqU93JXSLMANgA==", "requires": { "tslib": "^2.3.0" } }, "@angular/language-service": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.5.tgz", - "integrity": "sha512-IJawCyu4Zwk6GNPDkbSkY6sFYaBHtaHMwhaiRojrqiKA0n2bDNULLcHfYGSyA7UvkX8m9Nt0M5GaF66BIwuZSw==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.10.tgz", + "integrity": "sha512-TQwVIEFTWOlX9Jy2PhOT52Eo3ApNWSkjQavAuIU4uNQRCyoKMTywJ6MlQiQlMoWPH77Yn5EZyCwRoWFVWg3q0w==", "dev": true }, "@angular/localize": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.5.tgz", - "integrity": "sha512-0MmGvQSBZeKwsOBATWp7Y5rxyGW6OaszLtecKu32VVJSjoDN4M6uMHBMjVVe4IxbyJnbhlSPRSYL9hRFbOve0A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.10.tgz", + "integrity": "sha512-DNSOLJd8SkYHWKWyBm/piYnjurYRsgXTmWoVXTrfEuALEHxz3cwnVUPvoiWwJVMKklFr76D61pDY4mz5muPxog==", "requires": { "@babel/core": "7.17.2", "glob": "7.2.0", "yargs": "^17.2.1" }, "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, "@babel/core": { "version": "7.17.2", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.2.tgz", @@ -17923,25 +17939,25 @@ } }, "@angular/platform-browser": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.5.tgz", - "integrity": "sha512-DPV1J3h1ua4GI9PuXDr8IlzJoC/TR0A/onPTaE6IFOzs1r28vB+vWRRbZURXrTYeWzWVB/2R9tPOqFNoi3zlzA==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.10.tgz", + "integrity": "sha512-zi0FrA8zZRiHLBfKlfIxikG06wMF2KcSp6oqrIblrc1VrHgPRVRABz8vryH84lasDssjYdIS9AvbQnCCdgCzJA==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.5.tgz", - "integrity": "sha512-Mko8/mRlcVsZJQ5zHfc/p7so/ZN16UMynTnksrD7cEgGxDuJosE8m+exqgoT03VCYaOjJtCFXSwdOb/8FOUDZQ==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.10.tgz", + "integrity": "sha512-hygsEjTaS+VDUrBZZiRJFo5J7AHCS/EcAc1IWvb69EnVqA9RwqM4hWbuy3y/cmLEeHLLmRldIlS6xRPt8fTNQg==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-server": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-13.3.5.tgz", - "integrity": "sha512-ja9/mgBIAriQO3H9Q1MTXxJV1s59a2NJeeOffGHr86TLDcaxxzumozfoaKr5p6m0Ty3yqZcFc3wUQJl5I/1H0A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-13.3.10.tgz", + "integrity": "sha512-KekOeqzdL9tL9h7bDuYoz1utnd6p6y6qAvAvCGm2Qa1fX3f/NQQ12pngtVqhvIgB5PpROCNypla/ejcBmNsQ2g==", "requires": { "domino": "^2.1.2", "tslib": "^2.3.0", @@ -17949,9 +17965,9 @@ } }, "@angular/router": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.5.tgz", - "integrity": "sha512-3yUNyBpUi0KUKP91a3dVQsr9Jfjs4wGxpiFYb3apc7lKT5R1LJqt2O0EchjOgvFyJ6TDOemdCAzKgvSRkDxpMw==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.10.tgz", + "integrity": "sha512-neGaeiHravXlCbNbyGJecwQyu/91Pj/E9/ohVFzBBE4V9BrNx9v7Ntc4ugqgpnrV2wtonPP7TQDqXxrPk4QVfg==", "requires": { "tslib": "^2.3.0" } @@ -19398,9 +19414,9 @@ } }, "@ngtools/webpack": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.4.tgz", - "integrity": "sha512-dNDNeAOwtpX5A7TTEsgDbkg4jTmAJHD96qLqcpJqfBg8nZ4mqn6E0HinX9HZKaCST1/75T6GsFo1Muc4MsHYgA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.7.tgz", + "integrity": "sha512-KtNMHOGZIU2oaNTzk97ZNwTnJLbvnSpwyG3/+VW9xN92b2yw8gG9tHPKW2fsFrfzF9Mz8kqJeF31ftvkYuKtuA==", "requires": {} }, "@nguniversal/builders": { @@ -19472,54 +19488,6 @@ "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "css-select": "^4.2.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - } - }, "cssom": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", @@ -19588,12 +19556,6 @@ "mime-types": "^2.1.12" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "html-encoding-sniffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", @@ -19665,15 +19627,6 @@ "dev": true, "optional": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, "tr46": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", @@ -19739,23 +19692,214 @@ } }, "@nguniversal/express-engine": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/@nguniversal/express-engine/-/express-engine-12.1.3.tgz", - "integrity": "sha512-iu/7Al3NjwdwJw3ALyW9n7MzAQ75/Ca/cd2xWi7rzgvev2pgakZfvn2/EbB8oFI6xOSvA2irA29BeobkR4crlw==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/@nguniversal/express-engine/-/express-engine-13.1.1.tgz", + "integrity": "sha512-NdiBP0IRbPrNYEMLy3a6os2mNgRNE84tsMn+mV2uF4wv1JNs3YyoXcucWvhgHdODbDtc6z4CGn8t/6KagRqmvA==", "requires": { - "@nguniversal/common": "12.1.3", + "@nguniversal/common": "13.1.1", "tslib": "^2.3.0" }, "dependencies": { "@nguniversal/common": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/@nguniversal/common/-/common-12.1.3.tgz", - "integrity": "sha512-0fP8ThHx3vePJxTdic5cz9hvWnqB2Uvx2uf1JQ68zto8ZXrasOeB8kT+ujhuUIyH8AR98BYMudMXCVvq+UbkeA==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/@nguniversal/common/-/common-13.1.1.tgz", + "integrity": "sha512-DoAPA7+kUz+qMgCTUtRPFcMGY0zz8OSkOTZnxqO5sUYntD6mCEQImHU0WF4ud88j71o0Hv+AISJD1evAAANCdw==", "requires": { - "critters": "0.0.12", - "jsdom": "16.6.0", + "critters": "0.0.16", + "jsdom": "19.0.0", "tslib": "^2.3.0" } + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" + }, + "acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" + }, + "cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" + }, + "data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + } + } + }, + "domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "requires": { + "webidl-conversions": "^7.0.0" + } + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "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==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "jsdom": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", + "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.5.0", + "acorn-globals": "^6.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.1", + "decimal.js": "^10.3.1", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^3.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^10.0.0", + "ws": "^8.2.3", + "xml-name-validator": "^4.0.0" + } + }, + "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 + }, + "tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "requires": { + "punycode": "^2.1.1" + } + }, + "w3c-xmlserializer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", + "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", + "requires": { + "xml-name-validator": "^4.0.0" + } + }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" + }, + "whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "requires": { + "iconv-lite": "0.6.3" + } + }, + "whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" + }, + "whatwg-url": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", + "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + }, + "ws": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "requires": {} + }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==" } } }, @@ -20847,34 +20991,14 @@ } }, "babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "requires": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } } }, "babel-plugin-dynamic-import-node": { @@ -21080,7 +21204,7 @@ "bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "requires": { "array-flatten": "^2.1.0", "deep-equal": "^1.0.1", @@ -22079,7 +22203,7 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "component-emitter": { "version": "1.3.0", @@ -22112,7 +22236,7 @@ "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" }, "debug": { "version": "2.6.9", @@ -22394,12 +22518,12 @@ } }, "critters": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.12.tgz", - "integrity": "sha512-ujxKtKc/mWpjrOKeaACTaQ1aP0O31M0ZPWhfl85jZF1smPU4Ivb9va5Ox2poif4zVJQQo0LCFlzGtEZAsCAPcw==", + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", "requires": { "chalk": "^4.1.0", - "css-select": "^4.1.3", + "css-select": "^4.2.0", "parse5": "^6.0.1", "parse5-htmlparser2-tree-adapter": "^6.0.1", "postcss": "^8.3.7", @@ -22592,7 +22716,8 @@ "cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true }, "cssstyle": { "version": "2.3.0", @@ -22842,6 +22967,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, "requires": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -22950,9 +23076,9 @@ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" }, "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "requires": { "globby": "^11.0.1", "graceful-fs": "^4.2.4", @@ -23166,6 +23292,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, "requires": { "webidl-conversions": "^5.0.0" }, @@ -23173,7 +23300,8 @@ "webidl-conversions": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true } } }, @@ -24692,6 +24820,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, "requires": { "whatwg-encoding": "^1.0.5" } @@ -25413,6 +25542,7 @@ "version": "16.6.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", + "dev": true, "requires": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -25446,12 +25576,14 @@ "acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true }, "escodegen": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, "requires": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -25463,12 +25595,14 @@ "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true }, "form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -25479,6 +25613,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "optional": true } } @@ -26261,9 +26396,9 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.3.tgz", + "integrity": "sha512-eivjfi7Ahr6eQTn44nvTnR60e4a1Fs1Via2kCR5lHo/kyNoiMWaXCNJ/GpSd0ilXas2JSOl9B5FTIhflXu0hlg==", "requires": { "fs-monkey": "1.0.3" } @@ -29462,6 +29597,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, "requires": { "punycode": "^2.1.1" } @@ -29900,6 +30036,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, "requires": { "xml-name-validator": "^3.0.0" } @@ -29945,7 +30082,8 @@ "webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true }, "webpack": { "version": "5.70.0", @@ -30178,9 +30316,9 @@ } }, "ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", "requires": {} } } @@ -30226,6 +30364,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, "requires": { "iconv-lite": "0.4.24" } @@ -30233,12 +30372,14 @@ "whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true }, "whatwg-url": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, "requires": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -30349,7 +30490,8 @@ "ws": { "version": "7.4.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true }, "xhr2": { "version": "0.2.0", @@ -30359,7 +30501,8 @@ "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true }, "xmlchars": { "version": "2.2.0", diff --git a/frontend/package.json b/frontend/package.json index b4e2727f8..15b29801d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -61,26 +61,26 @@ "cypress:run:ci:staging": "node update-config.js TESTNET_ENABLED=true SIGNET_ENABLED=true LIQUID_ENABLED=true BISQ_ENABLED=true ITEMS_PER_PAGE=25 && npm run generate-config && start-server-and-test serve:local-staging 4200 cypress:run:record" }, "dependencies": { - "@angular-devkit/build-angular": "^13.3.4", - "@angular/animations": "~13.3.5", - "@angular/cli": "~13.3.4", - "@angular/common": "~13.3.5", - "@angular/compiler": "~13.3.5", - "@angular/core": "~13.3.5", - "@angular/forms": "~13.3.5", - "@angular/localize": "^13.3.5", - "@angular/platform-browser": "~13.3.5", - "@angular/platform-browser-dynamic": "~13.3.5", - "@angular/platform-server": "~13.3.5", - "@angular/router": "~13.3.5", - "@fortawesome/angular-fontawesome": "0.10.1", - "@fortawesome/fontawesome-common-types": "0.3.0", - "@fortawesome/fontawesome-svg-core": "1.3.0", - "@fortawesome/free-solid-svg-icons": "6.0.0", + "@angular-devkit/build-angular": "~13.3.7", + "@angular/animations": "~13.3.10", + "@angular/cli": "~13.3.7", + "@angular/common": "~13.3.10", + "@angular/compiler": "~13.3.10", + "@angular/core": "~13.3.10", + "@angular/forms": "~13.3.10", + "@angular/localize": "~13.3.10", + "@angular/platform-browser": "~13.3.10", + "@angular/platform-browser-dynamic": "~13.3.10", + "@angular/platform-server": "~13.3.10", + "@angular/router": "~13.3.10", + "@fortawesome/angular-fontawesome": "~0.10.1", + "@fortawesome/fontawesome-common-types": "~0.3.0", + "@fortawesome/fontawesome-svg-core": "~1.3.0", + "@fortawesome/free-solid-svg-icons": "~6.0.0", "@juggle/resize-observer": "^3.3.1", "@mempool/mempool.js": "2.3.0", "@ng-bootstrap/ng-bootstrap": "^11.0.0", - "@nguniversal/express-engine": "12.1.3", + "@nguniversal/express-engine": "~13.1.1", "@types/qrcode": "~1.4.2", "bootstrap": "~4.5.0", "browserify": "^17.0.0", @@ -100,8 +100,8 @@ "zone.js": "~0.11.4" }, "devDependencies": { - "@angular/compiler-cli": "~13.3.5", - "@angular/language-service": "~13.3.5", + "@angular/compiler-cli": "~13.3.10", + "@angular/language-service": "~13.3.10", "@nguniversal/builders": "~13.1.0", "@types/express": "^4.17.0", "@types/jasmine": "~3.6.0", From 24f464437934bbe7ee577a0c3d5599de4deda18e Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Thu, 26 May 2022 16:48:06 -0400 Subject: [PATCH 092/108] Orient stuck tx faqs for normies --- frontend/src/app/docs/api-docs/api-docs-data.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 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 20108d250..22893a982 100644 --- a/frontend/src/app/docs/api-docs/api-docs-data.ts +++ b/frontend/src/app/docs/api-docs/api-docs-data.ts @@ -6001,8 +6001,8 @@ export const faqData = [ category: "help", showConditions: bitcoinNetworks, fragment: "why-is-transaction-stuck-in-mempool", - title: "Why is my transaction stuck in the mempool?", - answer: "

Miners decide which transactions are included in the blocks they mine, so they usually prioritize transactions which pay them the highest transaction fees (transaction fees are measured in sats per virtual byte, or sat/vB). If it's been a while and your transcation hasn't been confirmed, your transaction probably has a lower transaction fee relative to other transactions currently in the mempool.

" + title: "Why isn't my transaction confirming?", + answer: "

If it's been a while and your transaction hasn't confirmed, your transaction is probably using a lower feerate relative to other transactions currently in the mempool. Depending on how you made your transaction, there may be ways to accelerate the process.

There's no need to panic—a Bitcoin transaction will always either confirm completely (or not at all) at some point. As long as you have your transaction's ID, you can always see where your funds are.

This site only provides data about the Bitcoin network—it cannot help you get your transaction confirmed quicker.

" }, { type: "endpoint", @@ -6010,7 +6010,7 @@ export const faqData = [ showConditions: bitcoinNetworks, fragment: "how-to-get-transaction-confirmed-quickly", title: "How can I get my transaction confirmed more quickly?", - answer: "

If your wallet supports RBF, and if your transaction was created with RBF enabled, you can bump the fee higher.

Otherwise, if your wallet does not support RBF, you can increase the effective fee rate of your transaction by spending its change output using a higher fee. This is called CPFP.

" + answer: "

To get your transaction confirmed quicker, you will need to increase its effective feerate.

If your transaction was created with RBF enabled, your stuck transaction can simply be replaced with a new one that has a higher fee.

Otherwise, if you control any of the stuck transaction's outputs, you can use CPFP to increase your stuck transaction's effective feerate.

If you are not sure how to do RBF or CPFP, work with the tool you used to make the transaction (wallet software, exchange company, etc). This website only provides data about the Bitcoin network, so there is nothing it can do to help you get your transaction confirmed quicker.

" }, { type: "endpoint", @@ -6018,7 +6018,7 @@ export const faqData = [ showConditions: bitcoinNetworks, fragment: "how-prevent-stuck-transaction", title: "How can I prevent a transaction from getting stuck in the future?", - answer: "

You must use an adequate transaction fee commensurate with how quickly you need the transaction to be confirmed. Also consider using RBF if your wallet supports it so that you can bump the fee rate if needed.

" + answer: "

You must use an adequate transaction fee commensurate with how quickly you need the transaction to be confirmed. See Mempool's fee estimates on the front page.

Also consider using RBF (if your wallet supports it) so that you can bump the feerate on your transaction if it does end up getting stuck.

" }, { type: "category", From 9a45dea52f2c5e7a66b4008b784e82d0bb21ae83 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Thu, 19 May 2022 16:36:59 -0400 Subject: [PATCH 093/108] Caution about manual installs in docker readme --- docker/README.md | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/docker/README.md b/docker/README.md index 37a2cc079..1d8580085 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1,18 +1,23 @@ # Docker Installation -This directory contains the Dockerfiles used to build and release the official images and a `docker-compose.yml` for end users to run a Mempool instance with minimal effort. +This directory contains the Dockerfiles used to build and release the official images, as well as a `docker-compose.yml` to configure environment variables and other settings. -You can choose to configure Mempool to run with a basic backend powered by just `bitcoind`, or with `bitcoind` along with an Electrum-compatible server for full functionality. +If you are looking to use these Docker images to deploy your own instance of Mempool, note that they only containerize Mempool's frontend and backend. You will still need to deploy and configure Bitcoin Core and an Electrum Server separately, along with any other utilities specific to your use case (e.g., a reverse proxy, etc). Such configuration is mostly beyond the scope of the Mempool project, so please only proceed if you know what you're doing. -## `bitcoind`-only Configuration +Jump to a section in this doc: +- [Configure with Bitcoin Core Only](#configure-with-bitcoin-core-only) +- [Configure with Bitcoin Core + Electrum Server](#configure-with-bitcoin-core--electrum-server) +- [Further Configuration](#further-configuration) -_Note: address lookups require an Electrum server and will not work with this configuration._ +## Configure with Bitcoin Core Only -Make sure `bitcoind` is running and synced. +_Note: address lookups require an Electrum Server and will not work with this configuration. [Add an Electrum Server](#configure-with-bitcoin-core--electrum-server) to your backend for full functionality._ -The default Docker configuration assumes you have added RPC credentials for a `mempool` user with a `mempool` password in your `bitcoin.conf` file, like so: +The default Docker configuration assumes you have the following configuration in your `bitcoin.conf` file: ``` +txindex=1 +server=1 rpcuser=mempool rpcpassword=mempool ``` @@ -31,6 +36,8 @@ If you want to use different credentials, specify them in the `docker-compose.ym The IP address in the example above refers to Docker's default gateway IP address so that the container can hit the `bitcoind` instance running on the host machine. If your setup is different, update it accordingly. +Make sure `bitcoind` is running and synced. + Now, run: ```bash @@ -39,11 +46,11 @@ docker-compose up Your Mempool instance should be running at http://localhost. The graphs will be populated as new transactions are detected. -## `bitcoind` + Electrum Server Configuration +## Configure with Bitcoin Core + Electrum Server -First, configure `bitcoind` as specified above, and make sure your Electrum server is running and synced. +First, configure `bitcoind` as specified above, and make sure your Electrum Server is running and synced. See [this FAQ](https://mempool.space/docs/faq#address-lookup-issues) if you need help picking an Electrum Server implementation. -Then, make sure the following variables are set in `docker-compose.yml`, as shown below, so Mempool can connect to your Electrum server: +Then, set the following variables in `docker-compose.yml` so Mempool can connect to your Electrum Server: ``` api: From 3e82e432c636428cc399d83965585566b3c6b985 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Mon, 23 May 2022 14:03:50 -0400 Subject: [PATCH 094/108] Add manual backend setup notes to backend/ readme --- backend/README.md | 148 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 140 insertions(+), 8 deletions(-) diff --git a/backend/README.md b/backend/README.md index e65205d67..c7508fda2 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1,22 +1,154 @@ -# Setup backend watchers +# Mempool Backend -The backend is static. Typescript scripts are compiled into the `dist` folder and served through a node web server. +These instructions are mostly intended for developers, but can be used as a basis for personal or small-scale production setups. -You can avoid the manual shutdown/recompile/restart command line cycle by using a watcher. +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 does not provide support for custom setups. -Make sure you are in the `backend` directory `cd backend`. +See other ways to set up Mempool on [the main README](/../../#installation-methods). -1. Install nodemon and ts-node +Jump to a section in this doc: +- [Set Up the Backend](#setup) +- [Development Tips](#development-tips) + +## Setup + +### 1. Clone Mempool Repository + +Get the latest Mempool code: ``` -sudo npm install -g ts-node nodemon +git clone https://github.com/mempool/mempool +cd mempool ``` -2. Run the watcher +Check out the latest release: -> Note: You can find your npm global binary folder using `npm -g bin`, where nodemon will be installed. +``` +latestrelease=$(curl -s https://api.github.com/repos/mempool/mempool/releases/latest|grep tag_name|head -1|cut -d '"' -f4) +git checkout $latestrelease +``` + +### 2. Configure Bitcoin Core + +Turn on `txindex`, enable RPC, and set RPC credentials in `bitcoin.conf`: + +``` +txindex=1 +server=1 +rpcuser=mempool +rpcpassword=mempool +``` + +### 3. Configure Electrum Server + +[Pick an Electrum Server implementation](https://mempool.space/docs/faq#address-lookup-issues), configure it, and make sure it's synced. + +**This step is optional.** You can run Mempool without configuring an Electrum Server for it, but address lookups will be disabled. + +### 4. Configure MySQL + +Get MariaDB from your operating system's package manager: + +``` +# Debian, Ubuntu, etc. +apt-get install mariadb-server mariadb-client + +# macOS +brew install mariadb +mysql.server start +``` + +Create a database and grant privileges: + +``` +MariaDB [(none)]> drop database mempool; +Query OK, 0 rows affected (0.00 sec) + +MariaDB [(none)]> create database mempool; +Query OK, 1 row affected (0.00 sec) + +MariaDB [(none)]> grant all privileges on mempool.* to 'mempool'@'%' identified by 'mempool'; +Query OK, 0 rows affected (0.00 sec) +``` + +### 5. Prepare Mempool Backend + +#### Build + +Install dependencies with `npm` and build the backend: + +``` +cd backend +npm install # add --prod for production +npm run build +``` + +#### Configure + +In the backend folder, make a copy of the sample config file: + +``` +cp mempool-config.sample.json mempool-config.json +``` + +Edit `mempool-config.json` as needed. + +In particular, make sure: +- the correct Bitcoin Core RPC credentials are specified in `CORE_RPC` +- the correct `BACKEND` is specified in `MEMPOOL`: it should be "electrum" if you're connecting to an Electrum Server and "none" if you're not + +### 6. Run Mempool Backend + +Run the Mempool backend: + +``` +npm run start +``` + +When it's running, you should see output like this: + +``` +Mempool updated in 0.189 seconds +Updating mempool +Mempool updated in 0.096 seconds +Updating mempool +Mempool updated in 0.099 seconds +Updating mempool +Calculated fee for transaction 1 / 10 +Calculated fee for transaction 2 / 10 +Calculated fee for transaction 3 / 10 +Calculated fee for transaction 4 / 10 +Calculated fee for transaction 5 / 10 +Calculated fee for transaction 6 / 10 +Calculated fee for transaction 7 / 10 +Calculated fee for transaction 8 / 10 +Calculated fee for transaction 9 / 10 +Calculated fee for transaction 10 / 10 +Mempool updated in 0.243 seconds +Updating mempool +``` + +### 7. Set Up Mempool Frontend +With the backend configured and running, proceed to set up the [Mempool frontend](../frontend#manual-setup). + +## Development Tips + +### Set Up Backend Watchers + +The Mempool backend is static. TypeScript scripts are compiled into the `dist` folder and served through a Node.js web server. + +As a result, for development purposes, you may find it helpful to set up backend watchers to avoid the manual shutdown/recompile/restart command-line cycle. + +First, install `nodemon` and `ts-node`: + +``` +npm install -g ts-node nodemon +``` + +Then, run the watcher: ``` nodemon src/index.ts --ignore cache/ --ignore pools.json ``` +`nodemon` should be in npm's global binary folder. If needed, you can determine where that is with `npm -g bin`. From 24e745e85dd6abb02e14b40fd7f60ed8096e2f15 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Mon, 23 May 2022 18:21:13 -0400 Subject: [PATCH 095/108] Add manual frontend setup notes to frontend/ readme --- frontend/README.md | 72 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 63 insertions(+), 9 deletions(-) diff --git a/frontend/README.md b/frontend/README.md index f7fb08552..59929b5ee 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,8 +1,30 @@ -# mempool-frontend +# Mempool Frontend -## Contributing +You can build and run the Mempool frontend and proxy to the production Mempool backend (for easier frontend development), or you can connect it to your own backend for a full Mempool development instance, custom deployment, etc. -This package is used for the https://mempool.space, https://liquid.network and https://bisq.markets websites - there are npm scripts to setup all three, which effectively change how BASE_MODULE is configured: +Jump to a section in this doc: +- [Quick Setup for Frontend Development](#quick-setup-for-frontend-development) +- [Manual Frontend Setup](#manual-setup) +- [Translations](#translations-transifex-project) + +## Quick Setup for Frontend Development + +If you want to quickly improve the UI, fix typos, or make other updates that don't require any backend changes, you don't need to set up an entire backend—you can simply run the Mempool frontend locally and proxy to the mempool.space backend. + +### 1. Clone Mempool Repository + +Get the latest Mempool code: + +``` +git clone https://github.com/mempool/mempool +cd mempool +``` + +### 2. Specify Website + +The same frontend codebase is used for https://mempool.space, https://liquid.network and https://bisq.markets. + +Configure the frontend for the site you want by running the corresponding command: ``` $ npm run config:defaults:mempool @@ -10,18 +32,20 @@ $ npm run config:defaults:liquid $ npm run config:defaults:bisq ``` -Changes that affect the frontend codebase only can be done using the production backend so you don't need to spin up the entire Mempool infrastructure. This is very convenient in case you want to quickly improve the UI, fix typos or implement new features that don't require any backend changes. +### 3. Run the Frontend -Make your changes, install the project dependencies and run the frontend server as follows: +Install project dependencies and run the frontend server: ``` $ npm install $ npm run serve:local-prod ``` -The frontend will be available at http://localhost:4200/ and all API requests will be proxied to the production server at https://mempool.space +The frontend will be available at http://localhost:4200/ and all API requests will be proxied to the production server at https://mempool.space. -After making your changes, you can run our end-to-end automation suite and check for possible regressions: +### 4. Test + +After making your changes, you can run our end-to-end automation suite and check for possible regressions. Headless: @@ -37,11 +61,41 @@ $ npm run config:defaults:mempool && npm run cypress:open This will open the Cypress test runner, where you can select any of the test files to run. -If all tests are green, submit your PR and it will be reviewed by someone on the team as soon as possible. +If all tests are green, submit your PR, and it will be reviewed by someone on the team as soon as possible. + +## Manual Setup + +Set up the [Mempool backend](../backend/) first, if you haven't already. + +### 1. Build the Frontend + +Build the frontend: + +``` +cd frontend +npm install # add --prod for production +npm run build +``` + +### 2. Run the Frontend + +#### Development + +To run your local Mempool frontend with your local Mempool backend: + +``` +npm run serve +``` + +#### Production + +The `npm run build` command from step 1 above should have generated a `dist` directory. Put the contents of `dist/` into the root folder of your web server. + +You will probably want to set up a reverse proxy, TLS, etc. There are sample nginx configuration files in the top level of the repository for reference, but note that support for such tasks is outside the scope of this project. ## Translations: Transifex Project -The mempool frontend strings are localized into 20+ locales: +The Mempool frontend strings are localized into 20+ locales: https://www.transifex.com/mempool/mempool/dashboard/ ### Translators From c69d0e8148f69e26e269668a7975f453a0cb9a6f Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Thu, 26 May 2022 17:57:48 -0400 Subject: [PATCH 096/108] Add note on mysql install brought up in #1731 --- backend/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/README.md b/backend/README.md index c7508fda2..2fb7ee68a 100644 --- a/backend/README.md +++ b/backend/README.md @@ -45,7 +45,9 @@ rpcpassword=mempool **This step is optional.** You can run Mempool without configuring an Electrum Server for it, but address lookups will be disabled. -### 4. Configure MySQL +### 4. Configure MariaDB + +_Mempool needs MariaDB v10.5 or later. If you already have MySQL installed, make sure to migrate any existing databases **before** installing MariaDB._ Get MariaDB from your operating system's package manager: From 28439bff7dfefa2752080e60356a6dfd8bb8574f Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Thu, 26 May 2022 18:19:58 -0400 Subject: [PATCH 097/108] Add recommended versions for node and npm --- backend/README.md | 2 ++ frontend/README.md | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/backend/README.md b/backend/README.md index 2fb7ee68a..2adc8bbd2 100644 --- a/backend/README.md +++ b/backend/README.md @@ -77,6 +77,8 @@ Query OK, 0 rows affected (0.00 sec) #### Build +_Node.js 16 and npm 7 are recommended._ + Install dependencies with `npm` and build the backend: ``` diff --git a/frontend/README.md b/frontend/README.md index 59929b5ee..49dd104a7 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -34,6 +34,8 @@ $ npm run config:defaults:bisq ### 3. Run the Frontend +_Node.js 16 and npm 7 are recommended._ + Install project dependencies and run the frontend server: ``` @@ -69,6 +71,8 @@ Set up the [Mempool backend](../backend/) first, if you haven't already. ### 1. Build the Frontend +_Node.js 16 and npm 7 are recommended._ + Build the frontend: ``` From d944362c7da2a7dd6491a87bb288a1acc3e04a49 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Thu, 26 May 2022 19:33:54 -0400 Subject: [PATCH 098/108] Broaden guidance for hosting frontend --- frontend/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/README.md b/frontend/README.md index 49dd104a7..e223f17c2 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -93,7 +93,7 @@ npm run serve #### Production -The `npm run build` command from step 1 above should have generated a `dist` directory. Put the contents of `dist/` into the root folder of your web server. +The `npm run build` command from step 1 above should have generated a `dist` directory. Put the contents of `dist/` onto your web server. You will probably want to set up a reverse proxy, TLS, etc. There are sample nginx configuration files in the top level of the repository for reference, but note that support for such tasks is outside the scope of this project. From b7c918b79dc55f6d914c7ea42aac423703bf2e88 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Thu, 26 May 2022 22:13:37 -0400 Subject: [PATCH 099/108] Mention "esplora" value for blockstream/electrs --- backend/README.md | 5 ++++- docker/README.md | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/README.md b/backend/README.md index 2adc8bbd2..cbda2478b 100644 --- a/backend/README.md +++ b/backend/README.md @@ -99,7 +99,10 @@ Edit `mempool-config.json` as needed. In particular, make sure: - the correct Bitcoin Core RPC credentials are specified in `CORE_RPC` -- the correct `BACKEND` is specified in `MEMPOOL`: it should be "electrum" if you're connecting to an Electrum Server and "none" if you're not +- the correct `BACKEND` is specified in `MEMPOOL`: + - "electrum" if you're using [romanz/electrs](https://github.com/romanz/electrs) or [cculianu/Fulcrum](https://github.com/cculianu/Fulcrum) + - "esplora" if you're using [Blockstream/electrs](https://github.com/Blockstream/electrs) + - "none" if you're not using any Electrum Server ### 6. Run Mempool Backend diff --git a/docker/README.md b/docker/README.md index 1d8580085..45bdff615 100644 --- a/docker/README.md +++ b/docker/README.md @@ -61,6 +61,11 @@ Then, set the following variables in `docker-compose.yml` so Mempool can connect ELECTRUM_TLS_ENABLED: "false" ``` +Eligible values for `MEMPOOL_BACKEND`: + - "electrum" if you're using [romanz/electrs](https://github.com/romanz/electrs) or [cculianu/Fulcrum](https://github.com/cculianu/Fulcrum) + - "esplora" if you're using [Blockstream/electrs](https://github.com/Blockstream/electrs) + - "none" if you're not using any Electrum Server + Of course, if your Docker host IP address is different, update accordingly. With `bitcoind` and Electrum Server set up, run Mempool with: From e590759b7b1a4d14a06ac00f2c65065636231107 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 24 May 2022 12:14:55 +0200 Subject: [PATCH 100/108] Don't try to run pools parser if db is not enabled --- backend/src/index.ts | 2 -- backend/src/tasks/pools-updater.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index 30c5ecf37..9e90edbc4 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -25,8 +25,6 @@ import databaseMigration from './api/database-migration'; import syncAssets from './sync-assets'; import icons from './api/liquid/icons'; import { Common } from './api/common'; -import mining from './api/mining'; -import HashratesRepository from './repositories/HashratesRepository'; import poolsUpdater from './tasks/pools-updater'; import indexer from './indexer'; diff --git a/backend/src/tasks/pools-updater.ts b/backend/src/tasks/pools-updater.ts index aac301256..05a1da5dc 100644 --- a/backend/src/tasks/pools-updater.ts +++ b/backend/src/tasks/pools-updater.ts @@ -16,7 +16,7 @@ class PoolsUpdater { } public async updatePoolsJson() { - if (['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK) === false) { + if (['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK) === false || config.DATABASE.ENABLED === false) { return; } From be3d8b5ed9230770cc3662583a13b96df49ed3b7 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 24 May 2022 11:16:01 +0200 Subject: [PATCH 101/108] Mining dashboard still runs fine if Bitcoin Core becomes unavailable --- backend/src/api/blocks.ts | 17 ++++++++++++----- backend/src/api/mining.ts | 18 ++++++++++++++---- backend/src/repositories/BlocksRepository.ts | 13 +++++++++++++ backend/src/routes.ts | 12 ++++++++++-- 4 files changed, 49 insertions(+), 11 deletions(-) diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index b9b7b3aff..526d4889e 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -426,25 +426,32 @@ class Blocks { return returnBlocks; } + if (currentHeight === 0 && Common.indexingEnabled()) { + currentHeight = await blocksRepository.$mostRecentBlockHeight(); + } + // Check if block height exist in local cache to skip the hash lookup const blockByHeight = this.getBlocks().find((b) => b.height === currentHeight); let startFromHash: string | null = null; if (blockByHeight) { startFromHash = blockByHeight.id; - } else { + } else if (!Common.indexingEnabled()) { startFromHash = await bitcoinApi.$getBlockHash(currentHeight); } let nextHash = startFromHash; for (let i = 0; i < limit && currentHeight >= 0; i++) { let block = this.getBlocks().find((b) => b.height === currentHeight); - if (!block && Common.indexingEnabled()) { + if (block) { + returnBlocks.push(block); + } else if (Common.indexingEnabled()) { block = await this.$indexBlock(currentHeight); - } else if (!block) { + returnBlocks.push(block); + } else if (nextHash != null) { block = prepareBlock(await bitcoinApi.$getBlock(nextHash)); + nextHash = block.previousblockhash; + returnBlocks.push(block); } - returnBlocks.push(block); - nextHash = block.previousblockhash; currentHeight--; } diff --git a/backend/src/api/mining.ts b/backend/src/api/mining.ts index 7e7008351..be786db42 100644 --- a/backend/src/api/mining.ts +++ b/backend/src/api/mining.ts @@ -94,8 +94,13 @@ class Mining { poolsStatistics['blockCount'] = blockCount; const totalBlock24h: number = await BlocksRepository.$blockCount(null, '24h'); - const lastBlockHashrate = await bitcoinClient.getNetworkHashPs(totalBlock24h); - poolsStatistics['lastEstimatedHashrate'] = lastBlockHashrate; + + try { + poolsStatistics['lastEstimatedHashrate'] = await bitcoinClient.getNetworkHashPs(totalBlock24h); + } catch (e) { + poolsStatistics['lastEstimatedHashrate'] = 0; + logger.debug('Bitcoin Core is not available, using zeroed value for current hashrate'); + } return poolsStatistics; } @@ -118,7 +123,12 @@ class Mining { const blockCount1w: number = await BlocksRepository.$blockCount(pool.id, '1w'); const totalBlock1w: number = await BlocksRepository.$blockCount(null, '1w'); - const currentEstimatedkHashrate = await bitcoinClient.getNetworkHashPs(totalBlock24h); + let currentEstimatedHashrate = 0; + try { + currentEstimatedHashrate = await bitcoinClient.getNetworkHashPs(totalBlock24h); + } catch (e) { + logger.debug('Bitcoin Core is not available, using zeroed value for current hashrate'); + } return { pool: pool, @@ -132,7 +142,7 @@ class Mining { '24h': blockCount24h / totalBlock24h, '1w': blockCount1w / totalBlock1w, }, - estimatedHashrate: currentEstimatedkHashrate * (blockCount24h / totalBlock24h), + estimatedHashrate: currentEstimatedHashrate * (blockCount24h / totalBlock24h), reportedHashrate: null, }; } diff --git a/backend/src/repositories/BlocksRepository.ts b/backend/src/repositories/BlocksRepository.ts index dcd5b48d1..4fd5511af 100644 --- a/backend/src/repositories/BlocksRepository.ts +++ b/backend/src/repositories/BlocksRepository.ts @@ -121,6 +121,19 @@ class BlocksRepository { } } + /** + * Return most recent block height + */ + public async $mostRecentBlockHeight(): Promise { + try { + const [row] = await DB.query('SELECT MAX(height) as maxHeight from blocks'); + return row[0]['maxHeight']; + } catch (e) { + logger.err(`Cannot count blocks for this pool (using offset). Reason: ` + (e instanceof Error ? e.message : e)); + throw e; + } + } + /** * Get blocks count for a period */ diff --git a/backend/src/routes.ts b/backend/src/routes.ts index ef8dd47e5..91c41faa6 100644 --- a/backend/src/routes.ts +++ b/backend/src/routes.ts @@ -619,6 +619,14 @@ class Routes { } public async $getHistoricalHashrate(req: Request, res: Response) { + let currentHashrate = 0, currentDifficulty = 0; + try { + currentHashrate = await bitcoinClient.getNetworkHashPs(); + currentDifficulty = await bitcoinClient.getDifficulty(); + } catch (e) { + logger.debug('Bitcoin Core is not available, using zeroed value for current hashrate and difficulty'); + } + try { const hashrates = await HashratesRepository.$getNetworkDailyHashrate(req.params.interval); const difficulty = await BlocksRepository.$getBlocksDifficulty(req.params.interval); @@ -630,8 +638,8 @@ class Routes { res.json({ hashrates: hashrates, difficulty: difficulty, - currentHashrate: await bitcoinClient.getNetworkHashPs(), - currentDifficulty: await bitcoinClient.getDifficulty(), + currentHashrate: currentHashrate, + currentDifficulty: currentDifficulty, }); } catch (e) { res.status(500).send(e instanceof Error ? e.message : e); From 99902e70c72d715746ea43a4fddf1d0bc7c52f6e Mon Sep 17 00:00:00 2001 From: nymkappa Date: Fri, 27 May 2022 20:43:14 +0200 Subject: [PATCH 102/108] Use block hash instead of block height in urls --- backend/src/repositories/BlocksRepository.ts | 53 ++++++++++++++++--- .../blocks-list/blocks-list.component.html | 2 +- .../app/components/pool/pool.component.html | 3 +- 3 files changed, 48 insertions(+), 10 deletions(-) diff --git a/backend/src/repositories/BlocksRepository.ts b/backend/src/repositories/BlocksRepository.ts index dcd5b48d1..7e58b9453 100644 --- a/backend/src/repositories/BlocksRepository.ts +++ b/backend/src/repositories/BlocksRepository.ts @@ -240,8 +240,26 @@ class BlocksRepository { } const params: any[] = []; - let query = ` SELECT *, UNIX_TIMESTAMP(blocks.blockTimestamp) as blockTimestamp, - previous_block_hash as previousblockhash + let query = ` SELECT + height, + hash as id, + UNIX_TIMESTAMP(blocks.blockTimestamp) as blockTimestamp, + size, + weight, + tx_count, + coinbase_raw, + difficulty, + fees, + fee_span, + median_fee, + reward, + version, + bits, + nonce, + merkle_root, + previous_block_hash as previousblockhash, + avg_fee, + avg_fee_rate FROM blocks WHERE pool_id = ?`; params.push(pool.id); @@ -274,11 +292,32 @@ class BlocksRepository { */ public async $getBlockByHeight(height: number): Promise { try { - const [rows]: any[] = await DB.query(` - SELECT *, UNIX_TIMESTAMP(blocks.blockTimestamp) as blockTimestamp, - pools.id as pool_id, pools.name as pool_name, pools.link as pool_link, pools.slug as pool_slug, - pools.addresses as pool_addresses, pools.regexes as pool_regexes, - previous_block_hash as previousblockhash + const [rows]: any[] = await DB.query(`SELECT + height, + hash as id, + UNIX_TIMESTAMP(blocks.blockTimestamp) as blockTimestamp, + size, + weight, + tx_count, + coinbase_raw, + difficulty, + pools.id as pool_id, + pools.name as pool_name, + pools.link as pool_link, + pools.slug as pool_slug, + pools.addresses as pool_addresses, + pools.regexes as pool_regexes, + fees, + fee_span, + median_fee, + reward, + version, + bits, + nonce, + merkle_root, + previous_block_hash as previousblockhash, + avg_fee, + avg_fee_rate FROM blocks JOIN pools ON blocks.pool_id = pools.id WHERE height = ${height}; 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 0e0f5d1e1..b71a96837 100644 --- a/frontend/src/app/components/blocks-list/blocks-list.component.html +++ b/frontend/src/app/components/blocks-list/blocks-list.component.html @@ -21,7 +21,7 @@
- {{ block.height }} + {{ block.height }}
diff --git a/frontend/src/app/components/pool/pool.component.html b/frontend/src/app/components/pool/pool.component.html index 849744253..baddba88f 100644 --- a/frontend/src/app/components/pool/pool.component.html +++ b/frontend/src/app/components/pool/pool.component.html @@ -221,8 +221,7 @@
- {{ block.height - }} + {{ block.height }} ‎{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm' }} From 7be22b8236c6aa75d1269f90afb1d3028da3868d Mon Sep 17 00:00:00 2001 From: softsimon Date: Mon, 30 May 2022 13:26:54 +0400 Subject: [PATCH 103/108] Transifex pull --- frontend/src/locale/messages.ar.xlf | 172 +++++++++--------- frontend/src/locale/messages.ca.xlf | 150 ++++++++-------- frontend/src/locale/messages.cs.xlf | 153 ++++++++-------- frontend/src/locale/messages.de.xlf | 160 +++++++++-------- frontend/src/locale/messages.en_US.xlf | 150 ++++++++-------- frontend/src/locale/messages.es.xlf | 153 ++++++++-------- frontend/src/locale/messages.fa.xlf | 153 ++++++++-------- frontend/src/locale/messages.fi.xlf | 153 ++++++++-------- frontend/src/locale/messages.fr.xlf | 199 ++++++++++++--------- frontend/src/locale/messages.he.xlf | 153 ++++++++-------- frontend/src/locale/messages.hi.xlf | 153 ++++++++-------- frontend/src/locale/messages.hr.xlf | 150 ++++++++-------- frontend/src/locale/messages.hu.xlf | 156 ++++++++--------- frontend/src/locale/messages.it.xlf | 183 +++++++++++--------- frontend/src/locale/messages.ja.xlf | 222 +++++++++++++++--------- frontend/src/locale/messages.ka.xlf | 153 ++++++++-------- frontend/src/locale/messages.ko.xlf | 153 ++++++++-------- frontend/src/locale/messages.mk.xlf | 153 ++++++++-------- frontend/src/locale/messages.nb.xlf | 153 ++++++++-------- frontend/src/locale/messages.nl.xlf | 154 ++++++++--------- frontend/src/locale/messages.pl.xlf | 230 ++++++++++++++++--------- frontend/src/locale/messages.pt.xlf | 160 +++++++++-------- frontend/src/locale/messages.ro.xlf | 224 +++++++++++++++--------- frontend/src/locale/messages.ru.xlf | 153 ++++++++-------- frontend/src/locale/messages.sl.xlf | 153 ++++++++-------- frontend/src/locale/messages.sv.xlf | 164 +++++++++--------- frontend/src/locale/messages.th.xlf | 153 ++++++++-------- frontend/src/locale/messages.tr.xlf | 153 ++++++++-------- frontend/src/locale/messages.uk.xlf | 153 ++++++++-------- frontend/src/locale/messages.vi.xlf | 153 ++++++++-------- frontend/src/locale/messages.zh.xlf | 153 ++++++++-------- 31 files changed, 2530 insertions(+), 2545 deletions(-) diff --git a/frontend/src/locale/messages.ar.xlf b/frontend/src/locale/messages.ar.xlf index a0c3f6b01..5cf3c0a40 100644 --- a/frontend/src/locale/messages.ar.xlf +++ b/frontend/src/locale/messages.ar.xlf @@ -147,6 +147,7 @@ + node_modules/src/progressbar/progressbar.ts 59,63 @@ -250,6 +251,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -257,6 +259,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -279,7 +282,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +295,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +312,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +325,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +438,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +504,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +543,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +567,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -731,6 +718,7 @@ View more » + عرض المزيد 》 src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 92,97 @@ -770,7 +758,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1017,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1071,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1093,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,15 +1458,16 @@ التحالفات المجتمعية src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances Project Translators + مترجمي المشروع src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1476,7 @@ المساهمون في المشروع src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1485,7 @@ أعضاء المشروع src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1494,7 @@ فريق صيانة المشروع src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1530,23 @@ غير سري src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - من تحويلة + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - من معاملة + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1555,15 @@ خطأ في تحميل بيانات العنوان. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1572,7 @@ سري src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1588,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -1803,6 +1790,7 @@ All + الكل src/app/components/assets/assets-nav/assets-nav.component.html 13 @@ -2002,6 +1990,7 @@ Block Fees + رسوم الكتله src/app/components/block-fees-graph/block-fees-graph.component.html 5,7 @@ -2018,6 +2007,7 @@ Fees + الرسوم src/app/components/block-fees-graph/block-fees-graph.component.ts 160,158 @@ -2037,6 +2027,7 @@ Block Rewards + مكافأة الكتلة src/app/components/block-rewards-graph/block-rewards-graph.component.html 6,8 @@ -2053,13 +2044,14 @@ Reward + المكافأة src/app/components/block-rewards-graph/block-rewards-graph.component.ts 160,158 src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2095,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2242,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2400,24 @@ Transaction Details transaction.details - - Error loading block data. - خطأ في تحميل بيانات الكتلة. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : الكتلة : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2443,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2462,7 @@ التحويلات src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -2513,6 +2500,7 @@ Change + تغير src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 8,11 @@ -2618,6 +2606,7 @@ Next Halving + الانقسام التالي src/app/components/difficulty/difficulty.component.html 50,52 @@ -2729,6 +2718,7 @@ Mining + التعدين src/app/components/graphs/graphs.component.html 5 @@ -3029,6 +3019,7 @@ blocks + كتل src/app/components/pool-ranking/pool-ranking.component.ts 160,158 @@ -3060,6 +3051,7 @@ Show all + عرض الكل src/app/components/pool/pool.component.html 53,55 @@ -3070,16 +3062,17 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all Hide + إخفاء src/app/components/pool/pool.component.html 55,58 @@ -3108,6 +3101,7 @@ Estimated + المتوقع src/app/components/pool/pool.component.html 96,97 @@ -3188,6 +3182,7 @@ 24h + ٢٤ ساعه src/app/components/pool/pool.component.html 147 @@ -3200,6 +3195,7 @@ 1w + ١ أسبوع src/app/components/pool/pool.component.html 148 @@ -3278,10 +3274,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3305,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3639,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3768,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3815,7 @@ البرنامج النصي (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3825,7 @@ البرنامج النصي. (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3835,7 @@ شوهد src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3844,7 @@ البرنامج النصي استرداد P2SH src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3852,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3861,7 @@ نتائج التجزئة النصية العالقة 2 للشاهد النصي المنفصل. src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3870,7 @@ ن التسلسل src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3879,7 @@ نص النتائج السابقة. src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3888,7 @@ نص النتائج السابقة. src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3897,7 @@ إخراج المعاملات الى src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3906,7 @@ النتيجة النصية لمعاملات بتكوين(عملية عكسية لإلغاء الرموز النصية) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3916,19 @@ النتيجة النصيةلمعاملات بتكوين (سلسلة ارقام سداسية عشرية) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 هذه المعاملة وفرت % من الرسوم بسبب استخدام SegWit-Bech32 diff --git a/frontend/src/locale/messages.ca.xlf b/frontend/src/locale/messages.ca.xlf index 8fc9b3137..96a086065 100644 --- a/frontend/src/locale/messages.ca.xlf +++ b/frontend/src/locale/messages.ca.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -431,11 +431,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -500,10 +496,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -543,8 +535,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -567,14 +559,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -765,7 +749,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1022,7 +1006,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1075,7 +1059,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1096,7 +1080,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1456,7 +1440,7 @@ Community Alliances src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1464,7 +1448,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1473,7 +1457,7 @@ Col·laboradors del projecte src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1481,7 +1465,7 @@ Project Members src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1490,7 +1474,7 @@ Mantenidors del projecte src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1525,23 +1509,23 @@ Unconfidential src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1550,15 +1534,15 @@ S'ha produït un error en carregar les dades de l'adreça. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1567,7 +1551,7 @@ Confidencial src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1583,7 +1567,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2027,7 +2011,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2071,11 +2055,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2220,7 +2200,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2374,19 +2354,23 @@ Transaction Details transaction.details - - Error loading block data. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : src/app/components/block/block.component.ts - 146 + 147 @@ -2412,10 +2396,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2435,7 +2415,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3020,11 +3000,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3227,10 +3207,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3262,6 +3238,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3580,7 +3564,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3705,7 +3689,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3751,7 +3735,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3761,7 +3745,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3770,7 +3754,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3778,7 +3762,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3786,7 +3770,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3794,7 +3778,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3803,7 +3787,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3811,7 +3795,7 @@ Previous output script src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3819,7 +3803,7 @@ Previous output type src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3827,7 +3811,7 @@ Peg-out to src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3836,7 +3820,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3846,11 +3830,19 @@ ScriptPubKey (HEX)  src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 diff --git a/frontend/src/locale/messages.cs.xlf b/frontend/src/locale/messages.cs.xlf index e4b913ee2..89069bd34 100644 --- a/frontend/src/locale/messages.cs.xlf +++ b/frontend/src/locale/messages.cs.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ Komunitní aliance src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ Přispěvatelé projektu src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ Členové projektu src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ Správci projektu src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ Nedůvěrné src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - z transakce + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - z transakcí + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ Chyba při načítání údajů o adrese. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ Důvěrné src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - Chyba při načítání dat bloku. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Blok : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ Počet TX src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH redeem skript src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH witness skript src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ Předchozí výstupní skript src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ Předchozí typ výstupu src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ Peg-out na src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Tato transakce ušetřila % na poplatcích díky použití nativního SegWit-Bech32. diff --git a/frontend/src/locale/messages.de.xlf b/frontend/src/locale/messages.de.xlf index c7fe1399e..243e20a56 100644 --- a/frontend/src/locale/messages.de.xlf +++ b/frontend/src/locale/messages.de.xlf @@ -283,7 +283,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -296,7 +296,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -313,7 +313,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -326,7 +326,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -439,11 +439,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -509,10 +505,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -552,8 +544,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -576,14 +568,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -775,7 +759,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1034,7 +1018,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1088,7 +1072,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1110,7 +1094,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1478,7 +1462,7 @@ Community-Allianzen src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1487,7 +1471,7 @@ Projektübersetzer src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1496,7 +1480,7 @@ Projektmitwirkende src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1505,7 +1489,7 @@ Projektmitglieder src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1514,7 +1498,7 @@ Projektbetreuer src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1551,25 +1535,25 @@ Bekannt src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - von Transaktion + of transaction + von Transaktion src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - von Transaktionen + of transactions + von Transaktionen src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1578,16 +1562,16 @@ Fehler beim Laden der Adressdaten. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: - Es gibt viele Transaktionen an dieser Adresse, mehr als das Backend verarbeiten kann. Weitere Informationen unter einrichten eines stärkeren Backends. Alternativ kann diese Adresse auf der offiziellen Mempool-Website angezeigt werden: + 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: + Auf dieser Adresse liegen mehr Transaktionen, als dein Backend verkraftet. Schau bei nach, wie man ein robusteres Backend einrichtet. Du könntest diese Adresse auch auf der offiziellen Mempool Webseite anschauen: src/app/components/address/address.component.html - 137,140 + 135,138 Electrum server limit exceeded error @@ -1596,7 +1580,7 @@ Vertraulich src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1612,7 +1596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2078,7 +2062,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2123,11 +2107,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2274,7 +2254,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2432,21 +2412,25 @@ Transaction Details transaction.details - - Error loading block data. - Fehler beim Laden der Blockdaten. + + Error loading data. + Fehler beim Laden der Daten. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Block : src/app/components/block/block.component.ts - 146 + 147 @@ -2473,10 +2457,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2496,7 +2476,7 @@ TX src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3119,11 +3099,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3340,10 +3320,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3377,6 +3353,15 @@ sat/vB shared.sat-vbyte + + Average Fee + Durchschnittliche Gebühr + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks Durchschnittlich gezahlte Gebühr für jede Transaktion in den letzten 144 Blöcken @@ -3704,7 +3689,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3833,7 +3818,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3880,7 +3865,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3890,7 +3875,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3900,7 +3885,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3909,7 +3894,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3918,7 +3903,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3927,7 +3912,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3936,7 +3921,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3945,7 +3930,7 @@ Vorheriges Output Script src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3954,7 +3939,7 @@ Vorheriger Ausgabetyp src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3963,7 +3948,7 @@ Peg-out zu src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3972,7 +3957,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3982,11 +3967,20 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + Alle Inputs einblenden, um die Gebührendaten aufzudecken + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Diese Transaktion sparte % an Gebühren durch die Verwendung von nativem SegWit-Bech32 diff --git a/frontend/src/locale/messages.en_US.xlf b/frontend/src/locale/messages.en_US.xlf index 3915c7ac7..fa5211aaf 100644 --- a/frontend/src/locale/messages.en_US.xlf +++ b/frontend/src/locale/messages.en_US.xlf @@ -250,7 +250,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -262,7 +262,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -278,7 +278,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -290,7 +290,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -397,11 +397,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -463,10 +459,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -504,8 +496,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -527,14 +519,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -714,7 +698,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -955,7 +939,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1006,7 +990,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1027,7 +1011,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1359,7 +1343,7 @@ Community Alliances src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1367,7 +1351,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1375,7 +1359,7 @@ Project Contributors src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1383,7 +1367,7 @@ Project Members src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1391,7 +1375,7 @@ Project Maintainers src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1425,23 +1409,23 @@ Unconfidential src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1449,15 +1433,15 @@ Error loading address data. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1465,7 +1449,7 @@ Confidential src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1481,7 +1465,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -1911,7 +1895,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -1954,11 +1938,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2100,7 +2080,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2248,19 +2228,23 @@ Transaction Details transaction.details - - Error loading block data. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : src/app/components/block/block.component.ts - 146 + 147 @@ -2285,10 +2269,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2307,7 +2287,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -2879,11 +2859,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3086,10 +3066,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3121,6 +3097,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3430,7 +3414,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3547,7 +3531,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3589,7 +3573,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3598,7 +3582,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3607,7 +3591,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3615,7 +3599,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3623,7 +3607,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3631,7 +3615,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3639,7 +3623,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3647,7 +3631,7 @@ Previous output script src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3655,7 +3639,7 @@ Previous output type src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3663,7 +3647,7 @@ Peg-out to src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3671,7 +3655,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3680,11 +3664,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 diff --git a/frontend/src/locale/messages.es.xlf b/frontend/src/locale/messages.es.xlf index 7d8ced057..2d8ed05fc 100644 --- a/frontend/src/locale/messages.es.xlf +++ b/frontend/src/locale/messages.es.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ Alianzas de la comunidad src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ Contribuyentes al proyecto src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ Miembros del proyecto src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ Mantenedores del proyecto src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ No confidencial src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - de transacción + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - de transacciones + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ Errar cargando datos de dirección src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ Confidencial src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - Error cargando datos de bloque + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Bloque : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Testigo src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ script de canje P2SH src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ script de testigo P2WSH src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSecuencia src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ Script de salida previo src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ Anterior tipo de salida src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ Peg-out a src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Esta transacción ahorra % en tasas usando Segwit-Bech32 nativo diff --git a/frontend/src/locale/messages.fa.xlf b/frontend/src/locale/messages.fa.xlf index 5468112f4..f5f6cac19 100644 --- a/frontend/src/locale/messages.fa.xlf +++ b/frontend/src/locale/messages.fa.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ متحدین جامعه src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ مشارکت کنندگان src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ اعضای پروژه src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ نگهدارندگان پروژه src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ غیرمحرمانه src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - از تراکنش + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - از تراکنش + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ حطا در بازکردن داده‌های آدرس. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ محرمانه src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - خطا در بازکردن داده‌های بلاک. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : بلاک : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ تراکنش src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ شاهد src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ اسکریپت نقد کردن P2SH src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ اسکریپت شاهد P2WSH src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ اسکریپت خروجی قبلی src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ نوع خروجی قبلی src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ ‏Peg-out به src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 این تراکنش با استفاده کردن از SegWit-Bech32 حدودا درصد در کارمزد صرفه‌جویی کرده است diff --git a/frontend/src/locale/messages.fi.xlf b/frontend/src/locale/messages.fi.xlf index e75fef47c..62bf099d8 100644 --- a/frontend/src/locale/messages.fi.xlf +++ b/frontend/src/locale/messages.fi.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ Yhteisöliittoumat src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ Projektin avustajat src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ Projektin jäsenet src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ Projektin ylläpitäjät src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ Ei-luottamuksellinen src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - / siirtotapahtuma + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - / siirtotapahtumaa + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ Virhe osoitetietojen lataamisessa. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ Luottamuksellinen src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - Virhe lohkotietoja ladattaessa. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Lohko : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ Siirtoa src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Todistaja src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH lunastusskripti src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH todistajaskripti src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ Edellinen tulosteskripti src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ Edellinen tulostetyyppi src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ Irrotetaan src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Tämä transaktio säästi % siirtokuluissa käyttämällä natiivia SegWit-Bech32:ta diff --git a/frontend/src/locale/messages.fr.xlf b/frontend/src/locale/messages.fr.xlf index 0236ad230..0a53f4743 100644 --- a/frontend/src/locale/messages.fr.xlf +++ b/frontend/src/locale/messages.fr.xlf @@ -11,6 +11,7 @@ Slide of + Diapositive sur node_modules/src/carousel/carousel.ts 147,156 @@ -147,6 +148,7 @@ + node_modules/src/progressbar/progressbar.ts 59,63 @@ -250,6 +252,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -257,6 +260,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -279,7 +283,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +296,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +313,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +326,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +439,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +505,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +544,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +568,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -771,7 +759,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1030,7 +1018,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1084,7 +1072,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1106,7 +1094,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1405,6 +1393,7 @@ 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. + Notre explorateur mempool et blockchain pour la communauté Bitcoin, axé sur le marché des frais de transaction et l'écosystème multicouche, entièrement auto-hébergé sans aucun tiers de confiance. src/app/components/about/about.component.html 13,17 @@ -1452,6 +1441,7 @@ Self-Hosted Integrations + Intégrations auto-hébergées src/app/components/about/about.component.html 173,175 @@ -1460,6 +1450,7 @@ Wallet Integrations + Intégrations des portefeuilles src/app/components/about/about.component.html 207,209 @@ -1471,15 +1462,16 @@ Alliances communautaires src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances Project Translators + Traducteurs src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1488,7 +1480,7 @@ Contributeurs au projet src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1497,7 +1489,7 @@ Membres du projet src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1506,7 +1498,7 @@ Mainteneurs de projet src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1532,7 +1524,7 @@ Multisig of - Multisig de + Multi-signature de src/app/components/address-labels/address-labels.component.ts 121 @@ -1543,25 +1535,23 @@ Non confidentiel src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - transaction sur + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - transactions sur + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1570,15 +1560,15 @@ Erreur lors du chargement des données de l'adresse src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1587,7 +1577,7 @@ Confidentiel src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1603,7 +1593,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -1799,6 +1789,7 @@ Featured + A la une src/app/components/assets/assets-nav/assets-nav.component.html 9 @@ -1806,7 +1797,7 @@ All - Tous + Tout src/app/components/assets/assets-nav/assets-nav.component.html 13 @@ -1990,6 +1981,7 @@ Block Fee Rates + Frais de bloc par tranche src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html 5,7 @@ -2006,6 +1998,7 @@ Block Fees + Frais de bloc src/app/components/block-fees-graph/block-fees-graph.component.html 5,7 @@ -2042,6 +2035,7 @@ Block Rewards + Récompenses de bloc src/app/components/block-rewards-graph/block-rewards-graph.component.html 6,8 @@ -2065,7 +2059,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2078,6 +2072,7 @@ Block Sizes and Weights + Tailles et poids de bloc src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html 4,6 @@ -2109,11 +2104,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2260,7 +2251,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2418,25 +2409,29 @@ Transaction Details transaction.details - - Error loading block data. - Erreur lors du chargement des données du bloc + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Bloc : src/app/components/block/block.component.ts - 146 + 147 Pool + Pool src/app/components/blocks-list/blocks-list.component.html 12,13 @@ -2458,10 +2453,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2481,7 +2472,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -2555,6 +2546,7 @@ blocks + blocs src/app/components/difficulty/difficulty.component.html 10,11 @@ -2575,6 +2567,7 @@ block + bloc src/app/components/difficulty/difficulty.component.html 11,12 @@ -2626,6 +2619,7 @@ Next Halving + Prochain halving src/app/components/difficulty/difficulty.component.html 50,52 @@ -2759,6 +2753,7 @@ Pools Dominance + Dominance des pools src/app/components/graphs/graphs.component.html 10 @@ -2771,6 +2766,7 @@ Hashrate & Difficulty + Taux de hachage & difficulté src/app/components/graphs/graphs.component.html 12 @@ -2787,6 +2783,7 @@ Hashrate + Taux de hachage src/app/components/hashrate-chart/hashrate-chart.component.html 8,10 @@ -2811,6 +2808,7 @@ Pools Historical Dominance + Historique de dominance des pools src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts 63 @@ -2818,6 +2816,7 @@ Indexing blocks + Indexage des blocs src/app/components/indexing-progress/indexing-progress.component.html 1 @@ -2825,6 +2824,7 @@ Indexing network hashrate + Indexage des taux de hachage src/app/components/indexing-progress/indexing-progress.component.html 2 @@ -2832,6 +2832,7 @@ Indexing pools hashrate + Indexage des taux de hachage des pools src/app/components/indexing-progress/indexing-progress.component.html 3 @@ -2856,6 +2857,7 @@ Mining Dashboard + Tableau de bord de minage src/app/components/master-page/master-page.component.html 35,37 @@ -2935,6 +2937,7 @@ Reward stats + Statistiques de récompense src/app/components/mining-dashboard/mining-dashboard.component.html 10 @@ -2943,6 +2946,7 @@ (144 blocks) + (144 blocs) src/app/components/mining-dashboard/mining-dashboard.component.html 11 @@ -2973,6 +2977,7 @@ Pools Luck (1w) + Chance des pools (1 sem) src/app/components/pool-ranking/pool-ranking.component.html 8,12 @@ -2985,6 +2990,7 @@ Blocks (1w) + Blocs (1 sem) src/app/components/pool-ranking/pool-ranking.component.html 14,18 @@ -2997,6 +3003,7 @@ Pools Count (1w) + Nombre de pool (1 sem) src/app/components/pool-ranking/pool-ranking.component.html 20,24 @@ -3044,6 +3051,7 @@ blocks + blocs src/app/components/pool-ranking/pool-ranking.component.ts 160,158 @@ -3055,6 +3063,7 @@ Tags + Labels src/app/components/pool/pool.component.html 22,23 @@ -3086,11 +3095,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3105,6 +3114,7 @@ Hashrate (24h) + Taux de hachage (24h) src/app/components/pool/pool.component.html 91,93 @@ -3222,7 +3232,7 @@ 1w - 1w + 1 sem src/app/components/pool/pool.component.html 148 @@ -3235,6 +3245,7 @@ Coinbase tag + Label coinbase src/app/components/pool/pool.component.html 215,217 @@ -3265,6 +3276,7 @@ Transaction hex + Transaction hex src/app/components/push-transaction/push-transaction.component.html 6 @@ -3290,6 +3302,7 @@ Amount being paid to miners in the past 144 blocks + Montant versé aux mineurs dans les 144 derniers blocs src/app/components/reward-stats/reward-stats.component.html 6,8 @@ -3303,10 +3316,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3319,6 +3328,7 @@ Average miners' reward per transaction in the past 144 blocks + Récompense moyenne des mineurs par transaction au cours des 144 derniers blocs src/app/components/reward-stats/reward-stats.component.html 18,20 @@ -3327,6 +3337,7 @@ sats/tx + sats/tx src/app/components/reward-stats/reward-stats.component.html 21,24 @@ -3338,8 +3349,17 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks + 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 @@ -3664,7 +3684,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3793,7 +3813,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3840,7 +3860,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3850,7 +3870,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3860,7 +3880,7 @@ Témoin src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3869,15 +3889,16 @@ Script de rachat P2SH src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script P2TR tapscript + P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3886,7 +3907,7 @@ Script témoin PW2SH src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3895,7 +3916,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3904,7 +3925,7 @@ Script de sortie précédent src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3913,7 +3934,7 @@ Script de sortie précédent src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3922,7 +3943,7 @@ Peg-out vers src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3931,7 +3952,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3941,11 +3962,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Cette transaction a économisé % sur les frais en utilisant SegWit-Bech32 natif diff --git a/frontend/src/locale/messages.he.xlf b/frontend/src/locale/messages.he.xlf index e5c9ea00c..6713f96bf 100644 --- a/frontend/src/locale/messages.he.xlf +++ b/frontend/src/locale/messages.he.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ בני ברית מהקהילה src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ תורמי הפרוייקט src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ חברי צוות הפרוייקט src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ מתחזקי הפרוייקט src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ לא וודאי src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - מ טרנזקציה + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - מ טרנזקציות + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ שגיאה בטעינת נתוני כתובת. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ חסוי src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - שגיאה בטעינת נתוני הבלוק. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : בלוק : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ פלט קודם src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ סוג פלט קודם src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ התפגר ל src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 טרנזקציה זו חסכה % בעמלות באמצעות שימוש בNative SegWit-Bech32 diff --git a/frontend/src/locale/messages.hi.xlf b/frontend/src/locale/messages.hi.xlf index bf36f3754..14e36b4ee 100644 --- a/frontend/src/locale/messages.hi.xlf +++ b/frontend/src/locale/messages.hi.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ सामुदायिक गठबंधन src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ परियोजना योगदानकर्ता src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ परियोजना सदस्य src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ परियोजना अनुरक्षक src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ अगोपनीय src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - लेनदेन + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - लेनदेन में से + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ डेटा लोड करने में त्रुटि. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ गुप्त src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - ब्लॉक डेटा लोड करने में गड़बड़ी. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : ब्लॉक : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ स्क्रिप्टसिग (एएसएम) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ स्क्रिप्टसिग (हेक्स) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ विटनेस src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH रिडीम स्क्रिप्ट src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH विटनेस स्क्रिप्ट src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nसीक्वेंस src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ पिछली आउटपुट स्क्रिप्ट src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ पिछला आउटपुट प्रकार src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ पेग-आउट से src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ स्क्रिप्टपबकी (एएसएम) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ स्क्रिप्टपबकी (हेक्स) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 इस लेन-देन ने मूल SegWit-Bech32 का उपयोग करके शुल्क पर % की बचत की diff --git a/frontend/src/locale/messages.hr.xlf b/frontend/src/locale/messages.hr.xlf index 39de4956c..e3512f2ff 100644 --- a/frontend/src/locale/messages.hr.xlf +++ b/frontend/src/locale/messages.hr.xlf @@ -250,7 +250,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -262,7 +262,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -278,7 +278,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -290,7 +290,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -397,11 +397,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -463,10 +459,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -504,8 +496,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -527,14 +519,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -714,7 +698,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -955,7 +939,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1007,7 +991,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1028,7 +1012,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1365,7 +1349,7 @@ Community Alliances src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1373,7 +1357,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1381,7 +1365,7 @@ Project Contributors src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1389,7 +1373,7 @@ Project Members src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1397,7 +1381,7 @@ Project Maintainers src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1431,23 +1415,23 @@ Unconfidential src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1455,15 +1439,15 @@ Error loading address data. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1471,7 +1455,7 @@ Confidential src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1487,7 +1471,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -1917,7 +1901,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -1960,11 +1944,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2107,7 +2087,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2256,19 +2236,23 @@ Transaction Details transaction.details - - Error loading block data. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : src/app/components/block/block.component.ts - 146 + 147 @@ -2293,10 +2277,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2315,7 +2295,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -2887,11 +2867,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3094,10 +3074,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3129,6 +3105,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3440,7 +3424,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3560,7 +3544,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3602,7 +3586,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3611,7 +3595,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3620,7 +3604,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3628,7 +3612,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3636,7 +3620,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3644,7 +3628,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3652,7 +3636,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3660,7 +3644,7 @@ Previous output script src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3668,7 +3652,7 @@ Previous output type src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3676,7 +3660,7 @@ Peg-out to src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3684,7 +3668,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3693,11 +3677,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 diff --git a/frontend/src/locale/messages.hu.xlf b/frontend/src/locale/messages.hu.xlf index 5cd43f302..6bdb14997 100644 --- a/frontend/src/locale/messages.hu.xlf +++ b/frontend/src/locale/messages.hu.xlf @@ -147,6 +147,7 @@ + node_modules/src/progressbar/progressbar.ts 59,63 @@ -250,6 +251,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -257,6 +259,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -279,7 +282,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +295,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +312,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +325,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +438,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +504,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +543,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +567,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +757,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1016,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1070,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1092,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1457,7 @@ Közösségi Szövetségesek src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1465,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1474,7 @@ Projekt Kontribútorok src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1483,7 @@ Projekt Tagok src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1492,7 @@ Projekt Fenntartók src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1528,23 @@ Nem bizalmas src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - a -ból/ből tranzakció + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - a -ból/ből tranzakciók + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1553,15 @@ Hiba történt a cím információ lekérdezésekor. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1570,7 @@ Bizalmas src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1586,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2044,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2088,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2235,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2393,24 @@ Transaction Details transaction.details - - Error loading block data. - Hiba történt a blokk infirmáció betöltésekor. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Blokk : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2436,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2455,7 @@ TXek src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3050,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3258,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3289,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3623,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3752,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3799,7 @@ SzkriptSzig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3809,7 @@ SzkriptSzig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3819,7 @@ Szemtanú src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3828,7 @@ P2SH kiváltási szkript src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3836,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3845,7 @@ P2WSH szemtanú szkript src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3854,7 @@ nSzekvencia src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3863,7 @@ Előző kimeneti szkript src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3872,7 @@ Előző kimeneti típúsok src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3881,7 @@ Kiváltás erre src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3890,7 @@ SzkriptPublikusKulcs (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3900,19 @@ SzkriptPublikusKulcs (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Ez a tranzakció % -nyi díjjat spórolt meg azzal, hogy native SegWit-Bech32-őt használt diff --git a/frontend/src/locale/messages.it.xlf b/frontend/src/locale/messages.it.xlf index 6aa2b8260..05eff814e 100644 --- a/frontend/src/locale/messages.it.xlf +++ b/frontend/src/locale/messages.it.xlf @@ -11,6 +11,7 @@ Slide of + Diapositiva di node_modules/src/carousel/carousel.ts 147,156 @@ -147,6 +148,7 @@ + node_modules/src/progressbar/progressbar.ts 59,63 @@ -250,6 +252,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -257,6 +260,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -279,7 +283,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +296,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +313,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +326,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +439,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +505,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +544,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +568,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -731,6 +719,7 @@ View more » + Scopri di più src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 92,97 @@ -770,7 +759,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1018,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1072,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1094,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1404,6 +1393,7 @@ 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. src/app/components/about/about.component.html 13,17 @@ -1451,6 +1441,7 @@ Self-Hosted Integrations + Integrazioni self-hosted src/app/components/about/about.component.html 173,175 @@ -1459,6 +1450,7 @@ Wallet Integrations + Integrazioni per portafogli src/app/components/about/about.component.html 207,209 @@ -1470,15 +1462,16 @@ Alleanze della comunità src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances Project Translators + Traduttori del progetto src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1480,7 @@ Hanno contribuito al progetto src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1489,7 @@ Membri del Progetto src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1498,7 @@ Manutentori del progetto src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1531,6 +1524,7 @@ Multisig of + Multisig di src/app/components/address-labels/address-labels.component.ts 121 @@ -1541,25 +1535,23 @@ Non Confidenziale src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - Transazione di + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - Transazioni di + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1560,15 @@ Errore nel caricamento dei dati dell'indirizzo. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1577,7 @@ Confidenziale src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1593,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -1796,6 +1788,7 @@ Featured + In primo piano src/app/components/assets/assets-nav/assets-nav.component.html 9 @@ -1803,6 +1796,7 @@ All + Tutti src/app/components/assets/assets-nav/assets-nav.component.html 13 @@ -2002,6 +1996,7 @@ Block Fees + Costi del blocco src/app/components/block-fees-graph/block-fees-graph.component.html 5,7 @@ -2059,7 +2054,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2098,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2245,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2403,24 @@ Transaction Details transaction.details - - Error loading block data. - Si è verificato un errore durante il caricamento dei dati del blocco. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Blocco : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2446,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2465,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -2618,6 +2608,7 @@ Next Halving + Prossimo Halving src/app/components/difficulty/difficulty.component.html 50,52 @@ -2925,6 +2916,7 @@ Reward stats + Statistiche di ricompensa src/app/components/mining-dashboard/mining-dashboard.component.html 10 @@ -3006,6 +2998,7 @@ Empty blocks + Blocchi vuoti src/app/components/pool-ranking/pool-ranking.component.html 89,92 @@ -3014,6 +3007,7 @@ All miners + Tutti i minatori src/app/components/pool-ranking/pool-ranking.component.html 107,108 @@ -3022,6 +3016,7 @@ Mining Pools + Pool dei minatori src/app/components/pool-ranking/pool-ranking.component.ts 55 @@ -3029,6 +3024,7 @@ blocks + blocchi src/app/components/pool-ranking/pool-ranking.component.ts 160,158 @@ -3040,6 +3036,7 @@ Tags + Tags src/app/components/pool/pool.component.html 22,23 @@ -3060,6 +3057,7 @@ Show all + Mostra tutto src/app/components/pool/pool.component.html 53,55 @@ -3070,16 +3068,17 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all Hide + Nascondi src/app/components/pool/pool.component.html 55,58 @@ -3088,6 +3087,7 @@ Hashrate (24h) + Hashrate (24ore) src/app/components/pool/pool.component.html 91,93 @@ -3108,6 +3108,7 @@ Estimated + Stimata src/app/components/pool/pool.component.html 96,97 @@ -3128,6 +3129,7 @@ Reported + Riportata src/app/components/pool/pool.component.html 97,98 @@ -3168,6 +3170,7 @@ Mined blocks + Blocchi minati src/app/components/pool/pool.component.html 141,143 @@ -3188,6 +3191,7 @@ 24h + 24h src/app/components/pool/pool.component.html 147 @@ -3200,6 +3204,7 @@ 1w + 1set src/app/components/pool/pool.component.html 148 @@ -3274,14 +3279,11 @@ Reward Per Tx + Premio per transazione src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3302,6 +3304,7 @@ sats/tx + sats/trans src/app/components/reward-stats/reward-stats.component.html 21,24 @@ -3313,6 +3316,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3650,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3779,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3826,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3836,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3846,7 @@ Testimone src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3855,7 @@ Script di riscatto P2SH src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3863,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3872,7 @@ Script testimone P2WSH src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3881,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3890,7 @@ Script output precedente src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3899,7 @@ Tipo di output precedente src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3908,7 @@ Peg-out a src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3917,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3927,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Questa transazione ha risparmiato % sulle commissioni utilizzando SegWit-Bech32 nativo diff --git a/frontend/src/locale/messages.ja.xlf b/frontend/src/locale/messages.ja.xlf index eaf53ed86..06d1298da 100644 --- a/frontend/src/locale/messages.ja.xlf +++ b/frontend/src/locale/messages.ja.xlf @@ -11,6 +11,7 @@ Slide of + 枚のスライドのうちの枚目 node_modules/src/carousel/carousel.ts 147,156 @@ -147,6 +148,7 @@ + node_modules/src/progressbar/progressbar.ts 59,63 @@ -250,6 +252,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -257,6 +260,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -279,7 +283,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +296,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +313,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +326,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +439,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +505,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +544,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +568,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -731,6 +719,7 @@ View more » + 詳細を表示 » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 92,97 @@ -770,7 +759,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1018,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1072,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1094,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1404,6 +1393,7 @@ Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties. + ビットコインコミュニティーのための、新興トランザクション手数料市場に中心するメモリープールとブロックチェーンエキスプローラです。 自宅サーバに管理できる上、信頼すべき第三者が不必要です。 src/app/components/about/about.component.html 13,17 @@ -1451,6 +1441,7 @@ Self-Hosted Integrations + セルフ・ホスティング統合 src/app/components/about/about.component.html 173,175 @@ -1459,6 +1450,7 @@ Wallet Integrations + ウォレット統合 src/app/components/about/about.component.html 207,209 @@ -1470,15 +1462,16 @@ コミュニティーの提携 src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances Project Translators + プロジェクト翻訳者 src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1480,7 @@ プロジェクト貢献者 src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1489,7 @@ プロジェクトメンバー src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1498,7 @@ プロジェクトメンテナー src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1531,6 +1524,7 @@ Multisig of + のマルチシグ src/app/components/address-labels/address-labels.component.ts 121 @@ -1541,25 +1535,25 @@ 機密なし src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - 件のトランザクションのうちの + of transaction + / トランザクション src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - 件のトランザクションのうちの + of transactions + / トランザクション src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1562,16 @@ アドレスデータを読み込み中にエラーが発生しました。 src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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: + このアドレスにトランザクションが多すぎてバックエンドが処理できません。より強いバックエンドを整えるについて詳しくはここから代わりに、このアドレスをMempoolの公式サイトで閲覧できます: src/app/components/address/address.component.html - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1580,7 @@ 機密 src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -1764,6 +1759,7 @@ Group of assets + つ資産のグループ src/app/components/assets/asset-group/asset-group.component.html 8,9 @@ -1796,6 +1792,7 @@ Featured + 取り上げられている src/app/components/assets/assets-nav/assets-nav.component.html 9 @@ -1803,6 +1800,7 @@ All + すべて src/app/components/assets/assets-nav/assets-nav.component.html 13 @@ -1986,6 +1984,7 @@ Block Fee Rates + ブロック手数料率 src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html 5,7 @@ -2002,6 +2001,7 @@ Block Fees + ブロック手数料 src/app/components/block-fees-graph/block-fees-graph.component.html 5,7 @@ -2018,6 +2018,7 @@ Fees + 手数料 src/app/components/block-fees-graph/block-fees-graph.component.ts 160,158 @@ -2037,6 +2038,7 @@ Block Rewards + ブロック報酬 src/app/components/block-rewards-graph/block-rewards-graph.component.html 6,8 @@ -2053,13 +2055,14 @@ Reward + 報酬 src/app/components/block-rewards-graph/block-rewards-graph.component.ts 160,158 src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2072,6 +2075,7 @@ Block Sizes and Weights + ブロックサイズとウェイト src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html 4,6 @@ -2103,11 +2107,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2254,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,25 +2412,29 @@ Transaction Details transaction.details - - Error loading block data. - ブロックデータを読み込み中にエラーが発生しました。 + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : ブロック src/app/components/block/block.component.ts - 146 + 147 Pool + プール src/app/components/blocks-list/blocks-list.component.html 12,13 @@ -2452,10 +2456,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2475,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -2505,6 +2505,7 @@ Adjusted + 補正の時間 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 6,8 @@ -2513,6 +2514,7 @@ Change + 変更 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 8,11 @@ -2547,6 +2549,7 @@ blocks + ブロック src/app/components/difficulty/difficulty.component.html 10,11 @@ -2567,6 +2570,7 @@ block + ブロック src/app/components/difficulty/difficulty.component.html 11,12 @@ -2618,6 +2622,7 @@ Next Halving + 次の半減 src/app/components/difficulty/difficulty.component.html 50,52 @@ -2729,6 +2734,7 @@ Mining + マイニング src/app/components/graphs/graphs.component.html 5 @@ -2737,6 +2743,7 @@ Pools Ranking + プールのランキング src/app/components/graphs/graphs.component.html 8 @@ -2749,6 +2756,7 @@ Pools Dominance + プールの優勢 src/app/components/graphs/graphs.component.html 10 @@ -2761,6 +2769,7 @@ Hashrate & Difficulty + ハッシュレートと採掘難易度 src/app/components/graphs/graphs.component.html 12 @@ -2777,6 +2786,7 @@ Hashrate + ハッシュレート src/app/components/hashrate-chart/hashrate-chart.component.html 8,10 @@ -2801,6 +2811,7 @@ Pools Historical Dominance + プールの優勢履歴 src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts 63 @@ -2808,6 +2819,7 @@ Indexing blocks + ブロック索引付け中 src/app/components/indexing-progress/indexing-progress.component.html 1 @@ -2815,6 +2827,7 @@ Indexing network hashrate + ネットワークハッシュレート索引付け中 src/app/components/indexing-progress/indexing-progress.component.html 2 @@ -2822,6 +2835,7 @@ Indexing pools hashrate + プールのハッシュレート索引付け中 src/app/components/indexing-progress/indexing-progress.component.html 3 @@ -2846,6 +2860,7 @@ Mining Dashboard + マイニング・ダッシュボード src/app/components/master-page/master-page.component.html 35,37 @@ -2925,6 +2940,7 @@ Reward stats + 報酬の統計値 src/app/components/mining-dashboard/mining-dashboard.component.html 10 @@ -2933,6 +2949,7 @@ (144 blocks) + (144つのブロック) src/app/components/mining-dashboard/mining-dashboard.component.html 11 @@ -2954,6 +2971,7 @@ Adjustments + 補正 src/app/components/mining-dashboard/mining-dashboard.component.html 63 @@ -2962,6 +2980,7 @@ Pools Luck (1w) + プールの運(1週間) src/app/components/pool-ranking/pool-ranking.component.html 8,12 @@ -2974,6 +2993,7 @@ Blocks (1w) + ブロック(1週間) src/app/components/pool-ranking/pool-ranking.component.html 14,18 @@ -2986,6 +3006,7 @@ Pools Count (1w) + プール数(1週間) src/app/components/pool-ranking/pool-ranking.component.html 20,24 @@ -2998,6 +3019,7 @@ Rank + ランク src/app/components/pool-ranking/pool-ranking.component.html 84,86 @@ -3006,6 +3028,7 @@ Empty blocks + 空ブロック src/app/components/pool-ranking/pool-ranking.component.html 89,92 @@ -3014,6 +3037,7 @@ All miners + すべてのマイナー src/app/components/pool-ranking/pool-ranking.component.html 107,108 @@ -3022,6 +3046,7 @@ Mining Pools + マイニングプール src/app/components/pool-ranking/pool-ranking.component.ts 55 @@ -3029,6 +3054,7 @@ blocks + のブロック src/app/components/pool-ranking/pool-ranking.component.ts 160,158 @@ -3040,6 +3066,7 @@ Tags + タグ src/app/components/pool/pool.component.html 22,23 @@ -3060,6 +3087,7 @@ Show all + すべてを表示 src/app/components/pool/pool.component.html 53,55 @@ -3070,16 +3098,17 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all Hide + 非表示 src/app/components/pool/pool.component.html 55,58 @@ -3088,6 +3117,7 @@ Hashrate (24h) + ハッシュレート(24時間) src/app/components/pool/pool.component.html 91,93 @@ -3108,6 +3138,7 @@ Estimated + 推定 src/app/components/pool/pool.component.html 96,97 @@ -3128,6 +3159,7 @@ Reported + 報告 src/app/components/pool/pool.component.html 97,98 @@ -3148,6 +3180,7 @@ Luck + src/app/components/pool/pool.component.html 98,101 @@ -3168,6 +3201,7 @@ Mined blocks + マイニングされたブロック src/app/components/pool/pool.component.html 141,143 @@ -3188,6 +3222,7 @@ 24h + 24時間 src/app/components/pool/pool.component.html 147 @@ -3200,6 +3235,7 @@ 1w + 1週間 src/app/components/pool/pool.component.html 148 @@ -3212,6 +3248,7 @@ Coinbase tag + コインベース・タグ src/app/components/pool/pool.component.html 215,217 @@ -3242,6 +3279,7 @@ Transaction hex + トランザクションの16進値 src/app/components/push-transaction/push-transaction.component.html 6 @@ -3254,6 +3292,7 @@ Miners Reward + マイナー報酬 src/app/components/reward-stats/reward-stats.component.html 4,6 @@ -3266,6 +3305,7 @@ Amount being paid to miners in the past 144 blocks + 以前の144つブロックにマイナーへの払込金額 src/app/components/reward-stats/reward-stats.component.html 6,8 @@ -3274,14 +3314,11 @@ Reward Per Tx + Txあたりの報酬 src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3294,6 +3331,7 @@ Average miners' reward per transaction in the past 144 blocks + 以前の144つブロックに平均マイナー報酬 src/app/components/reward-stats/reward-stats.component.html 18,20 @@ -3302,6 +3340,7 @@ sats/tx + サトシ/tx src/app/components/reward-stats/reward-stats.component.html 21,24 @@ -3313,8 +3352,18 @@ sat/vB shared.sat-vbyte + + Average Fee + 平均手数料 + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks + 以前の144つブロックで各トランザクションに支払った平均手数料 src/app/components/reward-stats/reward-stats.component.html 31,32 @@ -3639,7 +3688,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3817,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3864,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3874,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3884,7 @@ ウィットネス src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,15 +3893,16 @@ P2SH引き換えスクリプト src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script P2TR tapscript + P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3911,7 @@ P2WSHウィットネススクリプト src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3920,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3929,7 @@ 前の出力スクリプト src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3938,7 @@ 以前の出力タイプ src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3947,7 @@ へのペグアウト src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3956,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3966,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 このトランザクションでは、ネイティブのSegWit-Bech32を使用することで、手数料を%節約できました。 diff --git a/frontend/src/locale/messages.ka.xlf b/frontend/src/locale/messages.ka.xlf index fe3e7df1c..8d92b6b40 100644 --- a/frontend/src/locale/messages.ka.xlf +++ b/frontend/src/locale/messages.ka.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ ალიანსი src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ მოხალისეები src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ პროექტის წევრები src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ პროექტის შემქმნელები src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ არაკონფიდენციალური src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - of ტრანსაქცია + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - of ტრანზაქციები + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ შეცდომა მისამართის მონაცემების მოძებვნისას. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ კონფიდენციალური src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - შეცდომა მონაცემების მოძებვნაზე + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : ბლოკი: src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ ტრანზაქცია src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ Previous output script src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ Previous output type src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ Peg-out to src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 ტრანსაქციამ შეძლო % საკომისიოს ეკონომია, native SegWit-Bech32 ის გამოყენებით diff --git a/frontend/src/locale/messages.ko.xlf b/frontend/src/locale/messages.ko.xlf index 2f6408f2e..9aecc49b1 100644 --- a/frontend/src/locale/messages.ko.xlf +++ b/frontend/src/locale/messages.ko.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ 커뮤니티 연합 src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ 프로젝트 참여자 목록 src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ 프로젝트 멤버들 src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ 프로젝트 관리자 목록 src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ 비기밀 src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - 트랜잭션 / + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - 트랜잭션 / + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ 주소 데이터 불러오기 실패 src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ 기밀 src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - 블록 데이터 불러오기 실패 + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : 블록 : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ 트랜잭션 src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ 증인 (디지털 서명) src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH 사용 스크립트 src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH 증인 스크립트 src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ 이전 아웃풋 스크립트 src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ 이전 아웃풋 유형 src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ 로 페그아웃 src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 이 트랜잭션은 native SegWit-Bech32를 사용하여 수수료를 % 절약했습니다 diff --git a/frontend/src/locale/messages.mk.xlf b/frontend/src/locale/messages.mk.xlf index e66a0fe4b..b220ef044 100644 --- a/frontend/src/locale/messages.mk.xlf +++ b/frontend/src/locale/messages.mk.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ Соработка со Заедницата src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ Контрибутори src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ Членови на проектот src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ Одржувачи на проектот src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ Недоверлива src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - од трансакција + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - од трансакции + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ Грешка во вчитување податоци за адресата. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ Доверливо src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - Грешка во вчитување на податоците за блокот. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Блок : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ Трансакции src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Сведок src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ Претходни излезни скрипти src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ Претходен тип на излезот src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ Peg-out кон src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Оваа трансакција заштеди % во провизии со користење на SegWit-Bech32 diff --git a/frontend/src/locale/messages.nb.xlf b/frontend/src/locale/messages.nb.xlf index 6ed1ff8f1..45782c9c1 100644 --- a/frontend/src/locale/messages.nb.xlf +++ b/frontend/src/locale/messages.nb.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ Samfunnsallianser src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ Bidragsytere til prosjektet src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ Prosjektmedlemmer src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ Prosjektvedlikeholdere src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ Ukonfidensielt src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - av transaksjon + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - av transaksjoner + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ Lasting av adressedata feilet. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ Konfidensielt src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - Lasting av blokkdata feilet. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Blokk : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig(ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig(HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ Forrige utgangs-script src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ Tidligere utdatatype src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ Peg-out til src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Denne transaksjonen sparte % på avgifter ved å bruke native SegWit-Bech32 diff --git a/frontend/src/locale/messages.nl.xlf b/frontend/src/locale/messages.nl.xlf index 0daf26319..6089a231e 100644 --- a/frontend/src/locale/messages.nl.xlf +++ b/frontend/src/locale/messages.nl.xlf @@ -283,7 +283,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -296,7 +296,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -313,7 +313,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -326,7 +326,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -439,11 +439,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -509,10 +505,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -552,8 +544,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -576,14 +568,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -775,7 +759,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1034,7 +1018,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1088,7 +1072,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1110,7 +1094,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1478,7 +1462,7 @@ Community-allianties src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1487,7 +1471,7 @@ Projectvertalers src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1496,7 +1480,7 @@ Projectbijdragers src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1505,7 +1489,7 @@ Projectleden src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1514,7 +1498,7 @@ Projectonderhouders src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1551,25 +1535,23 @@ Niet-vertrouwelijk src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - van transactie + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - van transacties + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1578,16 +1560,15 @@ Fout bij het laden van adresdata. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: - Er zijn veel transacties op dit adres, meer dan jouw systeem aankan. Lees meer op over het opzetten van een sterkere backend . Overweeg om dit adres op de officiële Mempoolwebsite te bekijken: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1596,7 +1577,7 @@ Vertrouwelijk src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1612,7 +1593,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2078,7 +2059,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2123,11 +2104,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2274,7 +2251,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2432,21 +2409,24 @@ Transaction Details transaction.details - - Error loading block data. - Fout bij het laden van de blokdata. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Blok : src/app/components/block/block.component.ts - 146 + 147 @@ -2473,10 +2453,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2496,7 +2472,7 @@ TX's src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3119,11 +3095,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3340,10 +3316,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3377,6 +3349,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks Gemiddeld betaalde transactiekosten per transactie in de laatste 144 blokken @@ -3704,7 +3684,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3833,7 +3813,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3880,7 +3860,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3890,7 +3870,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3900,7 +3880,7 @@ Getuige-data src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3909,7 +3889,7 @@ P2SH claim-script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3918,7 +3898,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3927,7 +3907,7 @@ P2WSH claim-script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3936,7 +3916,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3945,7 +3925,7 @@ Vorig output-script src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3954,7 +3934,7 @@ Vorig output-type src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3963,7 +3943,7 @@ Peg-out naar src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3972,7 +3952,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3982,11 +3962,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Deze transactie heeft % aan vergoedingen bespaard door native SegWit-Bech32 te gebruiken diff --git a/frontend/src/locale/messages.pl.xlf b/frontend/src/locale/messages.pl.xlf index 7a2e17953..fb6662f6d 100644 --- a/frontend/src/locale/messages.pl.xlf +++ b/frontend/src/locale/messages.pl.xlf @@ -11,6 +11,7 @@ Slide of + Slajd z node_modules/src/carousel/carousel.ts 147,156 @@ -147,6 +148,7 @@ + node_modules/src/progressbar/progressbar.ts 59,63 @@ -250,6 +252,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -257,6 +260,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -279,7 +283,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +296,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +313,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +326,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +439,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +505,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +544,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +568,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -731,6 +719,7 @@ View more » + Pokaż więcej » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 92,97 @@ -770,7 +759,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1018,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1072,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1094,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1404,6 +1393,7 @@ 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. + 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,17 @@ -1451,6 +1441,7 @@ Self-Hosted Integrations + Integracje w self-hostingu src/app/components/about/about.component.html 173,175 @@ -1459,6 +1450,7 @@ Wallet Integrations + Integracje z portfelami src/app/components/about/about.component.html 207,209 @@ -1470,15 +1462,16 @@ Sojusze społecznościowe src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances Project Translators + Tłumacze projektu src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1480,7 @@ Współtwórcy projektu src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1489,7 @@ Członkowie projektu src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1498,7 @@ Opiekunowie projektu src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1531,6 +1524,7 @@ Multisig of + Multisig z src/app/components/address-labels/address-labels.component.ts 121 @@ -1541,25 +1535,25 @@ Niepoufne src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - transakcja z + of transaction + z transakcji src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - transakcje z + of transactions + z transakcji src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1562,16 @@ Błąd podczas ładowania adresu. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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: + Pod tym adresem jest zbyt wiele transakcji by Twój system backend mógł sobie z tym poradzić. Zobacz więcej na konfigurowanie silniejszego systemu backend. Rozważ obejrzenie tego adresu na oficjalnej stronie Mempool: src/app/components/address/address.component.html - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1580,7 @@ Poufne src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -1764,6 +1759,7 @@ Group of assets + Grupa aktywów src/app/components/assets/asset-group/asset-group.component.html 8,9 @@ -1796,6 +1792,7 @@ Featured + Wyróżnienia src/app/components/assets/assets-nav/assets-nav.component.html 9 @@ -1803,6 +1800,7 @@ All + Wszystko src/app/components/assets/assets-nav/assets-nav.component.html 13 @@ -1986,6 +1984,7 @@ Block Fee Rates + Stawki opłat bloku src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html 5,7 @@ -2002,6 +2001,7 @@ Block Fees + Opłaty bloku src/app/components/block-fees-graph/block-fees-graph.component.html 5,7 @@ -2018,6 +2018,7 @@ Fees + Opłaty src/app/components/block-fees-graph/block-fees-graph.component.ts 160,158 @@ -2037,6 +2038,7 @@ Block Rewards + Nagrody bloku src/app/components/block-rewards-graph/block-rewards-graph.component.html 6,8 @@ -2053,13 +2055,14 @@ Reward + Nagroda src/app/components/block-rewards-graph/block-rewards-graph.component.ts 160,158 src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2072,6 +2075,7 @@ Block Sizes and Weights + Rozmiary i wagi bloku src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html 4,6 @@ -2103,11 +2107,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2254,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,25 +2412,30 @@ Transaction Details transaction.details - - Error loading block data. - Błąd podczas ładowania danych bloku. + + Error loading data. + Błąd ładowania danych. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Blok : src/app/components/block/block.component.ts - 146 + 147 Pool + Kolektyw wydobywczy src/app/components/blocks-list/blocks-list.component.html 12,13 @@ -2452,10 +2457,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2476,7 @@ Transakcje src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -2505,6 +2506,7 @@ Adjusted + Dostosowanie src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 6,8 @@ -2513,6 +2515,7 @@ Change + Zmiana src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 8,11 @@ -2547,6 +2550,7 @@ blocks + bloków src/app/components/difficulty/difficulty.component.html 10,11 @@ -2567,6 +2571,7 @@ block + blok src/app/components/difficulty/difficulty.component.html 11,12 @@ -2618,6 +2623,7 @@ Next Halving + Następny halving src/app/components/difficulty/difficulty.component.html 50,52 @@ -2729,6 +2735,7 @@ Mining + Wydobycie src/app/components/graphs/graphs.component.html 5 @@ -2737,6 +2744,7 @@ Pools Ranking + Ranking kolektywów wydobywczych src/app/components/graphs/graphs.component.html 8 @@ -2749,6 +2757,7 @@ Pools Dominance + Dominacja kolektywów wydobywczych src/app/components/graphs/graphs.component.html 10 @@ -2761,6 +2770,7 @@ Hashrate & Difficulty + Prędkość haszowania i trudność src/app/components/graphs/graphs.component.html 12 @@ -2777,6 +2787,7 @@ Hashrate + Prędkość haszowania src/app/components/hashrate-chart/hashrate-chart.component.html 8,10 @@ -2801,6 +2812,7 @@ Pools Historical Dominance + Historyczna dominacja kolektywów wydobywczych src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts 63 @@ -2808,6 +2820,7 @@ Indexing blocks + Indeksowanie bloków src/app/components/indexing-progress/indexing-progress.component.html 1 @@ -2815,6 +2828,7 @@ Indexing network hashrate + Indeksowanie prędkości haszowania sieci src/app/components/indexing-progress/indexing-progress.component.html 2 @@ -2822,6 +2836,7 @@ Indexing pools hashrate + Indeksowanie prędkości haszowania kolektywu wydobywczego src/app/components/indexing-progress/indexing-progress.component.html 3 @@ -2846,6 +2861,7 @@ Mining Dashboard + Deska rozdzielcza wydobycia src/app/components/master-page/master-page.component.html 35,37 @@ -2925,6 +2941,7 @@ Reward stats + Statystyki nagród src/app/components/mining-dashboard/mining-dashboard.component.html 10 @@ -2933,6 +2950,7 @@ (144 blocks) + (144 bloków) src/app/components/mining-dashboard/mining-dashboard.component.html 11 @@ -2954,6 +2972,7 @@ Adjustments + Dostosowania src/app/components/mining-dashboard/mining-dashboard.component.html 63 @@ -2962,6 +2981,7 @@ Pools Luck (1w) + Szczęście kolektywu (1t) src/app/components/pool-ranking/pool-ranking.component.html 8,12 @@ -2974,6 +2994,7 @@ Blocks (1w) + Blocków (1t) src/app/components/pool-ranking/pool-ranking.component.html 14,18 @@ -2986,6 +3007,7 @@ Pools Count (1w) + Liczba kolektywów wydobywczych (1t) src/app/components/pool-ranking/pool-ranking.component.html 20,24 @@ -2998,6 +3020,7 @@ Rank + Ranga src/app/components/pool-ranking/pool-ranking.component.html 84,86 @@ -3006,6 +3029,7 @@ Empty blocks + Puste bloki src/app/components/pool-ranking/pool-ranking.component.html 89,92 @@ -3014,6 +3038,7 @@ All miners + Wszyscy wydobywcy src/app/components/pool-ranking/pool-ranking.component.html 107,108 @@ -3022,6 +3047,7 @@ Mining Pools + Kolektywy wydobywcze src/app/components/pool-ranking/pool-ranking.component.ts 55 @@ -3029,6 +3055,7 @@ blocks + blocków src/app/components/pool-ranking/pool-ranking.component.ts 160,158 @@ -3040,6 +3067,7 @@ Tags + Tagi src/app/components/pool/pool.component.html 22,23 @@ -3060,6 +3088,7 @@ Show all + Pokaż wszystko src/app/components/pool/pool.component.html 53,55 @@ -3070,16 +3099,17 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all Hide + Schowaj src/app/components/pool/pool.component.html 55,58 @@ -3088,6 +3118,7 @@ Hashrate (24h) + Prędkość haszowania (24h) src/app/components/pool/pool.component.html 91,93 @@ -3108,6 +3139,7 @@ Estimated + Oszacowana src/app/components/pool/pool.component.html 96,97 @@ -3128,6 +3160,7 @@ Reported + Odnotowana src/app/components/pool/pool.component.html 97,98 @@ -3148,6 +3181,7 @@ Luck + Szczęście src/app/components/pool/pool.component.html 98,101 @@ -3168,6 +3202,7 @@ Mined blocks + Wydobyte bloki src/app/components/pool/pool.component.html 141,143 @@ -3188,6 +3223,7 @@ 24h + 24h src/app/components/pool/pool.component.html 147 @@ -3200,6 +3236,7 @@ 1w + 1t src/app/components/pool/pool.component.html 148 @@ -3212,6 +3249,7 @@ Coinbase tag + Tag Coinbase src/app/components/pool/pool.component.html 215,217 @@ -3242,6 +3280,7 @@ Transaction hex + Postać szestnastkowa transakcji src/app/components/push-transaction/push-transaction.component.html 6 @@ -3254,6 +3293,7 @@ Miners Reward + Nagroda wydobywców src/app/components/reward-stats/reward-stats.component.html 4,6 @@ -3266,6 +3306,7 @@ Amount being paid to miners in the past 144 blocks + Kwota zapłacona wydobywcom w ostatnich 144 blokach src/app/components/reward-stats/reward-stats.component.html 6,8 @@ -3274,14 +3315,11 @@ Reward Per Tx + Nagroda na transakcję src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3294,6 +3332,7 @@ Average miners' reward per transaction in the past 144 blocks + Średnia nagroda wydobywcy na transakcję w ostatnich 144 blokach src/app/components/reward-stats/reward-stats.component.html 18,20 @@ -3302,6 +3341,7 @@ sats/tx + satoshi/transakcję src/app/components/reward-stats/reward-stats.component.html 21,24 @@ -3313,8 +3353,18 @@ sat/vB shared.sat-vbyte + + Average Fee + Średni poziom opłat + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks + Średni poziom opłaty poniesionej w każdej transakcji w ostatnich 144 blokach src/app/components/reward-stats/reward-stats.component.html 31,32 @@ -3363,7 +3413,7 @@ Waiting for transaction... - Oczekiwanie na transakcje... + Oczekiwanie na transakcję... src/app/components/sponsor/sponsor.component.html 142 @@ -3639,7 +3689,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3818,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,17 +3865,17 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm ScriptSig (HEX) - ScriptSig (HEX) + ScriptSig (Postać szestnastkowa) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3885,7 @@ Świadek src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,15 +3894,16 @@ Skrypt realizacji P2SH src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script P2TR tapscript + P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3912,7 @@ Skrypt świadka P2WSH src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3921,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3930,7 @@ Poprzedni skrypt wyjściowy src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3939,7 @@ Poprzedni typ wyjścia src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3948,7 @@ Peg-out do src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,21 +3957,30 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm ScriptPubKey (HEX) - ScriptPubKey (HEX) + ScriptPubKey (Postać szestnastkowa) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + Pokaż wszystkie wejścia by ujawnić dane o opłatach + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Ta transakcja pozwoliła zaoszczędzić % na opłatach za pomocą natywnego SegWit-Bech32 diff --git a/frontend/src/locale/messages.pt.xlf b/frontend/src/locale/messages.pt.xlf index b79eadbb0..56ab21036 100644 --- a/frontend/src/locale/messages.pt.xlf +++ b/frontend/src/locale/messages.pt.xlf @@ -283,7 +283,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -296,7 +296,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -313,7 +313,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -326,7 +326,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -439,11 +439,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -509,10 +505,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -552,8 +544,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -576,14 +568,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -775,7 +759,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1034,7 +1018,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1088,7 +1072,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1110,7 +1094,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1478,7 +1462,7 @@ Alianças da comunidade src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1487,7 +1471,7 @@ Tradutores do Projeto src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1496,7 +1480,7 @@ Contribuidores do projeto src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1505,7 +1489,7 @@ Membros do Projeto src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1514,7 +1498,7 @@ Mantenedores do projeto src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1551,25 +1535,25 @@ Não confidencial src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - de transação + of transaction + of transação src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - de transações + of transactions + of transações src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1578,16 +1562,16 @@ Erro ao carregar os dados do endereço. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: - Existem muitas transações neste endereço, mais do que seu backend pode lidar. Veja mais em sobre como configurar um backend mais poderoso.. Considere ver este endereço no site oficial do Mempool: + 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: + Existem muitas transações neste endereço, mais do que seu backend pode lidar. Veja mais em sobre como configurar um backend mais poderoso. Considere ver este endereço no site oficial do Mempool: src/app/components/address/address.component.html - 137,140 + 135,138 Electrum server limit exceeded error @@ -1596,7 +1580,7 @@ Confidencial src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1612,7 +1596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2078,7 +2062,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2123,11 +2107,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2274,7 +2254,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2432,21 +2412,25 @@ Transaction Details transaction.details - - Error loading block data. - Erro ao carregar os dados do bloco. + + Error loading data. + Erro ao carregar dados. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Bloco : src/app/components/block/block.component.ts - 146 + 147 @@ -2473,10 +2457,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2496,7 +2476,7 @@ Transações src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3119,11 +3099,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3340,10 +3320,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3377,6 +3353,15 @@ sat/vB shared.sat-vbyte + + Average Fee + Taxa Média + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks Taxa paga em média para cada transação nos últimos 144 blocos @@ -3704,7 +3689,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3833,7 +3818,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3880,7 +3865,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3890,7 +3875,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3900,7 +3885,7 @@ Testemunho src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3909,7 +3894,7 @@ P2SH script de resgate src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3918,7 +3903,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3927,7 +3912,7 @@ P2WSH script de testemunho src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3936,7 +3921,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3945,7 +3930,7 @@ Script de saída anterior src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3954,7 +3939,7 @@ Tipo de saída anterior src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3963,7 +3948,7 @@ Peg-out para src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3972,7 +3957,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3982,11 +3967,20 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + Exibir todas as entradas para revelar dados de taxas + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Essa transação economizou % em taxas por usar SegWit-Bech32 nativo. diff --git a/frontend/src/locale/messages.ro.xlf b/frontend/src/locale/messages.ro.xlf index 31df626e2..7b6ab45fa 100644 --- a/frontend/src/locale/messages.ro.xlf +++ b/frontend/src/locale/messages.ro.xlf @@ -11,6 +11,7 @@ Slide of + Pagina din node_modules/src/carousel/carousel.ts 147,156 @@ -147,6 +148,7 @@ + node_modules/src/progressbar/progressbar.ts 59,63 @@ -250,6 +252,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -257,6 +260,7 @@ + node_modules/src/timepicker/timepicker.ts 295 @@ -279,7 +283,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +296,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +313,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +326,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +439,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +505,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +544,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +568,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -731,6 +719,7 @@ View more » + Vezi mai multe » src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 92,97 @@ -770,7 +759,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1018,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1072,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1094,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1404,6 +1393,7 @@ 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. + 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,17 @@ -1451,6 +1441,7 @@ Self-Hosted Integrations + Integrări auto-găzduite src/app/components/about/about.component.html 173,175 @@ -1459,6 +1450,7 @@ Wallet Integrations + Integrări portofel src/app/components/about/about.component.html 207,209 @@ -1470,15 +1462,16 @@ Alianțe din Comunitate src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances Project Translators + Traducători ai proiectului src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1480,7 @@ Contribuitori ai proiectului src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1489,7 @@ Membrii Proiectului src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1498,7 @@ Întreținători ai proiectului src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1531,6 +1524,7 @@ Multisig of + Multisig din src/app/components/address-labels/address-labels.component.ts 121 @@ -1541,25 +1535,25 @@ Neconfidențial src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - tranzacția din + of transaction + tranzacție din src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - tranzacțiile din + of transactions + tranzacții din src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1562,16 @@ Eroare la încărcarea datelor adresei. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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: + Sunt multe tranzacții în această adresă, mai multe decât poate prelucra nodul tău. Vezi mai multe instalezi un nod mai puternic. Consideră vizualizarea acestei adrese pe site-ul oficial Mempool: src/app/components/address/address.component.html - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1580,7 @@ Confidenţial src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -1764,6 +1759,7 @@ Group of assets + Grup de active src/app/components/assets/asset-group/asset-group.component.html 8,9 @@ -1796,6 +1792,7 @@ Featured + Recomandat src/app/components/assets/assets-nav/assets-nav.component.html 9 @@ -1803,6 +1800,7 @@ All + Toate src/app/components/assets/assets-nav/assets-nav.component.html 13 @@ -1986,6 +1984,7 @@ Block Fee Rates + Valori comisioane de bloc src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html 5,7 @@ -2002,6 +2001,7 @@ Block Fees + Comisioane de bloc src/app/components/block-fees-graph/block-fees-graph.component.html 5,7 @@ -2018,6 +2018,7 @@ Fees + Comisioane src/app/components/block-fees-graph/block-fees-graph.component.ts 160,158 @@ -2037,6 +2038,7 @@ Block Rewards + Recompense de bloc src/app/components/block-rewards-graph/block-rewards-graph.component.html 6,8 @@ -2053,13 +2055,14 @@ Reward + Recompensă src/app/components/block-rewards-graph/block-rewards-graph.component.ts 160,158 src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2072,6 +2075,7 @@ Block Sizes and Weights + Mărimi si Greutăți de bloc src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html 4,6 @@ -2103,11 +2107,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2254,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,25 +2412,30 @@ Transaction Details transaction.details - - Error loading block data. - Eroare la încărcarea datelor blocului. + + Error loading data. + Eroare la încărcarea datelor. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Bloc : src/app/components/block/block.component.ts - 146 + 147 Pool + Fond comun src/app/components/blocks-list/blocks-list.component.html 12,13 @@ -2452,10 +2457,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2476,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -2505,6 +2506,7 @@ Adjusted + Ajustat src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 6,8 @@ -2513,6 +2515,7 @@ Change + Schimbă src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 8,11 @@ -2547,6 +2550,7 @@ blocks + blocuri src/app/components/difficulty/difficulty.component.html 10,11 @@ -2567,6 +2571,7 @@ block + bloc src/app/components/difficulty/difficulty.component.html 11,12 @@ -2618,6 +2623,7 @@ Next Halving + Înjumătățirea următoare src/app/components/difficulty/difficulty.component.html 50,52 @@ -2729,6 +2735,7 @@ Mining + Minerit src/app/components/graphs/graphs.component.html 5 @@ -2737,6 +2744,7 @@ Pools Ranking + Clasament Fonduri src/app/components/graphs/graphs.component.html 8 @@ -2749,6 +2757,7 @@ Pools Dominance + Dominanță Fonduri src/app/components/graphs/graphs.component.html 10 @@ -2761,6 +2770,7 @@ Hashrate & Difficulty + Rată hash & Dificultate src/app/components/graphs/graphs.component.html 12 @@ -2777,6 +2787,7 @@ Hashrate + Rată hash src/app/components/hashrate-chart/hashrate-chart.component.html 8,10 @@ -2801,6 +2812,7 @@ Pools Historical Dominance + Dominanță istorică a Fondurilor src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts 63 @@ -2808,6 +2820,7 @@ Indexing blocks + Indexare blocuri src/app/components/indexing-progress/indexing-progress.component.html 1 @@ -2815,6 +2828,7 @@ Indexing network hashrate + Indexare rata de hash a rețelei src/app/components/indexing-progress/indexing-progress.component.html 2 @@ -2822,6 +2836,7 @@ Indexing pools hashrate + Indexare rata de hash a fondurilor src/app/components/indexing-progress/indexing-progress.component.html 3 @@ -2846,6 +2861,7 @@ Mining Dashboard + Bord Minerit src/app/components/master-page/master-page.component.html 35,37 @@ -2925,6 +2941,7 @@ Reward stats + Statistici Recompense src/app/components/mining-dashboard/mining-dashboard.component.html 10 @@ -2933,6 +2950,7 @@ (144 blocks) + (144 blocuri) src/app/components/mining-dashboard/mining-dashboard.component.html 11 @@ -2954,6 +2972,7 @@ Adjustments + Ajustări src/app/components/mining-dashboard/mining-dashboard.component.html 63 @@ -2962,6 +2981,7 @@ Pools Luck (1w) + Noroc Fonduri (săpt) src/app/components/pool-ranking/pool-ranking.component.html 8,12 @@ -2974,6 +2994,7 @@ Blocks (1w) + Blocuri (săpt) src/app/components/pool-ranking/pool-ranking.component.html 14,18 @@ -2986,6 +3007,7 @@ Pools Count (1w) + Număr Fonduri (săpt) src/app/components/pool-ranking/pool-ranking.component.html 20,24 @@ -2998,6 +3020,7 @@ Rank + Rang src/app/components/pool-ranking/pool-ranking.component.html 84,86 @@ -3006,6 +3029,7 @@ Empty blocks + Blocuri goale src/app/components/pool-ranking/pool-ranking.component.html 89,92 @@ -3014,6 +3038,7 @@ All miners + Toți minerii src/app/components/pool-ranking/pool-ranking.component.html 107,108 @@ -3022,6 +3047,7 @@ Mining Pools + Fondurile de minerit src/app/components/pool-ranking/pool-ranking.component.ts 55 @@ -3029,6 +3055,7 @@ blocks + blocuri src/app/components/pool-ranking/pool-ranking.component.ts 160,158 @@ -3040,6 +3067,7 @@ Tags + Etichete src/app/components/pool/pool.component.html 22,23 @@ -3060,6 +3088,7 @@ Show all + Arată tot src/app/components/pool/pool.component.html 53,55 @@ -3070,16 +3099,17 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all Hide + Ascunde src/app/components/pool/pool.component.html 55,58 @@ -3088,6 +3118,7 @@ Hashrate (24h) + Rată de hash (24h) src/app/components/pool/pool.component.html 91,93 @@ -3108,6 +3139,7 @@ Estimated + Estimat src/app/components/pool/pool.component.html 96,97 @@ -3128,6 +3160,7 @@ Reported + Raportat src/app/components/pool/pool.component.html 97,98 @@ -3148,6 +3181,7 @@ Luck + Noroc src/app/components/pool/pool.component.html 98,101 @@ -3168,6 +3202,7 @@ Mined blocks + Blocuri minerite src/app/components/pool/pool.component.html 141,143 @@ -3188,6 +3223,7 @@ 24h + 24h src/app/components/pool/pool.component.html 147 @@ -3200,6 +3236,7 @@ 1w + săpt src/app/components/pool/pool.component.html 148 @@ -3212,6 +3249,7 @@ Coinbase tag + Etichetă Coinbase src/app/components/pool/pool.component.html 215,217 @@ -3242,6 +3280,7 @@ Transaction hex + Codul hex al tranzacției src/app/components/push-transaction/push-transaction.component.html 6 @@ -3254,6 +3293,7 @@ Miners Reward + Recompense mineri src/app/components/reward-stats/reward-stats.component.html 4,6 @@ -3266,6 +3306,7 @@ Amount being paid to miners in the past 144 blocks + Valoarea plătită minerilor în ultimele 144 de blocuri src/app/components/reward-stats/reward-stats.component.html 6,8 @@ -3274,14 +3315,11 @@ Reward Per Tx + Recompensă Per Tx src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3294,6 +3332,7 @@ Average miners' reward per transaction in the past 144 blocks + Valorea medie a recompensei minerilor pentru ultimele 144 de blocuri src/app/components/reward-stats/reward-stats.component.html 18,20 @@ -3302,6 +3341,7 @@ sats/tx + sats/tx src/app/components/reward-stats/reward-stats.component.html 21,24 @@ -3313,8 +3353,18 @@ sat/vB shared.sat-vbyte + + Average Fee + Comision Mediu + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks + 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 @@ -3639,7 +3689,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3818,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3865,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3875,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3885,7 @@ Martor src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,15 +3894,16 @@ Script valorificare P2SH src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script P2TR tapscript + P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3912,7 @@ Script martor P2WSH src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3921,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3930,7 @@ Script de ieșire anterior src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3939,7 @@ Tip ieșire anterior src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3948,7 @@ Legat-spre src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3957,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3967,20 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + Arată toate intrările pentru a descoperi informațiile despre comision + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Această tranzacție a economisit % în comisioane folosind implicit SegWit-Bech32 diff --git a/frontend/src/locale/messages.ru.xlf b/frontend/src/locale/messages.ru.xlf index b255e50cb..c75256a40 100644 --- a/frontend/src/locale/messages.ru.xlf +++ b/frontend/src/locale/messages.ru.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ Обьединения Сообщества src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ Участники проекта src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ Участники проекта src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ Разработчики проекта src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ Неконфиденциально src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - из транзакций + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - из транзакций + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ Ошибка загрузки данных адреса src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ Конфиденциально src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - Ошибка при загрузке данных о блоке. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Блок : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ Транзакции src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3073,11 +3050,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3281,10 +3258,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3316,6 +3289,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3642,7 +3623,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3771,7 +3752,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3818,7 +3799,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3828,7 +3809,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3838,7 +3819,7 @@ Свидетель src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3847,7 +3828,7 @@ Скрипт оплаты P2SH src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3855,7 +3836,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3864,7 +3845,7 @@ Скрипт свидетеля P2WSH src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3873,7 +3854,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3882,7 +3863,7 @@ Скрипт предыдущего вывода src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3891,7 +3872,7 @@ Предыдущий тип выхода src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3900,7 +3881,7 @@ Peg-out в src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3909,7 +3890,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3919,11 +3900,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Эта транзакция сэкономила % комиссии за счет использования встроенного SegWit-Bech32. diff --git a/frontend/src/locale/messages.sl.xlf b/frontend/src/locale/messages.sl.xlf index 1d368494e..245feb7b6 100644 --- a/frontend/src/locale/messages.sl.xlf +++ b/frontend/src/locale/messages.sl.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ Zavezništva skupnosti src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ Sodelujoči src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ Člani projekta src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ Vzdrževalci src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ Javno src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - od transakcij + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - od transakcij + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ Napaka pri nalaganju podatkov naslova. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ Zaupno src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - Napaka pri nalaganju podatkov bloka. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Blok : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH redeem skripta src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH witness skripta src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ Skripta prejšnjega izhoda src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ Tip prejšnjega izhoda src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ Peg-out v src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Ta transakcija je prihranila % omrežnine z uporabo native SegWit-Bech32. diff --git a/frontend/src/locale/messages.sv.xlf b/frontend/src/locale/messages.sv.xlf index a6ef7875f..4aaf9b507 100644 --- a/frontend/src/locale/messages.sv.xlf +++ b/frontend/src/locale/messages.sv.xlf @@ -28,7 +28,7 @@ Next - Näst + Nästa node_modules/src/carousel/carousel.ts 195 @@ -283,7 +283,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -296,7 +296,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -313,7 +313,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -326,7 +326,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -439,11 +439,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -509,10 +505,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -552,8 +544,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -576,14 +568,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -775,7 +759,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1034,7 +1018,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1088,7 +1072,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1110,7 +1094,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1409,7 +1393,7 @@ 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. - Vår mempool- och blockchainutforskare för Bitcoincommunitit, med fokus på marknaden för transaktionsavgifter och multilager-ekosystemet, helt självhostad utan betrodde tredjeparttjänster. + Vår mempool- och blockchainutforskare för bitcoincommunitit, med fokus på marknaden för transaktionsavgifter och multilagerekosystemet, helt självhostad utan betrodda tredjeparttjänster. src/app/components/about/about.component.html 13,17 @@ -1478,7 +1462,7 @@ Communityallianser src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1487,7 +1471,7 @@ Projektöversättare src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1496,7 +1480,7 @@ Projektbidragare src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1505,7 +1489,7 @@ Projektmedlemmar src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1514,7 +1498,7 @@ Projektunderhållare src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1551,25 +1535,25 @@ Okonfidentiell src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - av transaktion + of transaction + av transaktioner src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - av transaktioner + of transactions + av transaktioner src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1578,16 +1562,16 @@ Kunde inte ladda addressdata. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: - Det är fler transaktioner på den här addressen än din backend kan hantera. Läs mer om att sätta upp en starkare backend. Överväg att visa den här addressen på den officiella Mempoolsajten istället: + 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: + Det är fler transaktioner på denna adressen än din backend kan hantera. Kolla upp om att sätta upp en starkare backend. Överväg att visa den här addressen på den officiella Mempool-sajten istället: src/app/components/address/address.component.html - 137,140 + 135,138 Electrum server limit exceeded error @@ -1596,7 +1580,7 @@ Konfidentiell src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1612,7 +1596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2078,7 +2062,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2123,11 +2107,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2274,7 +2254,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2432,21 +2412,25 @@ Transaction Details transaction.details - - Error loading block data. - Kunde inte ladda blockdata. + + Error loading data. + Fel vid laddning av data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Block : src/app/components/block/block.component.ts - 146 + 147 @@ -2473,10 +2457,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2496,7 +2476,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3119,11 +3099,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3340,10 +3320,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3377,6 +3353,15 @@ sat/vB shared.sat-vbyte + + Average Fee + Snittavgifter + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks Avgifter betalade i genomsnitt per transaktion senaste 144 block @@ -3704,7 +3689,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3833,7 +3818,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3880,7 +3865,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3890,7 +3875,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3900,7 +3885,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3909,7 +3894,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3918,7 +3903,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3927,7 +3912,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3936,7 +3921,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3945,7 +3930,7 @@ Föregående outputscript src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3954,7 +3939,7 @@ Föregående output-typ src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3963,7 +3948,7 @@ Peg-out till src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3972,7 +3957,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3982,11 +3967,20 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + Visa alla inputs för att avslöja avgiftdata + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Denna transaktion sparade % på avgifter genom att använda native SegWit-Bech32 diff --git a/frontend/src/locale/messages.th.xlf b/frontend/src/locale/messages.th.xlf index e522b499f..57bdb70c8 100644 --- a/frontend/src/locale/messages.th.xlf +++ b/frontend/src/locale/messages.th.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ พันธมิตรของเรา src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ ผู้พัฒนาโปรเจค src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ สมาชิกในโปรเจคนี้ src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ ผู้ดูแลโปรเจค src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ ไม่เป็นความลับ src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - จาก ธุรกรรม + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - ของ ธุรกรรม + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ เกิดข้อผิดพลาดในการโหลดข้อมูลแอดเดรส src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ เป็นความลับ src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - เกิดข้อผิดพลาดในการโหลดข้อมูลบล็อก + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : บล็อก : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ TXs src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ พยาน src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ สคริปต์ถอน P2SH src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ สคริปต์พยาน P2SH src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nลำดับ src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ สคริปต์เอาต์พุตก่อนหน้า src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ ประเภทของ output ก่อนหน้า src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ Peg-out ไปยัง src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 ธุรกรรมนี้ประหยัดค่าธรรมเนียม % โดยใช้ native SegWit-Bech32 diff --git a/frontend/src/locale/messages.tr.xlf b/frontend/src/locale/messages.tr.xlf index 87881c6a6..7fec961fc 100644 --- a/frontend/src/locale/messages.tr.xlf +++ b/frontend/src/locale/messages.tr.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ İşbirlikçi kömüniteler src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ Proje Destekçileri src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ Proje Üyeleri src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ Projeyi ayakta tutanlar src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ Gizli Olmaya src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - İşlemin / 'si + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - İşlemlerin /'si + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ Adres datası yüklenirken hata oluştu. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ Gizli src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - Blok datası yüklenirken hata oldu. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Blok: / src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ İşlemler src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Tanık src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH alım scripti src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH tanık scripti src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ Önceki çıkış scripti src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ Önceki çıkış tipi src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ 'ye çıkar src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Bu işlem native SegWit-Bech32 kullanrak % tasarruf sağladı diff --git a/frontend/src/locale/messages.uk.xlf b/frontend/src/locale/messages.uk.xlf index 9c972ab1f..973d40e30 100644 --- a/frontend/src/locale/messages.uk.xlf +++ b/frontend/src/locale/messages.uk.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ Союзи спільноти src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ Учасники проекту src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ Члени проекту src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ Розробники проекту src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ Неконфіденційна src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - з транзакція + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - з транзакцій + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ Не вдалося завантажити дані про адресу. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ Конфіденційна src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - Не вдалося завантажити дані про блок. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Блок : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ Транзакцій src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ P2SH redeem скрипт src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ P2WSH witness скрипт src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ Скрипт попереднього виходу src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ Тип попереднього виходу src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ Розкріплення до src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Ця транзакція зекономила % на комісії використовуючи нативний SegWit-Bech32 diff --git a/frontend/src/locale/messages.vi.xlf b/frontend/src/locale/messages.vi.xlf index 62b8ed0b9..d9b2a6565 100644 --- a/frontend/src/locale/messages.vi.xlf +++ b/frontend/src/locale/messages.vi.xlf @@ -279,7 +279,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -292,7 +292,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -309,7 +309,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -322,7 +322,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -435,11 +435,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -505,10 +501,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -548,8 +540,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -572,14 +564,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -770,7 +754,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1029,7 +1013,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1083,7 +1067,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1105,7 +1089,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1470,7 +1454,7 @@ Liên minh cộng đồng src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1478,7 +1462,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1487,7 +1471,7 @@ Người đóng góp dự án src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1496,7 +1480,7 @@ Thành viên Dự án src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1505,7 +1489,7 @@ Người bảo trì dự án src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1541,25 +1525,23 @@ Không bảo mật src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - trong giao dịch + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - trong tổng số giao dịch + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1568,15 +1550,15 @@ Lỗi khi tải dữ liệu địa chỉ. src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1585,7 +1567,7 @@ Bảo mật src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1601,7 +1583,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2059,7 +2041,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2103,11 +2085,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2254,7 +2232,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2412,21 +2390,24 @@ Transaction Details transaction.details - - Error loading block data. - Lỗi khi tải dữ liệu khối. + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : Khối : src/app/components/block/block.component.ts - 146 + 147 @@ -2452,10 +2433,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2475,7 +2452,7 @@ Các giao dịch src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3070,11 +3047,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3278,10 +3255,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3313,6 +3286,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3639,7 +3620,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3768,7 +3749,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3815,7 +3796,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3825,7 +3806,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3835,7 +3816,7 @@ Chứng kiến src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3844,7 +3825,7 @@ Mã thu hồi P2SH src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3852,7 +3833,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3861,7 +3842,7 @@ Mã chứng kiến P2WSH src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3870,7 +3851,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3879,7 +3860,7 @@ Mã đầu ra trước đó src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3888,7 +3869,7 @@ Loại đầu ra trước đó src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3897,7 +3878,7 @@ Peg-out tới src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3906,7 +3887,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3916,11 +3897,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 Giao dịch này đã tiết kiệm % phí bằng cách sử dụng SegWit-Bech32 bản địa diff --git a/frontend/src/locale/messages.zh.xlf b/frontend/src/locale/messages.zh.xlf index f54742ae0..931a47c34 100644 --- a/frontend/src/locale/messages.zh.xlf +++ b/frontend/src/locale/messages.zh.xlf @@ -283,7 +283,7 @@ src/app/components/address/address.component.html - 3,5 + 3 shared.address @@ -296,7 +296,7 @@ src/app/components/address/address.component.html - 31,32 + 31 address.total-received @@ -313,7 +313,7 @@ src/app/components/address/address.component.html - 35,36 + 35 address.total-sent @@ -326,7 +326,7 @@ src/app/components/address/address.component.html - 40,41 + 40 address.balance @@ -439,11 +439,7 @@ src/app/components/blocks-list/blocks-list.component.html - 13,15 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10,12 + 13,14 src/app/components/pool/pool.component.html @@ -509,10 +505,6 @@ src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 5,7 - - src/app/components/latest-blocks/latest-blocks.component.html - 9,10 - src/app/components/pool/pool.component.html 212,214 @@ -552,8 +544,8 @@ 34,36 - src/app/components/latest-blocks/latest-blocks.component.html - 12,16 + src/app/components/blocks-list/blocks-list.component.html + 18,19 src/app/components/mempool-block/mempool-block.component.html @@ -576,14 +568,6 @@ src/app/components/blocks-list/blocks-list.component.html 4,9 - - src/app/components/latest-blocks/latest-blocks.component.html - 2,7 - - - src/app/components/latest-blocks/latest-blocks.component.ts - 39 - src/app/components/liquid-master-page/liquid-master-page.component.html 35,37 @@ -775,7 +759,7 @@ src/app/components/about/about.component.html - 357,361 + 361,365 src/app/dashboard/dashboard.component.html @@ -1034,7 +1018,7 @@ src/app/components/transactions-list/transactions-list.component.html - 239,241 + 249,251 @@ -1088,7 +1072,7 @@ src/app/components/transactions-list/transactions-list.component.html - 266,267 + 277,278 Transaction singular confirmation count shared.confirmation-count.singular @@ -1110,7 +1094,7 @@ src/app/components/transactions-list/transactions-list.component.html - 267,268 + 278,279 Transaction plural confirmation count shared.confirmation-count.plural @@ -1475,7 +1459,7 @@ 社区联盟 src/app/components/about/about.component.html - 257,259 + 261,263 about.alliances @@ -1483,7 +1467,7 @@ Project Translators src/app/components/about/about.component.html - 273,275 + 277,279 about.translators @@ -1492,7 +1476,7 @@ 项目贡献者 src/app/components/about/about.component.html - 287,289 + 291,293 about.contributors @@ -1501,7 +1485,7 @@ 项目成员 src/app/components/about/about.component.html - 299,301 + 303,305 about.project_members @@ -1510,7 +1494,7 @@ 项目维护者 src/app/components/about/about.component.html - 312,314 + 316,318 about.maintainers @@ -1546,25 +1530,23 @@ 不保密 src/app/components/address/address.component.html - 23,24 + 23 address.unconfidential - of transaction - 中的交易 + of transaction src/app/components/address/address.component.html - 60,61 + 60 X of X Address Transaction - of transactions - 中的交易 + of transactions src/app/components/address/address.component.html - 61,62 + 61 X of X Address Transactions (Plural) @@ -1573,15 +1555,15 @@ 在加载地址数据时出错 src/app/components/address/address.component.html - 132,134 + 130 address.error.loading-address-data - 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: + 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 - 137,140 + 135,138 Electrum server limit exceeded error @@ -1590,7 +1572,7 @@ 机密 src/app/components/address/address.component.html - 156,158 + 154 src/app/components/amount/amount.component.html @@ -1606,7 +1588,7 @@ src/app/components/transactions-list/transactions-list.component.html - 274,276 + 285,287 src/app/dashboard/dashboard.component.html @@ -2065,7 +2047,7 @@ src/app/components/blocks-list/blocks-list.component.html - 15,17 + 15,16 src/app/components/pool/pool.component.html @@ -2109,11 +2091,7 @@ src/app/components/blocks-list/blocks-list.component.html - 18,20 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13,16 + 19,21 src/app/components/mempool-block/mempool-block.component.html @@ -2260,7 +2238,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259 + 269 src/app/dashboard/dashboard.component.html @@ -2418,21 +2396,24 @@ Transaction Details transaction.details - - Error loading block data. - 在加载区块数据时出错 + + Error loading data. src/app/components/block/block.component.html - 278,288 + 203,205 - block.error.loading-block-data + + src/app/components/block/block.component.html + 285,290 + + error.general-loading-data Block : 区块 src/app/components/block/block.component.ts - 146 + 147 @@ -2458,10 +2439,6 @@ src/app/components/blocks-list/blocks-list.component.html 14,15 - - src/app/components/latest-blocks/latest-blocks.component.html - 11,12 - src/app/components/pool/pool.component.html 214,215 @@ -2481,7 +2458,7 @@ 交易 src/app/components/blocks-list/blocks-list.component.html - 18,19 + 18 src/app/components/pool/pool.component.html @@ -3080,11 +3057,11 @@ src/app/components/transactions-list/transactions-list.component.html - 141,144 + 148,151 src/app/components/transactions-list/transactions-list.component.html - 249,251 + 259,261 show-all @@ -3290,10 +3267,6 @@ src/app/components/reward-stats/reward-stats.component.html 16,18 - - src/app/components/reward-stats/reward-stats.component.html - 29,31 - src/app/components/reward-stats/reward-stats.component.html 53,56 @@ -3325,6 +3298,14 @@ sat/vB shared.sat-vbyte + + Average Fee + + src/app/components/reward-stats/reward-stats.component.html + 29,31 + + mining.average-fee + Fee paid on average for each transaction in the past 144 blocks @@ -3651,7 +3632,7 @@ src/app/components/transactions-list/transactions-list.component.html - 270,273 + 281,284 Transaction unconfirmed state transaction.unconfirmed @@ -3780,7 +3761,7 @@ src/app/components/transactions-list/transactions-list.component.html - 259,260 + 269,270 sat shared.sat @@ -3827,7 +3808,7 @@ ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html - 97,99 + 104,106 ScriptSig (ASM) transactions-list.scriptsig.asm @@ -3837,7 +3818,7 @@ ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html - 101,104 + 108,111 ScriptSig (HEX) transactions-list.scriptsig.hex @@ -3847,7 +3828,7 @@ Witness src/app/components/transactions-list/transactions-list.component.html - 106,108 + 113,115 transactions-list.witness @@ -3856,7 +3837,7 @@ P2SH redeem script src/app/components/transactions-list/transactions-list.component.html - 110,111 + 117,118 transactions-list.p2sh-redeem-script @@ -3864,7 +3845,7 @@ P2TR tapscript src/app/components/transactions-list/transactions-list.component.html - 114,116 + 121,123 transactions-list.p2tr-tapscript @@ -3873,7 +3854,7 @@ P2WSH witness script src/app/components/transactions-list/transactions-list.component.html - 116,118 + 123,125 transactions-list.p2wsh-witness-script @@ -3882,7 +3863,7 @@ nSequence src/app/components/transactions-list/transactions-list.component.html - 121,123 + 128,130 transactions-list.nsequence @@ -3891,7 +3872,7 @@ 上一次输出脚本 src/app/components/transactions-list/transactions-list.component.html - 126,127 + 133,134 transactions-list.previous-output-script @@ -3900,7 +3881,7 @@ 之前输出类型 src/app/components/transactions-list/transactions-list.component.html - 130,131 + 137,138 transactions-list.previous-output-type @@ -3909,7 +3890,7 @@ 解锁至 src/app/components/transactions-list/transactions-list.component.html - 166,167 + 176,177 transactions-list.peg-out-to @@ -3918,7 +3899,7 @@ ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html - 227,229 + 237,239 ScriptPubKey (ASM) transactions-list.scriptpubkey.asm @@ -3928,11 +3909,19 @@ ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html - 231,234 + 241,244 ScriptPubKey (HEX) transactions-list.scriptpubkey.hex + + Show all inputs to reveal fee data + + src/app/components/transactions-list/transactions-list.component.html + 271,274 + + transactions-list.load-to-reveal-fee-info + This transaction saved % on fees by using native SegWit-Bech32 本交易通过使用原生SegWit-Bech32节省% From 3935aef84134a80cbb1bca3389a12804359bc891 Mon Sep 17 00:00:00 2001 From: softsimon Date: Fri, 27 May 2022 15:34:58 +0400 Subject: [PATCH 104/108] Upgrading packages --- backend/package-lock.json | 28 +- backend/package.json | 4 +- frontend/package-lock.json | 1133 +++++++---------- frontend/package.json | 10 +- .../transactions-list.component.ts | 2 +- 5 files changed, 460 insertions(+), 717 deletions(-) diff --git a/backend/package-lock.json b/backend/package-lock.json index 08a566a35..75e72aa75 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -17,8 +17,8 @@ "mysql2": "2.3.3", "node-worker-threads-pool": "^1.5.1", "socks-proxy-agent": "^6.2.0", - "typescript": "~4.6.3", - "ws": "~8.6.0" + "typescript": "~4.7.2", + "ws": "~8.7.0" }, "devDependencies": { "@types/compression": "^1.7.2", @@ -1469,9 +1469,9 @@ "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" }, "node_modules/typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz", + "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -1532,9 +1532,9 @@ "dev": true }, "node_modules/ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", "engines": { "node": ">=10.0.0" }, @@ -2708,9 +2708,9 @@ "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" }, "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz", + "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==" }, "unpipe": { "version": "1.0.0", @@ -2755,9 +2755,9 @@ "dev": true }, "ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", "requires": {} }, "yallist": { diff --git a/backend/package.json b/backend/package.json index 97ce387db..465f35557 100644 --- a/backend/package.json +++ b/backend/package.json @@ -36,8 +36,8 @@ "mysql2": "2.3.3", "node-worker-threads-pool": "^1.5.1", "socks-proxy-agent": "^6.2.0", - "typescript": "~4.6.3", - "ws": "~8.6.0" + "typescript": "~4.7.2", + "ws": "~8.7.0" }, "devDependencies": { "@types/compression": "^1.7.2", diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 248cf41e4..0662231d2 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -41,16 +41,16 @@ "ngx-echarts": "8.0.1", "ngx-infinite-scroll": "^10.0.1", "qrcode": "1.5.0", - "rxjs": "^6.6.7", + "rxjs": "~7.5.5", "tinyify": "^3.0.0", "tlite": "^0.1.9", - "tslib": "^2.2.0", - "zone.js": "~0.11.4" + "tslib": "~2.4.0", + "zone.js": "~0.11.5" }, "devDependencies": { "@angular/compiler-cli": "~13.3.10", "@angular/language-service": "~13.3.10", - "@nguniversal/builders": "~13.1.0", + "@nguniversal/builders": "~13.1.1", "@types/express": "^4.17.0", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", @@ -66,7 +66,7 @@ "karma-jasmine-html-reporter": "^1.5.0", "ts-node": "~8.3.0", "tslint": "~6.1.0", - "typescript": "~4.4.4" + "typescript": "~4.6.4" }, "optionalDependencies": { "@cypress/schematic": "^1.3.0", @@ -103,6 +103,22 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/architect/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/architect/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@angular-devkit/build-angular": { "version": "13.3.7", "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.7.tgz", @@ -212,6 +228,21 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/@ngtools/webpack": { + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.7.tgz", + "integrity": "sha512-KtNMHOGZIU2oaNTzk97ZNwTnJLbvnSpwyG3/+VW9xN92b2yw8gG9tHPKW2fsFrfzF9Mz8kqJeF31ftvkYuKtuA==", + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^13.0.0", + "typescript": ">=4.4.3 <4.7", + "webpack": "^5.30.0" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/loader-utils": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", @@ -220,6 +251,27 @@ "node": ">= 12.13.0" } }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@angular-devkit/build-angular/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, "node_modules/@angular-devkit/build-webpack": { "version": "0.1303.7", "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.7.tgz", @@ -238,6 +290,22 @@ "webpack-dev-server": "^4.0.0" } }, + "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@angular-devkit/core": { "version": "13.3.7", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.7.tgz", @@ -300,6 +368,22 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, + "node_modules/@angular-devkit/core/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@angular-devkit/schematics": { "version": "12.2.6", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.6.tgz", @@ -374,6 +458,24 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "optional": true }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "optional": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/@angular/animations": { "version": "13.3.10", "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.10.tgz", @@ -479,6 +581,22 @@ "node": ">=10" } }, + "node_modules/@angular/cli/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular/cli/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@angular/common": { "version": "13.3.10", "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.10.tgz", @@ -2994,30 +3112,15 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, - "node_modules/@ngtools/webpack": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.7.tgz", - "integrity": "sha512-KtNMHOGZIU2oaNTzk97ZNwTnJLbvnSpwyG3/+VW9xN92b2yw8gG9tHPKW2fsFrfzF9Mz8kqJeF31ftvkYuKtuA==", - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^13.0.0", - "typescript": ">=4.4.3 <4.7", - "webpack": "^5.30.0" - } - }, "node_modules/@nguniversal/builders": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@nguniversal/builders/-/builders-13.1.0.tgz", - "integrity": "sha512-tG/o04rODUIlMnkW/g9TWt50S6CkX6sCvR+fCS7n7YsLrknnlhj7qMIIEKCiuE+b/7lbfQUe2HepnFEfxLypmw==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/@nguniversal/builders/-/builders-13.1.1.tgz", + "integrity": "sha512-R73GKHr7KeTIBE/kSudhsN0V1gx+TrnM28RHdzw3eHCz2Q3msGpgdt/79+2EjLcvWjoVHOsD+aFIJ9+sx422yQ==", "dev": true, "dependencies": { "@angular-devkit/architect": "^0.1303.0", - "@angular-devkit/core": "^13.3.0", - "@nguniversal/common": "13.1.0", + "@angular-devkit/core": "^13.3.4", + "@nguniversal/common": "13.1.1", "browser-sync": "^2.26.7", "express": "^4.17.1", "guess-parser": "^0.4.12", @@ -3031,7 +3134,7 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular-devkit/build-angular": "^13.3.0" + "@angular-devkit/build-angular": "^13.3.4" } }, "node_modules/@nguniversal/builders/node_modules/http-proxy-middleware": { @@ -3072,11 +3175,28 @@ "nice-napi": "^1.0.2" } }, - "node_modules/@nguniversal/common": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@nguniversal/common/-/common-13.1.0.tgz", - "integrity": "sha512-bmRwJoEM5LfA4kDRkuVvoOv6NFAOgn2WpolwQlnLNfGTKL/fyNw/JyIvdEphQdjhTTRadehY8MYbr+X97+hyLw==", + "node_modules/@nguniversal/builders/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@nguniversal/builders/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@nguniversal/common": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/@nguniversal/common/-/common-13.1.1.tgz", + "integrity": "sha512-DoAPA7+kUz+qMgCTUtRPFcMGY0zz8OSkOTZnxqO5sUYntD6mCEQImHU0WF4ud88j71o0Hv+AISJD1evAAANCdw==", "dependencies": { "critters": "0.0.16", "jsdom": "19.0.0", @@ -3086,15 +3206,14 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "^13.3.0", - "@angular/core": "^13.3.0" + "@angular/common": "^13.3.4", + "@angular/core": "^13.3.4" } }, "node_modules/@nguniversal/common/node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, "engines": { "node": ">= 10" } @@ -3103,7 +3222,6 @@ "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -3114,14 +3232,12 @@ "node_modules/@nguniversal/common/node_modules/cssom": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" }, "node_modules/@nguniversal/common/node_modules/data-urls": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, "dependencies": { "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", @@ -3135,7 +3251,6 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" @@ -3148,7 +3263,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, "dependencies": { "webidl-conversions": "^7.0.0" }, @@ -3160,7 +3274,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -3182,7 +3295,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, "engines": { "node": ">=4.0" } @@ -3191,7 +3303,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -3205,7 +3316,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, "dependencies": { "whatwg-encoding": "^2.0.0" }, @@ -3217,7 +3327,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -3231,7 +3340,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -3243,7 +3351,6 @@ "version": "19.0.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", - "dev": true, "dependencies": { "abab": "^2.0.5", "acorn": "^8.5.0", @@ -3289,7 +3396,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "optional": true, "engines": { "node": ">=0.10.0" @@ -3299,7 +3405,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, "dependencies": { "punycode": "^2.1.1" }, @@ -3311,7 +3416,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", - "dev": true, "dependencies": { "xml-name-validator": "^4.0.0" }, @@ -3323,7 +3427,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, "engines": { "node": ">=12" } @@ -3332,7 +3435,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, "dependencies": { "iconv-lite": "0.6.3" }, @@ -3344,7 +3446,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true, "engines": { "node": ">=12" } @@ -3353,7 +3454,6 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", - "dev": true, "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" @@ -3363,10 +3463,9 @@ } }, "node_modules/@nguniversal/common/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "dev": true, + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", "engines": { "node": ">=10.0.0" }, @@ -3387,7 +3486,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, "engines": { "node": ">=12" } @@ -3410,303 +3508,6 @@ "express": "^4.15.2" } }, - "node_modules/@nguniversal/express-engine/node_modules/@nguniversal/common": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/@nguniversal/common/-/common-13.1.1.tgz", - "integrity": "sha512-DoAPA7+kUz+qMgCTUtRPFcMGY0zz8OSkOTZnxqO5sUYntD6mCEQImHU0WF4ud88j71o0Hv+AISJD1evAAANCdw==", - "dependencies": { - "critters": "0.0.16", - "jsdom": "19.0.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "@angular/common": "^13.3.4", - "@angular/core": "^13.3.4" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" - }, - "node_modules/@nguniversal/express-engine/node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/data-urls/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/@nguniversal/express-engine/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" - } - }, - "node_modules/@nguniversal/express-engine/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==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/jsdom": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", - "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.5.0", - "acorn-globals": "^6.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.1", - "decimal.js": "^10.3.1", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^3.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^10.0.0", - "ws": "^8.2.3", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/@nguniversal/express-engine/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/@nguniversal/express-engine/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/w3c-xmlserializer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", - "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", - "dependencies": { - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "engines": { - "node": ">=12" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "engines": { - "node": ">=12" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/whatwg-url": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", - "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@nguniversal/express-engine/node_modules/ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@nguniversal/express-engine/node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "engines": { - "node": ">=12" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3929,6 +3730,24 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "optional": true }, + "node_modules/@schematics/angular/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "optional": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@schematics/angular/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/@sideway/address": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.2.tgz", @@ -5401,19 +5220,6 @@ "node": ">=0.10.0" } }, - "node_modules/browser-sync-client/node_modules/typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/browser-sync-ui": { "version": "2.27.10", "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz", @@ -6259,6 +6065,18 @@ "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", "dev": true }, + "node_modules/codelyzer/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, "node_modules/codelyzer/node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -10120,14 +9938,6 @@ "node": ">=8" } }, - "node_modules/inquirer/node_modules/rxjs": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz", - "integrity": "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==", - "dependencies": { - "tslib": "~2.1.0" - } - }, "node_modules/inquirer/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10139,11 +9949,6 @@ "node": ">=8" } }, - "node_modules/inquirer/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - }, "node_modules/insert-module-globals": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", @@ -11356,6 +11161,24 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "optional": true }, + "node_modules/listr2/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "optional": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/listr2/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/listr2/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -14597,21 +14420,13 @@ "dev": true }, "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" + "tslib": "^2.1.0" } }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -16051,9 +15866,9 @@ } }, "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/tslint": { "version": "6.1.3", @@ -16186,9 +16001,9 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "node_modules/typescript": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", - "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -16542,6 +16357,24 @@ "node": ">=8.9.0" } }, + "node_modules/wait-on/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "optional": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/wait-on/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/watchpack": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", @@ -17353,11 +17186,11 @@ } }, "node_modules/zone.js": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", - "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.5.tgz", + "integrity": "sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g==", "dependencies": { - "tslib": "^2.0.0" + "tslib": "^2.3.0" } }, "node_modules/zrender": { @@ -17391,6 +17224,21 @@ "requires": { "@angular-devkit/core": "13.3.7", "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@angular-devkit/build-angular": { @@ -17465,10 +17313,36 @@ "webpack-subresource-integrity": "5.1.0" }, "dependencies": { + "@ngtools/webpack": { + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.7.tgz", + "integrity": "sha512-KtNMHOGZIU2oaNTzk97ZNwTnJLbvnSpwyG3/+VW9xN92b2yw8gG9tHPKW2fsFrfzF9Mz8kqJeF31ftvkYuKtuA==", + "requires": {} + }, "loader-utils": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" } } }, @@ -17479,6 +17353,21 @@ "requires": { "@angular-devkit/architect": "0.1303.7", "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@angular-devkit/core": { @@ -17517,6 +17406,19 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -17571,6 +17473,21 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "optional": true + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "optional": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true } } }, @@ -17642,6 +17559,19 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -19413,21 +19343,15 @@ "tslib": "^2.3.0" } }, - "@ngtools/webpack": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.7.tgz", - "integrity": "sha512-KtNMHOGZIU2oaNTzk97ZNwTnJLbvnSpwyG3/+VW9xN92b2yw8gG9tHPKW2fsFrfzF9Mz8kqJeF31ftvkYuKtuA==", - "requires": {} - }, "@nguniversal/builders": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@nguniversal/builders/-/builders-13.1.0.tgz", - "integrity": "sha512-tG/o04rODUIlMnkW/g9TWt50S6CkX6sCvR+fCS7n7YsLrknnlhj7qMIIEKCiuE+b/7lbfQUe2HepnFEfxLypmw==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/@nguniversal/builders/-/builders-13.1.1.tgz", + "integrity": "sha512-R73GKHr7KeTIBE/kSudhsN0V1gx+TrnM28RHdzw3eHCz2Q3msGpgdt/79+2EjLcvWjoVHOsD+aFIJ9+sx422yQ==", "dev": true, "requires": { "@angular-devkit/architect": "^0.1303.0", - "@angular-devkit/core": "^13.3.0", - "@nguniversal/common": "13.1.0", + "@angular-devkit/core": "^13.3.4", + "@nguniversal/common": "13.1.1", "browser-sync": "^2.26.7", "express": "^4.17.1", "guess-parser": "^0.4.12", @@ -19462,254 +19386,34 @@ "hdr-histogram-percentiles-obj": "^3.0.0", "nice-napi": "^1.0.2" } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, "@nguniversal/common": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@nguniversal/common/-/common-13.1.0.tgz", - "integrity": "sha512-bmRwJoEM5LfA4kDRkuVvoOv6NFAOgn2WpolwQlnLNfGTKL/fyNw/JyIvdEphQdjhTTRadehY8MYbr+X97+hyLw==", - "dev": true, + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/@nguniversal/common/-/common-13.1.1.tgz", + "integrity": "sha512-DoAPA7+kUz+qMgCTUtRPFcMGY0zz8OSkOTZnxqO5sUYntD6mCEQImHU0WF4ud88j71o0Hv+AISJD1evAAANCdw==", "requires": { "critters": "0.0.16", "jsdom": "19.0.0", "tslib": "^2.3.0" }, "dependencies": { - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true - }, - "cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true - }, - "data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "dependencies": { - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - } - } - }, - "domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "requires": { - "webidl-conversions": "^7.0.0" - } - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "requires": { - "whatwg-encoding": "^2.0.0" - } - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "jsdom": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", - "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "acorn": "^8.5.0", - "acorn-globals": "^6.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.1", - "decimal.js": "^10.3.1", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^3.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^10.0.0", - "ws": "^8.2.3", - "xml-name-validator": "^4.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - }, - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "w3c-xmlserializer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", - "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", - "dev": true, - "requires": { - "xml-name-validator": "^4.0.0" - } - }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true - }, - "whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "requires": { - "iconv-lite": "0.6.3" - } - }, - "whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true - }, - "whatwg-url": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", - "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", - "dev": true, - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - }, - "ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "dev": true, - "requires": {} - }, - "xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true - } - } - }, - "@nguniversal/express-engine": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/@nguniversal/express-engine/-/express-engine-13.1.1.tgz", - "integrity": "sha512-NdiBP0IRbPrNYEMLy3a6os2mNgRNE84tsMn+mV2uF4wv1JNs3YyoXcucWvhgHdODbDtc6z4CGn8t/6KagRqmvA==", - "requires": { - "@nguniversal/common": "13.1.1", - "tslib": "^2.3.0" - }, - "dependencies": { - "@nguniversal/common": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/@nguniversal/common/-/common-13.1.1.tgz", - "integrity": "sha512-DoAPA7+kUz+qMgCTUtRPFcMGY0zz8OSkOTZnxqO5sUYntD6mCEQImHU0WF4ud88j71o0Hv+AISJD1evAAANCdw==", - "requires": { - "critters": "0.0.16", - "jsdom": "19.0.0", - "tslib": "^2.3.0" - } - }, "@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -19891,9 +19595,9 @@ } }, "ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", "requires": {} }, "xml-name-validator": { @@ -19903,6 +19607,15 @@ } } }, + "@nguniversal/express-engine": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/@nguniversal/express-engine/-/express-engine-13.1.1.tgz", + "integrity": "sha512-NdiBP0IRbPrNYEMLy3a6os2mNgRNE84tsMn+mV2uF4wv1JNs3YyoXcucWvhgHdODbDtc6z4CGn8t/6KagRqmvA==", + "requires": { + "@nguniversal/common": "13.1.1", + "tslib": "^2.3.0" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -20070,6 +19783,21 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "optional": true + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "optional": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true } } }, @@ -21461,12 +21189,6 @@ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", "dev": true - }, - "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", - "dev": true } } }, @@ -22091,6 +21813,15 @@ "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", "dev": true }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -25096,14 +24827,6 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "rxjs": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz", - "integrity": "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==", - "requires": { - "tslib": "~2.1.0" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -25111,11 +24834,6 @@ "requires": { "has-flag": "^4.0.0" } - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, @@ -26036,6 +25754,21 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "optional": true }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "optional": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -28505,18 +28238,11 @@ "dev": true }, "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^2.1.0" } }, "safe-buffer": { @@ -29663,9 +29389,9 @@ } }, "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "tslint": { "version": "6.1.3", @@ -29778,9 +29504,9 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "typescript": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", - "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==" + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" }, "ua-parser-js": { "version": "1.0.2", @@ -30052,6 +29778,23 @@ "lodash": "^4.17.21", "minimist": "^1.2.5", "rxjs": "^6.6.3" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "optional": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } } }, "watchpack": { @@ -30641,11 +30384,11 @@ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" }, "zone.js": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", - "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.5.tgz", + "integrity": "sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g==", "requires": { - "tslib": "^2.0.0" + "tslib": "^2.3.0" } }, "zrender": { diff --git a/frontend/package.json b/frontend/package.json index 15b29801d..daf5d9445 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -93,16 +93,16 @@ "ngx-echarts": "8.0.1", "ngx-infinite-scroll": "^10.0.1", "qrcode": "1.5.0", - "rxjs": "^6.6.7", + "rxjs": "~7.5.5", "tinyify": "^3.0.0", "tlite": "^0.1.9", - "tslib": "^2.2.0", - "zone.js": "~0.11.4" + "tslib": "~2.4.0", + "zone.js": "~0.11.5" }, "devDependencies": { "@angular/compiler-cli": "~13.3.10", "@angular/language-service": "~13.3.10", - "@nguniversal/builders": "~13.1.0", + "@nguniversal/builders": "~13.1.1", "@types/express": "^4.17.0", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", @@ -118,7 +118,7 @@ "karma-jasmine-html-reporter": "^1.5.0", "ts-node": "~8.3.0", "tslint": "~6.1.0", - "typescript": "~4.4.4" + "typescript": "~4.6.4" }, "optionalDependencies": { "@cypress/schematic": "^1.3.0", diff --git a/frontend/src/app/components/transactions-list/transactions-list.component.ts b/frontend/src/app/components/transactions-list/transactions-list.component.ts index 025faf322..ba8ba60ba 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.ts +++ b/frontend/src/app/components/transactions-list/transactions-list.component.ts @@ -30,7 +30,7 @@ export class TransactionsListComponent implements OnInit, OnChanges { latestBlock$: Observable; outspendsSubscription: Subscription; - refreshOutspends$: ReplaySubject = new ReplaySubject(); + refreshOutspends$: ReplaySubject<{ [str: string]: Observable}> = new ReplaySubject(); showDetails$ = new BehaviorSubject(false); outspends: Outspend[][] = []; assetsMinimal: any; From d542671993e5fe7db345b7a568bb017e2602fb2e Mon Sep 17 00:00:00 2001 From: softsimon Date: Fri, 27 May 2022 15:50:56 +0400 Subject: [PATCH 105/108] Updating some more packages --- frontend/package-lock.json | 155 +++++++++++++++++-------------------- frontend/package.json | 18 ++--- 2 files changed, 82 insertions(+), 91 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 0662231d2..d2a55ea03 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -21,10 +21,10 @@ "@angular/platform-browser-dynamic": "~13.3.10", "@angular/platform-server": "~13.3.10", "@angular/router": "~13.3.10", - "@fortawesome/angular-fontawesome": "~0.10.1", - "@fortawesome/fontawesome-common-types": "~0.3.0", - "@fortawesome/fontawesome-svg-core": "~1.3.0", - "@fortawesome/free-solid-svg-icons": "~6.0.0", + "@fortawesome/angular-fontawesome": "~0.10.2", + "@fortawesome/fontawesome-common-types": "~6.1.1", + "@fortawesome/fontawesome-svg-core": "~6.1.1", + "@fortawesome/free-solid-svg-icons": "~6.1.1", "@juggle/resize-observer": "^3.3.1", "@mempool/mempool.js": "2.3.0", "@ng-bootstrap/ng-bootstrap": "^11.0.0", @@ -52,13 +52,13 @@ "@angular/language-service": "~13.3.10", "@nguniversal/builders": "~13.1.1", "@types/express": "^4.17.0", - "@types/jasmine": "~3.6.0", - "@types/jasminewd2": "~2.0.3", + "@types/jasmine": "~4.0.3", + "@types/jasminewd2": "~2.0.10", "@types/node": "^12.11.1", - "codelyzer": "^6.0.1", + "codelyzer": "~6.0.2", "http-proxy-middleware": "^1.0.5", - "jasmine-core": "~3.6.0", - "jasmine-spec-reporter": "~5.0.0", + "jasmine-core": "~4.1.0", + "jasmine-spec-reporter": "~7.0.0", "karma": "~6.3.19", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.0.3", @@ -2880,44 +2880,44 @@ } }, "node_modules/@fortawesome/angular-fontawesome": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.10.1.tgz", - "integrity": "sha512-4nVRm+NcLcdaNrNFhThb/7/tb5CDm0vQwJFyljR3XMCQyEr94hMX5SiUYbvYm9YJVImMYfdpR0lO0B8sh12Vbw==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.10.2.tgz", + "integrity": "sha512-VxsCAo2lK74KwD236AKAhGpiethfz9yqCViIG2iRAZqgNmuZ6ihwumjbLW32n6hV4fFvCqLcHmpngoEl3TNiOg==", "dependencies": { "tslib": "^2.3.1" }, "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "~1.2.27 || ~1.3.0-beta2" + "@fortawesome/fontawesome-svg-core": "~1.2.27 || ~1.3.0-beta2 || ^6.1.0" } }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.3.0.tgz", - "integrity": "sha512-CA3MAZBTxVsF6SkfkHXDerkhcQs0QPofy43eFdbWJJkZiq3SfiaH1msOkac59rQaqto5EqWnASboY1dBuKen5w==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz", + "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==", "hasInstallScript": true, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.3.0.tgz", - "integrity": "sha512-UIL6crBWhjTNQcONt96ExjUnKt1D68foe3xjEensLDclqQ6YagwCRYVQdrp/hW0ALRp/5Fv/VKw+MqTUWYYvPg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.1.tgz", + "integrity": "sha512-NCg0w2YIp81f4V6cMGD9iomfsIj7GWrqmsa0ZsPh59G7PKiGN1KymZNxmF00ssuAlo/VZmpK6xazsGOwzKYUMg==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.3.0" + "@fortawesome/fontawesome-common-types": "6.1.1" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.0.0.tgz", - "integrity": "sha512-o4FZ1XbndcgeWNb8Wh0y+Hgf73CjmyOQowUSaqQCtgIIdS+XliSBSOwCl330wER+I6CGYE96hT27bHBPmzX2Gg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz", + "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.3.0" + "@fortawesome/fontawesome-common-types": "6.1.1" }, "engines": { "node": ">=6" @@ -3932,15 +3932,15 @@ } }, "node_modules/@types/jasmine": { - "version": "3.6.9", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.9.tgz", - "integrity": "sha512-B53NIwMj/AO0O+xfSWLYmKB0Mo6TYxfv2Mk8/c1T2w/e38t55iaPR6p7pHXTTtqfTmevPK3i8T1YweYFTZlxDw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz", + "integrity": "sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg==", "dev": true }, "node_modules/@types/jasminewd2": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.8.tgz", - "integrity": "sha512-d9p31r7Nxk0ZH0U39PTH0hiDlJ+qNVGjlt1ucOoTUptxb2v+Y5VMnsxfwN+i3hK4yQnqBi3FMmoMFcd1JHDxdg==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", + "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", "dev": true, "dependencies": { "@types/jasmine": "*" @@ -6034,9 +6034,9 @@ } }, "node_modules/codelyzer": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.1.tgz", - "integrity": "sha512-cOyGQgMdhnRYtW2xrJUNrNYDjEgwQ+BrE2y93Bwz3h4DJ6vJRLfupemU5N3pbYsUlBHJf0u1j1UGk+NLW4d97g==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", + "integrity": "sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g==", "dev": true, "dependencies": { "@angular/compiler": "9.0.0", @@ -6053,6 +6053,11 @@ "sprintf-js": "^1.1.2", "tslib": "^1.10.0", "zone.js": "~0.10.3" + }, + "peerDependencies": { + "@angular/compiler": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", + "@angular/core": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", + "tslint": "^5.0.0 || ^6.0.0" } }, "node_modules/codelyzer/node_modules/@angular/compiler": { @@ -10424,15 +10429,15 @@ } }, "node_modules/jasmine-core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz", - "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.1.tgz", + "integrity": "sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g==", "dev": true }, "node_modules/jasmine-spec-reporter": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", - "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz", + "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==", "dev": true, "dependencies": { "colors": "1.4.0" @@ -10834,12 +10839,6 @@ "integrity": "sha512-PtilRLno5O6wH3lDihRnz0Ba8oSn0YUJqKjjux1peoYGwo0AQqrWRbdWk/RLzcGlb+onTyXAnHl6M+Hu3UxG/Q==", "dev": true }, - "node_modules/karma-jasmine/node_modules/jasmine-core": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.0.tgz", - "integrity": "sha512-8E8BiffCL8sBwK1zU9cbavLe8xpJAgOduSJ6N8PJVv8VosQ/nxVTuXj2kUeHxTlZBVvh24G19ga7xdiaxlceKg==", - "dev": true - }, "node_modules/karma-source-map-support": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", @@ -19159,32 +19158,32 @@ "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==" }, "@fortawesome/angular-fontawesome": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.10.1.tgz", - "integrity": "sha512-4nVRm+NcLcdaNrNFhThb/7/tb5CDm0vQwJFyljR3XMCQyEr94hMX5SiUYbvYm9YJVImMYfdpR0lO0B8sh12Vbw==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.10.2.tgz", + "integrity": "sha512-VxsCAo2lK74KwD236AKAhGpiethfz9yqCViIG2iRAZqgNmuZ6ihwumjbLW32n6hV4fFvCqLcHmpngoEl3TNiOg==", "requires": { "tslib": "^2.3.1" } }, "@fortawesome/fontawesome-common-types": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.3.0.tgz", - "integrity": "sha512-CA3MAZBTxVsF6SkfkHXDerkhcQs0QPofy43eFdbWJJkZiq3SfiaH1msOkac59rQaqto5EqWnASboY1dBuKen5w==" + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz", + "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==" }, "@fortawesome/fontawesome-svg-core": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.3.0.tgz", - "integrity": "sha512-UIL6crBWhjTNQcONt96ExjUnKt1D68foe3xjEensLDclqQ6YagwCRYVQdrp/hW0ALRp/5Fv/VKw+MqTUWYYvPg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.1.tgz", + "integrity": "sha512-NCg0w2YIp81f4V6cMGD9iomfsIj7GWrqmsa0ZsPh59G7PKiGN1KymZNxmF00ssuAlo/VZmpK6xazsGOwzKYUMg==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.3.0" + "@fortawesome/fontawesome-common-types": "6.1.1" } }, "@fortawesome/free-solid-svg-icons": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.0.0.tgz", - "integrity": "sha512-o4FZ1XbndcgeWNb8Wh0y+Hgf73CjmyOQowUSaqQCtgIIdS+XliSBSOwCl330wER+I6CGYE96hT27bHBPmzX2Gg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz", + "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.3.0" + "@fortawesome/fontawesome-common-types": "6.1.1" } }, "@gar/promisify": { @@ -19979,15 +19978,15 @@ } }, "@types/jasmine": { - "version": "3.6.9", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.9.tgz", - "integrity": "sha512-B53NIwMj/AO0O+xfSWLYmKB0Mo6TYxfv2Mk8/c1T2w/e38t55iaPR6p7pHXTTtqfTmevPK3i8T1YweYFTZlxDw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz", + "integrity": "sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg==", "dev": true }, "@types/jasminewd2": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.8.tgz", - "integrity": "sha512-d9p31r7Nxk0ZH0U39PTH0hiDlJ+qNVGjlt1ucOoTUptxb2v+Y5VMnsxfwN+i3hK4yQnqBi3FMmoMFcd1JHDxdg==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", + "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", "dev": true, "requires": { "@types/jasmine": "*" @@ -21782,9 +21781,9 @@ } }, "codelyzer": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.1.tgz", - "integrity": "sha512-cOyGQgMdhnRYtW2xrJUNrNYDjEgwQ+BrE2y93Bwz3h4DJ6vJRLfupemU5N3pbYsUlBHJf0u1j1UGk+NLW4d97g==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", + "integrity": "sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g==", "dev": true, "requires": { "@angular/compiler": "9.0.0", @@ -25184,15 +25183,15 @@ } }, "jasmine-core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz", - "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.1.tgz", + "integrity": "sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g==", "dev": true }, "jasmine-spec-reporter": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", - "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz", + "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==", "dev": true, "requires": { "colors": "1.4.0" @@ -25575,14 +25574,6 @@ "dev": true, "requires": { "jasmine-core": "^4.1.0" - }, - "dependencies": { - "jasmine-core": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.0.tgz", - "integrity": "sha512-8E8BiffCL8sBwK1zU9cbavLe8xpJAgOduSJ6N8PJVv8VosQ/nxVTuXj2kUeHxTlZBVvh24G19ga7xdiaxlceKg==", - "dev": true - } } }, "karma-jasmine-html-reporter": { diff --git a/frontend/package.json b/frontend/package.json index daf5d9445..f20f498df 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -73,10 +73,10 @@ "@angular/platform-browser-dynamic": "~13.3.10", "@angular/platform-server": "~13.3.10", "@angular/router": "~13.3.10", - "@fortawesome/angular-fontawesome": "~0.10.1", - "@fortawesome/fontawesome-common-types": "~0.3.0", - "@fortawesome/fontawesome-svg-core": "~1.3.0", - "@fortawesome/free-solid-svg-icons": "~6.0.0", + "@fortawesome/angular-fontawesome": "~0.10.2", + "@fortawesome/fontawesome-common-types": "~6.1.1", + "@fortawesome/fontawesome-svg-core": "~6.1.1", + "@fortawesome/free-solid-svg-icons": "~6.1.1", "@juggle/resize-observer": "^3.3.1", "@mempool/mempool.js": "2.3.0", "@ng-bootstrap/ng-bootstrap": "^11.0.0", @@ -104,13 +104,13 @@ "@angular/language-service": "~13.3.10", "@nguniversal/builders": "~13.1.1", "@types/express": "^4.17.0", - "@types/jasmine": "~3.6.0", - "@types/jasminewd2": "~2.0.3", + "@types/jasmine": "~4.0.3", + "@types/jasminewd2": "~2.0.10", "@types/node": "^12.11.1", - "codelyzer": "^6.0.1", + "codelyzer": "~6.0.2", "http-proxy-middleware": "^1.0.5", - "jasmine-core": "~3.6.0", - "jasmine-spec-reporter": "~5.0.0", + "jasmine-core": "~4.1.0", + "jasmine-spec-reporter": "~7.0.0", "karma": "~6.3.19", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.0.3", From 9ce4057ad456e2f6d05b9caf5dd62ac5b2b491dd Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 31 May 2022 03:49:03 +0400 Subject: [PATCH 106/108] Changed menu buttons to links fixes #1073 --- .../bisq-master-page/bisq-master-page.component.html | 2 +- .../liquid-master-page/liquid-master-page.component.html | 4 ++-- .../app/components/master-page/master-page.component.html | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/components/bisq-master-page/bisq-master-page.component.html b/frontend/src/app/components/bisq-master-page/bisq-master-page.component.html index cacd38f39..b1735adee 100644 --- a/frontend/src/app/components/bisq-master-page/bisq-master-page.component.html +++ b/frontend/src/app/components/bisq-master-page/bisq-master-page.component.html @@ -19,7 +19,7 @@ Signet Testnet - + Bisq Liquid Liquid Testnet 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 a8d2987a1..a729f3708 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 @@ -21,8 +21,8 @@ Testnet Bisq - - + Liquid + Liquid Testnet 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 c3c9b7ae3..ac141ecd5 100644 --- a/frontend/src/app/components/master-page/master-page.component.html +++ b/frontend/src/app/components/master-page/master-page.component.html @@ -16,9 +16,9 @@
- - - + bitcoin logo Mainnet + logo Signet + testnet logo Testnet bisq logo Bisq liquid mainnet logo Liquid From 09b2e21fea6a7f721b1ceceebd71be3c361110b1 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 31 May 2022 10:40:58 +0200 Subject: [PATCH 107/108] Add `economyFee` field in /api/fees/recommended API --- backend/src/api/fee-api.ts | 3 ++- frontend/src/app/docs/api-docs/api-docs-data.ts | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/backend/src/api/fee-api.ts b/backend/src/api/fee-api.ts index 7bc7d06f3..82778825e 100644 --- a/backend/src/api/fee-api.ts +++ b/backend/src/api/fee-api.ts @@ -1,4 +1,3 @@ -import config from '../config'; import { MempoolBlock } from '../mempool.interfaces'; import { Common } from './common'; import mempool from './mempool'; @@ -19,6 +18,7 @@ class FeeApi { 'fastestFee': this.defaultFee, 'halfHourFee': this.defaultFee, 'hourFee': this.defaultFee, + 'economyFee': minimumFee, 'minimumFee': minimumFee, }; } @@ -31,6 +31,7 @@ class FeeApi { 'fastestFee': firstMedianFee, 'halfHourFee': secondMedianFee, 'hourFee': thirdMedianFee, + 'economyFee': Math.min(2 * minimumFee, thirdMedianFee), 'minimumFee': minimumFee, }; } 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 2e8a61230..c876a67ae 100644 --- a/frontend/src/app/docs/api-docs/api-docs-data.ts +++ b/frontend/src/app/docs/api-docs/api-docs-data.ts @@ -4470,6 +4470,7 @@ export const restApiDocsData = [ fastestFee: 1, halfHourFee: 1, hourFee: 1, + economyFee: 1, minimumFee: 1 }` }, @@ -4481,6 +4482,7 @@ export const restApiDocsData = [ fastestFee: 1, halfHourFee: 1, hourFee: 1, + economyFee: 1, minimumFee: 1 }` }, @@ -4492,6 +4494,7 @@ export const restApiDocsData = [ fastestFee: 1, halfHourFee: 1, hourFee: 1, + economyFee: 1, minimumFee: 1 }` }, @@ -4503,7 +4506,8 @@ export const restApiDocsData = [ fastestFee: 0.1, halfHourFee: 0.1, hourFee: 0.1, - minimumFee: 1 + economyFee: 0.1, + minimumFee: 0.1 }` }, codeSampleLiquidTestnet: { @@ -4514,7 +4518,8 @@ export const restApiDocsData = [ fastestFee: 0.1, halfHourFee: 0.1, hourFee: 0.1, - minimumFee: 1 + economyFee: 0.1, + minimumFee: 0.1 }` }, codeSampleBisq: emptyCodeSample, From c246ed958fb31dbbdbbc39632d4393c8ded90ebf Mon Sep 17 00:00:00 2001 From: nymkappa Date: Tue, 31 May 2022 11:20:20 +0200 Subject: [PATCH 108/108] Create rates table on all networks --- backend/src/api/blocks.ts | 2 -- backend/src/api/database-migration.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index 5c530b691..814d967f3 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -314,8 +314,6 @@ class Blocks { } } - const currentUsdPrice = fiatConversion.getConversionRates().USD; - while (this.currentBlockHeight < blockHeightTip) { if (this.currentBlockHeight < blockHeightTip - config.MEMPOOL.INITIAL_BLOCKS_AMOUNT) { this.currentBlockHeight = blockHeightTip; diff --git a/backend/src/api/database-migration.ts b/backend/src/api/database-migration.ts index 45207007e..680acec08 100644 --- a/backend/src/api/database-migration.ts +++ b/backend/src/api/database-migration.ts @@ -185,7 +185,7 @@ class DatabaseMigration { await this.$executeQuery('ALTER TABLE `blocks` ADD INDEX `hash` (`hash`);'); } - if (databaseSchemaVersion < 19 && isBitcoin === true) { + if (databaseSchemaVersion < 19) { await this.$executeQuery(this.getCreateRatesTableQuery(), await this.$checkIfTableExists('rates')); } } catch (e) {