From eeb74479886f1d0f451baeee716d39a49c61e37e Mon Sep 17 00:00:00 2001 From: softsimon Date: Sat, 27 Feb 2021 04:19:56 +0700 Subject: [PATCH 01/24] Bisq markets dashboard. Base views. WIP. --- frontend/package-lock.json | 27 ++++++++ frontend/package.json | 1 + frontend/src/app/bisq/bisq-api.service.ts | 17 +++++ .../bisq-dashboard.component.html | 34 ++++++++++ .../bisq-dashboard.component.scss | 0 .../bisq-dashboard.component.ts | 43 ++++++++++++ .../bisq-market/bisq-market.component.html | 49 +++++++++++++ .../bisq-market/bisq-market.component.scss | 0 .../bisq/bisq-market/bisq-market.component.ts | 64 +++++++++++++++++ frontend/src/app/bisq/bisq.module.ts | 6 ++ frontend/src/app/bisq/bisq.routing.module.ts | 10 +++ .../lightweight-charts.component.scss | 0 .../lightweight-charts.component.ts | 68 +++++++++++++++++++ .../master-page/master-page.component.html | 10 +-- frontend/tslint.json | 1 + 15 files changed, 325 insertions(+), 5 deletions(-) create mode 100644 frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html create mode 100644 frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.scss create mode 100644 frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts create mode 100644 frontend/src/app/bisq/bisq-market/bisq-market.component.html create mode 100644 frontend/src/app/bisq/bisq-market/bisq-market.component.scss create mode 100644 frontend/src/app/bisq/bisq-market/bisq-market.component.ts create mode 100644 frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.scss create mode 100644 frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.ts diff --git a/frontend/package-lock.json b/frontend/package-lock.json index eea9f09e6..ed1937bdd 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -31,6 +31,7 @@ "clipboard": "^2.0.4", "domino": "^2.1.6", "express": "^4.15.2", + "lightweight-charts": "^3.3.0", "ngx-bootrap-multiselect": "^2.0.0", "ngx-infinite-scroll": "^9.0.0", "qrcode": "^1.4.4", @@ -6857,6 +6858,11 @@ "node >=0.6.0" ] }, + "node_modules/fancy-canvas": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fancy-canvas/-/fancy-canvas-0.2.2.tgz", + "integrity": "sha512-50qi8xA0QkHbjmb8h7XQ6k2fvD7y/yMfiUw9YTarJ7rWrq6o5/3CCXPouYk+XSLASvvxtjyiQLRBFt3qkE3oyA==" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -9668,6 +9674,14 @@ "immediate": "~3.0.5" } }, + "node_modules/lightweight-charts": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lightweight-charts/-/lightweight-charts-3.3.0.tgz", + "integrity": "sha512-W5jeBrXcHG8eHnIQ0L2CB9TLkrrsjNPlQq5SICPO8PnJ3dJ8jZkLCAwemZ7Ym7ZGCfKCz6ow1EPbyzNYxblnkw==", + "dependencies": { + "fancy-canvas": "0.2.2" + } + }, "node_modules/limiter": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", @@ -24769,6 +24783,11 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, + "fancy-canvas": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fancy-canvas/-/fancy-canvas-0.2.2.tgz", + "integrity": "sha512-50qi8xA0QkHbjmb8h7XQ6k2fvD7y/yMfiUw9YTarJ7rWrq6o5/3CCXPouYk+XSLASvvxtjyiQLRBFt3qkE3oyA==" + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -27006,6 +27025,14 @@ "immediate": "~3.0.5" } }, + "lightweight-charts": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lightweight-charts/-/lightweight-charts-3.3.0.tgz", + "integrity": "sha512-W5jeBrXcHG8eHnIQ0L2CB9TLkrrsjNPlQq5SICPO8PnJ3dJ8jZkLCAwemZ7Ym7ZGCfKCz6ow1EPbyzNYxblnkw==", + "requires": { + "fancy-canvas": "0.2.2" + } + }, "limiter": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", diff --git a/frontend/package.json b/frontend/package.json index dd2bba86b..a72a5c940 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -61,6 +61,7 @@ "clipboard": "^2.0.4", "domino": "^2.1.6", "express": "^4.15.2", + "lightweight-charts": "^3.3.0", "ngx-bootrap-multiselect": "^2.0.0", "ngx-infinite-scroll": "^9.0.0", "qrcode": "^1.4.4", diff --git a/frontend/src/app/bisq/bisq-api.service.ts b/frontend/src/app/bisq/bisq-api.service.ts index 0f9eb0868..9967269cf 100644 --- a/frontend/src/app/bisq/bisq-api.service.ts +++ b/frontend/src/app/bisq/bisq-api.service.ts @@ -42,4 +42,21 @@ export class BisqApiService { getAddress$(address: string): Observable { return this.httpClient.get(API_BASE_URL + '/address/' + address); } + + getMarkets$(): Observable { + return this.httpClient.get(API_BASE_URL + '/markets/markets'); + } + + getMarketsTicker$(): Observable { + return this.httpClient.get(API_BASE_URL + '/markets/ticker'); + } + + getMarketsCurrencies$(): Observable { + return this.httpClient.get(API_BASE_URL + '/markets/currencies'); + } + + getMarketsHloc$(market: string, interval: 'minute' | 'half_hour' | 'hour' | 'half_day' | 'day' + | 'week' | 'month' | 'year' | 'auto'): Observable { + return this.httpClient.get(API_BASE_URL + '/markets/hloc?market=' + market + '&interval=' + interval); + } } diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html new file mode 100644 index 000000000..92fff717b --- /dev/null +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html @@ -0,0 +1,34 @@ +
+

Active Markets

+ + + + + + + + + + + + + + + + + +
CoinPairPrice24h volumeVolume %
{{ ticker.market.lname }}{{ ticker.pair }} + + {{ ticker.last | currency: ticker.market.rsymbol }} +
+ +
+ +
+
+ + + + + + \ No newline at end of file diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.scss b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts new file mode 100644 index 000000000..bc1303fd6 --- /dev/null +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts @@ -0,0 +1,43 @@ +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; +import { Observable, combineLatest } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { BisqApiService } from '../bisq-api.service'; + +@Component({ + selector: 'app-bisq-dashboard', + templateUrl: './bisq-dashboard.component.html', + styleUrls: ['./bisq-dashboard.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class BisqDashboardComponent implements OnInit { + tickers$: Observable; + + constructor( + private bisqApiService: BisqApiService, + ) { } + + ngOnInit(): void { + this.tickers$ = combineLatest([ + this.bisqApiService.getMarketsTicker$(), + this.bisqApiService.getMarkets$() + ]) + .pipe( + map(([tickers, markets]) => { + const newTickers = []; + for (const t in tickers) { + tickers[t].pair_url = t; + tickers[t].pair = t.replace('_', '/').toUpperCase(); + tickers[t].market = markets[t]; + newTickers.push(tickers[t]); + } + console.log(newTickers); + return newTickers; + }) + ); + } + + trackByFn(index: number) { + return index; + } + +} diff --git a/frontend/src/app/bisq/bisq-market/bisq-market.component.html b/frontend/src/app/bisq/bisq-market/bisq-market.component.html new file mode 100644 index 000000000..f7d9f9df2 --- /dev/null +++ b/frontend/src/app/bisq/bisq-market/bisq-market.component.html @@ -0,0 +1,49 @@ +
+ + + + +

{{ currency.market.lname }} - {{ currency.pair }}

+
+ {{ hlocData[hlocData.length - 1].close | currency: currency.market.rsymbol }} +
+ +
+ +
+
+ + + + + + + + + +
+
+ + +
+
diff --git a/frontend/src/app/bisq/bisq-market/bisq-market.component.scss b/frontend/src/app/bisq/bisq-market/bisq-market.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/frontend/src/app/bisq/bisq-market/bisq-market.component.ts b/frontend/src/app/bisq/bisq-market/bisq-market.component.ts new file mode 100644 index 000000000..54f9b8b43 --- /dev/null +++ b/frontend/src/app/bisq/bisq-market/bisq-market.component.ts @@ -0,0 +1,64 @@ +import { Component, OnInit } from '@angular/core'; +import { FormBuilder, FormGroup } from '@angular/forms'; +import { ActivatedRoute } from '@angular/router'; +import { combineLatest, merge, Observable, of } from 'rxjs'; +import { filter, map, mergeAll, switchMap, tap } from 'rxjs/operators'; +import { BisqApiService } from '../bisq-api.service'; + +@Component({ + selector: 'app-bisq-market', + templateUrl: './bisq-market.component.html', + styleUrls: ['./bisq-market.component.scss'] +}) +export class BisqMarketComponent implements OnInit { + hlocData$: Observable; + currency$: Observable; + radioGroupForm: FormGroup; + defaultInterval = 'half_hour'; + + constructor( + private route: ActivatedRoute, + private bisqApiService: BisqApiService, + private formBuilder: FormBuilder, + ) { } + + ngOnInit(): void { + this.radioGroupForm = this.formBuilder.group({ + interval: [this.defaultInterval], + }); + + this.currency$ = this.bisqApiService.getMarkets$() + .pipe( + switchMap((markets) => combineLatest([of(markets), this.route.paramMap])), + map(([markets, routeParams]) => { + const pair = routeParams.get('pair'); + console.log(markets); + return { + pair: pair.replace('_', '/').toUpperCase(), + market: markets[pair], + }; + }) + ); + + this.hlocData$ = combineLatest([ + this.route.paramMap, + merge(this.radioGroupForm.get('interval').valueChanges, of(this.defaultInterval)), + ]) + .pipe( + switchMap(([routeParams, interval]) => { + const pair = routeParams.get('pair'); + return this.bisqApiService.getMarketsHloc$(pair, interval); + }), + map((hloc) => { + return hloc.map((h) => { + h.time = h.period_start; + return h; + }); + }), + tap((data) => { + console.log(data); + }), + ); + } + +} diff --git a/frontend/src/app/bisq/bisq.module.ts b/frontend/src/app/bisq/bisq.module.ts index 9c8bfca0f..b469b4076 100644 --- a/frontend/src/app/bisq/bisq.module.ts +++ b/frontend/src/app/bisq/bisq.module.ts @@ -3,10 +3,13 @@ import { BisqRoutingModule } from './bisq.routing.module'; import { SharedModule } from '../shared/shared.module'; import { NgxBootstrapMultiselectModule } from 'ngx-bootrap-multiselect'; +import { LightweightChartsComponent } from './lightweight-charts/lightweight-charts.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'; import { BisqIconComponent } from './bisq-icon/bisq-icon.component'; import { BisqTransactionDetailsComponent } from './bisq-transaction-details/bisq-transaction-details.component'; import { BisqTransfersComponent } from './bisq-transfers/bisq-transfers.component'; @@ -34,6 +37,9 @@ import { BsqAmountComponent } from './bsq-amount/bsq-amount.component'; BisqAddressComponent, BisqStatsComponent, BsqAmountComponent, + LightweightChartsComponent, + BisqDashboardComponent, + BisqMarketComponent, ], imports: [ BisqRoutingModule, diff --git a/frontend/src/app/bisq/bisq.routing.module.ts b/frontend/src/app/bisq/bisq.routing.module.ts index 90bec63ce..3487ef48b 100644 --- a/frontend/src/app/bisq/bisq.routing.module.ts +++ b/frontend/src/app/bisq/bisq.routing.module.ts @@ -9,6 +9,8 @@ import { BisqExplorerComponent } from './bisq-explorer/bisq-explorer.component'; import { BisqAddressComponent } from './bisq-address/bisq-address.component'; import { BisqStatsComponent } from './bisq-stats/bisq-stats.component'; import { ApiDocsComponent } from '../components/api-docs/api-docs.component'; +import { BisqDashboardComponent } from './bisq-dashboard/bisq-dashboard.component'; +import { BisqMarketComponent } from './bisq-market/bisq-market.component'; const routes: Routes = [ { @@ -17,8 +19,16 @@ const routes: Routes = [ children: [ { path: '', + component: BisqDashboardComponent, + }, + { + path: 'transactions', component: BisqTransactionsComponent }, + { + path: 'market/:pair', + component: BisqMarketComponent, + }, { path: 'tx/:id', component: BisqTransactionComponent diff --git a/frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.scss b/frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.ts b/frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.ts new file mode 100644 index 000000000..2e4d11e69 --- /dev/null +++ b/frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.ts @@ -0,0 +1,68 @@ +import { createChart, CrosshairMode } from 'lightweight-charts'; +import { AfterViewInit, Component, ElementRef, Input, OnChanges, OnDestroy, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-lightweight-charts', + template: '', + styleUrls: ['./lightweight-charts.component.scss'] +}) +export class LightweightChartsComponent implements AfterViewInit, OnChanges, OnDestroy { + @Input() data: any; + lineSeries: any; + chart: any; + + constructor( + private element: ElementRef, + ) { + this.chart = createChart(this.element.nativeElement, { + width: 1110, + height: 500, + layout: { + backgroundColor: '#000000', + textColor: '#d1d4dc', + }, + crosshair: { + mode: CrosshairMode.Normal, + }, + grid: { + vertLines: { + visible: true, + color: 'rgba(42, 46, 57, 0.5)', + }, + horzLines: { + color: 'rgba(42, 46, 57, 0.5)', + }, + }, + }); + this.lineSeries = this.chart.addCandlestickSeries(); + } + + ngAfterViewInit(): void { + /* + lineSeries.setData([ + { time: '2019-04-11', value: 80.01 }, + { time: '2019-04-12', value: 96.63 }, + { time: '2019-04-13', value: 76.64 }, + { time: '2019-04-14', value: 81.89 }, + { time: '2019-04-15', value: 74.43 }, + { time: '2019-04-16', value: 80.01 }, + { time: '2019-04-17', value: 96.63 }, + { time: '2019-04-18', value: 76.64 }, + { time: '2019-04-19', value: 81.89 }, + { time: '2019-04-20', value: 74.43 }, + ]); + */ + } + + ngOnChanges() { + if (!this.data) { + return; + } + this.lineSeries.setData(this.data); + } + + ngOnDestroy() { + this.chart.remove(); + } + +} 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 084038b75..89a92b44a 100644 --- a/frontend/src/app/components/master-page/master-page.component.html +++ b/frontend/src/app/components/master-page/master-page.component.html @@ -27,21 +27,21 @@ - - \ No newline at end of file + + + + +
+
+
+
+
+
diff --git a/frontend/src/app/bisq/bisq-market/bisq-market.component.ts b/frontend/src/app/bisq/bisq-market/bisq-market.component.ts index 05e9a79e9..de03e1aad 100644 --- a/frontend/src/app/bisq/bisq-market/bisq-market.component.ts +++ b/frontend/src/app/bisq/bisq-market/bisq-market.component.ts @@ -16,8 +16,9 @@ export class BisqMarketComponent implements OnInit, OnDestroy { hlocData$: Observable; currency$: Observable; offers$: Observable; + trades$: Observable; radioGroupForm: FormGroup; - defaultInterval = 'half_hour'; + defaultInterval = 'day'; constructor( private websocketService: WebsocketService, @@ -43,6 +44,12 @@ export class BisqMarketComponent implements OnInit, OnDestroy { }) ); + this.trades$ = this.route.paramMap + .pipe( + map(routeParams => routeParams.get('pair')), + switchMap((marketPair) => this.bisqApiService.getMarketTrades$(marketPair)), + ); + this.offers$ = this.route.paramMap .pipe( map(routeParams => routeParams.get('pair')), diff --git a/frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.ts b/frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.ts index 30bfc1e9e..928030a49 100644 --- a/frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.ts +++ b/frontend/src/app/bisq/lightweight-charts/lightweight-charts.component.ts @@ -1,5 +1,5 @@ import { createChart, CrosshairMode } from 'lightweight-charts'; -import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, OnChanges, OnDestroy, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ElementRef, Input, OnChanges, OnDestroy } from '@angular/core'; @Component({ selector: 'app-lightweight-charts', @@ -7,7 +7,7 @@ import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, O styleUrls: ['./lightweight-charts.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class LightweightChartsComponent implements AfterViewInit, OnChanges, OnDestroy { +export class LightweightChartsComponent implements OnChanges, OnDestroy { @Input() data: any; @Input() volumeData: any; @Input() precision: number; @@ -48,29 +48,12 @@ export class LightweightChartsComponent implements AfterViewInit, OnChanges, OnD }, priceScaleId: '', scaleMargins: { - top: 0.8, + top: 0.85, bottom: 0, }, }); } - ngAfterViewInit(): void { - /* - lineSeries.setData([ - { time: '2019-04-11', value: 80.01 }, - { time: '2019-04-12', value: 96.63 }, - { time: '2019-04-13', value: 76.64 }, - { time: '2019-04-14', value: 81.89 }, - { time: '2019-04-15', value: 74.43 }, - { time: '2019-04-16', value: 80.01 }, - { time: '2019-04-17', value: 96.63 }, - { time: '2019-04-18', value: 76.64 }, - { time: '2019-04-19', value: 81.89 }, - { time: '2019-04-20', value: 74.43 }, - ]); - */ - } - ngOnChanges() { if (!this.data) { return; 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 new file mode 100644 index 000000000..a15768b18 --- /dev/null +++ b/frontend/src/app/components/bisq-master-page/bisq-master-page.component.html @@ -0,0 +1,30 @@ +
+ +
+ +
+ + + +
diff --git a/frontend/src/app/components/bisq-master-page/bisq-master-page.component.scss b/frontend/src/app/components/bisq-master-page/bisq-master-page.component.scss new file mode 100644 index 000000000..3c0e31490 --- /dev/null +++ b/frontend/src/app/components/bisq-master-page/bisq-master-page.component.scss @@ -0,0 +1,85 @@ +li.nav-item.active { + background-color: #653b9c; +} + +fa-icon { + font-size: 1.66em; +} + +.navbar { + z-index: 100; +} + +li.nav-item { + padding-left: 10px; + padding-right: 10px; +} + +@media (min-width: 768px) { + .navbar { + padding: 0rem 2rem; + } + fa-icon { + font-size: 1.2em; + } + .dropdown-container { + margin-right: 16px; + } + li.nav-item { + padding: 10px; + } +} + +li.nav-item a { + color: #ffffff; +} + +.navbar-nav { + flex-direction: row; + justify-content: center; +} + +nav { + box-shadow: 0px 0px 15px 0px #000; +} + +.connection-badge { + position: absolute; + top: 13px; + left: 0px; + width: 140px; +} + +.badge { + margin: 0 auto; + display: table; +} + +.mainnet.active { + background-color: #653b9c; +} + +.liquid.active { + background-color: #116761; +} + +.testnet.active { + background-color: #1d486f; +} + +.signet.active { + background-color: #6f1d5d; +} + +.dropdown-divider { + border-top: 1px solid #121420; +} + +.dropdown-toggle::after { + vertical-align: 0.1em; +} + +.dropdown-item { + display: flex; + align-items:center; +} diff --git a/frontend/src/app/components/bisq-master-page/bisq-master-page.component.ts b/frontend/src/app/components/bisq-master-page/bisq-master-page.component.ts new file mode 100644 index 000000000..cd9244ab0 --- /dev/null +++ b/frontend/src/app/components/bisq-master-page/bisq-master-page.component.ts @@ -0,0 +1,29 @@ +import { Component, OnInit } from '@angular/core'; +import { Env, StateService } from '../../services/state.service'; +import { Observable, merge, of } from 'rxjs'; + +@Component({ + selector: 'app-bisq-master-page', + templateUrl: './bisq-master-page.component.html', + styleUrls: ['./bisq-master-page.component.scss'], +}) +export class BisqMasterPageComponent implements OnInit { + env: Env; + connectionState$: Observable; + navCollapsed = false; + isMobile = window.innerWidth <= 767.98; + officialMempoolSpace = this.stateService.env.OFFICIAL_MEMPOOL_SPACE; + + constructor( + private stateService: StateService, + ) { } + + ngOnInit() { + this.env = this.stateService.env; + this.connectionState$ = this.stateService.connectionState$; + } + + collapse(): void { + this.navCollapsed = !this.navCollapsed; + } +} diff --git a/frontend/src/app/services/state.service.ts b/frontend/src/app/services/state.service.ts index 58eb75faf..30b4fd65c 100644 --- a/frontend/src/app/services/state.service.ts +++ b/frontend/src/app/services/state.service.ts @@ -24,6 +24,7 @@ export interface Env { ITEMS_PER_PAGE: number; KEEP_BLOCKS_AMOUNT: number; OFFICIAL_MEMPOOL_SPACE: boolean; + OFFICIAL_BISQ_MARKETS: boolean; NGINX_PROTOCOL?: string; NGINX_HOSTNAME?: string; NGINX_PORT?: string; @@ -33,6 +34,7 @@ const defaultEnv: Env = { 'TESTNET_ENABLED': false, 'SIGNET_ENABLED': false, 'LIQUID_ENABLED': false, + 'OFFICIAL_BISQ_MARKETS': false, 'BISQ_ENABLED': false, 'BISQ_SEPARATE_BACKEND': false, 'ITEMS_PER_PAGE': 10, From 146fcfc16d506f2189750f608bb036dc78ae1e1b Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 14 Mar 2021 02:42:14 +0700 Subject: [PATCH 07/24] Bisq markets: Hide altcoins when not in official bisq markets mode --- .../bisq-dashboard/bisq-dashboard.component.ts | 14 +++++++++++++- .../app/bisq/bisq-market/bisq-market.component.ts | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts index 497382c12..e1770e1bd 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts @@ -1,6 +1,7 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { Observable, combineLatest } from 'rxjs'; -import { map } from 'rxjs/operators'; +import { filter, map } from 'rxjs/operators'; +import { StateService } from 'src/app/services/state.service'; import { WebsocketService } from 'src/app/services/websocket.service'; import { BisqApiService } from '../bisq-api.service'; @@ -12,10 +13,12 @@ import { BisqApiService } from '../bisq-api.service'; }) export class BisqDashboardComponent implements OnInit { tickers$: Observable; + allowCryptoCoins = ['usdc', 'l-btc', 'bsq']; constructor( private websocketService: WebsocketService, private bisqApiService: BisqApiService, + private stateService: StateService, ) { } ngOnInit(): void { @@ -28,8 +31,17 @@ export class BisqDashboardComponent implements OnInit { ]) .pipe( map(([tickers, markets, volumes]) => { + const newTickers = []; for (const t in tickers) { + + if (!this.stateService.env.OFFICIAL_BISQ_MARKETS) { + const pair = t.split('_'); + if (pair[1] === 'btc' && this.allowCryptoCoins.indexOf(pair[0]) === -1) { + continue; + } + } + tickers[t].pair_url = t; tickers[t].pair = t.replace('_', '/').toUpperCase(); tickers[t].market = markets[t]; diff --git a/frontend/src/app/bisq/bisq-market/bisq-market.component.ts b/frontend/src/app/bisq/bisq-market/bisq-market.component.ts index de03e1aad..91205cd27 100644 --- a/frontend/src/app/bisq/bisq-market/bisq-market.component.ts +++ b/frontend/src/app/bisq/bisq-market/bisq-market.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/ import { FormBuilder, FormGroup } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { combineLatest, merge, Observable, of } from 'rxjs'; -import { filter, map, mergeAll, switchMap, tap } from 'rxjs/operators'; +import { map, switchMap } from 'rxjs/operators'; import { WebsocketService } from 'src/app/services/websocket.service'; import { BisqApiService } from '../bisq-api.service'; From 8e29a4cefdd960a1781103c99010e7f2a49f7f53 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 14 Mar 2021 23:24:06 +0700 Subject: [PATCH 08/24] Bisq markets: Titles --- .../app/bisq/bisq-dashboard/bisq-dashboard.component.html | 2 +- .../app/bisq/bisq-dashboard/bisq-dashboard.component.ts | 3 +++ frontend/src/app/bisq/bisq-market/bisq-market.component.ts | 7 ++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html index bfd31677a..efac216f7 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html @@ -1,5 +1,5 @@
-

Active Markets

+

Markets

diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts index e1770e1bd..efc64901d 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts @@ -1,6 +1,7 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { Observable, combineLatest } from 'rxjs'; import { filter, map } from 'rxjs/operators'; +import { SeoService } from 'src/app/services/seo.service'; import { StateService } from 'src/app/services/state.service'; import { WebsocketService } from 'src/app/services/websocket.service'; import { BisqApiService } from '../bisq-api.service'; @@ -19,9 +20,11 @@ export class BisqDashboardComponent implements OnInit { private websocketService: WebsocketService, private bisqApiService: BisqApiService, private stateService: StateService, + private seoService: SeoService, ) { } ngOnInit(): void { + this.seoService.setTitle(`Markets`); this.websocketService.want(['blocks']); this.tickers$ = combineLatest([ diff --git a/frontend/src/app/bisq/bisq-market/bisq-market.component.ts b/frontend/src/app/bisq/bisq-market/bisq-market.component.ts index 91205cd27..a21ac4ae7 100644 --- a/frontend/src/app/bisq/bisq-market/bisq-market.component.ts +++ b/frontend/src/app/bisq/bisq-market/bisq-market.component.ts @@ -3,6 +3,7 @@ import { FormBuilder, FormGroup } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { combineLatest, merge, Observable, of } from 'rxjs'; import { map, switchMap } from 'rxjs/operators'; +import { SeoService } from 'src/app/services/seo.service'; import { WebsocketService } from 'src/app/services/websocket.service'; import { BisqApiService } from '../bisq-api.service'; @@ -25,6 +26,7 @@ export class BisqMarketComponent implements OnInit, OnDestroy { private route: ActivatedRoute, private bisqApiService: BisqApiService, private formBuilder: FormBuilder, + private seoService: SeoService, ) { } ngOnInit(): void { @@ -37,8 +39,11 @@ export class BisqMarketComponent implements OnInit, OnDestroy { switchMap((markets) => combineLatest([of(markets), this.route.paramMap])), map(([markets, routeParams]) => { const pair = routeParams.get('pair'); + const pairUpperCase = pair.replace('_', '/').toUpperCase(); + this.seoService.setTitle(`Bisq market: ${pairUpperCase}`); + return { - pair: pair.replace('_', '/').toUpperCase(), + pair: pairUpperCase, market: markets[pair], }; }) From da77dbece17bb3d39199a99124aed8d347433121 Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 16 Mar 2021 01:17:40 +0700 Subject: [PATCH 09/24] Bisq markets: General trading volume graph. --- frontend/src/app/bisq/bisq-api.service.ts | 6 +- .../bisq-dashboard.component.html | 21 ++- .../bisq-dashboard.component.scss | 4 + .../bisq-dashboard.component.ts | 26 +++ .../bisq-market/bisq-market.component.html | 2 +- frontend/src/app/bisq/bisq.interfaces.ts | 177 ++++++++++++++++++ frontend/src/app/bisq/bisq.module.ts | 2 + .../lightweight-charts-area.component.scss | 25 +++ .../lightweight-charts-area.component.ts | 131 +++++++++++++ 9 files changed, 385 insertions(+), 9 deletions(-) create mode 100644 frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.scss create mode 100644 frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts diff --git a/frontend/src/app/bisq/bisq-api.service.ts b/frontend/src/app/bisq/bisq-api.service.ts index cb0ece96e..b6f6a08b7 100644 --- a/frontend/src/app/bisq/bisq-api.service.ts +++ b/frontend/src/app/bisq/bisq-api.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { HttpClient, HttpResponse, HttpParams } from '@angular/common/http'; import { Observable } from 'rxjs'; -import { BisqTransaction, BisqBlock, BisqStats } from './bisq.interfaces'; +import { BisqTransaction, BisqBlock, BisqStats, MarketVolume } from './bisq.interfaces'; const API_BASE_URL = '/bisq/api'; @@ -71,4 +71,8 @@ export class BisqApiService { getMarketVolumesByTime$(period: string): Observable { return this.httpClient.get(API_BASE_URL + '/markets/volumes/' + period); } + + getAllVolumesDay$(): Observable { + return this.httpClient.get(API_BASE_URL + '/markets/volumes?interval=week'); + } } diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html index efac216f7..38ed7e2c6 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html @@ -1,21 +1,28 @@ -
+
+ +

Trading volume

+ +
+ + + +
+ +
+

Markets

- - - - - - + +
Rank CurrencyPair Price Volume (7d) Trades (7d)
{{ i + 1 }}{{ ticker.market.rtype === 'crypto' ? ticker.market.lname : ticker.market.rname }}{{ ticker.pair }}
{{ ticker.market.rtype === 'crypto' ? ticker.market.lname : ticker.market.rname }} ({{ ticker.market.rtype === 'crypto' ? ticker.market.lsymbol : ticker.market.rsymbol }}) diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.scss b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.scss index e69de29bb..2680f5212 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.scss +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.scss @@ -0,0 +1,4 @@ +#volumeHolder { + height: 500px; + background-color: #000; +} \ No newline at end of file diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts index efc64901d..79d767e85 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts @@ -14,6 +14,8 @@ import { BisqApiService } from '../bisq-api.service'; }) export class BisqDashboardComponent implements OnInit { tickers$: Observable; + volumes$: Observable; + allowCryptoCoins = ['usdc', 'l-btc', 'bsq']; constructor( @@ -27,6 +29,30 @@ export class BisqDashboardComponent implements OnInit { this.seoService.setTitle(`Markets`); this.websocketService.want(['blocks']); + this.volumes$ = this.bisqApiService.getAllVolumesDay$() + .pipe( + map((volumes) => { + const data = volumes.map((volume) => { + return { + time: volume.period_start, + value: volume.volume, + }; + }); + + const linesData = volumes.map((volume) => { + return { + time: volume.period_start, + value: volume.num_trades, + }; + }); + + return { + data: data, + linesData: linesData, + }; + }) + ); + this.tickers$ = combineLatest([ this.bisqApiService.getMarketsTicker$(), this.bisqApiService.getMarkets$(), diff --git a/frontend/src/app/bisq/bisq-market/bisq-market.component.html b/frontend/src/app/bisq/bisq-market/bisq-market.component.html index b1501ee62..753ce21e1 100644 --- a/frontend/src/app/bisq/bisq-market/bisq-market.component.html +++ b/frontend/src/app/bisq/bisq-market/bisq-market.component.html @@ -3,7 +3,7 @@ -

{{ currency.market.lname }} - {{ currency.pair }}

+

{{ currency.market.rtype === 'crypto' ? currency.market.lname : currency.market.rname }} - {{ currency.pair }}

{{ hlocData.hloc[hlocData.hloc.length - 1].close | currency: currency.market.rsymbol }} diff --git a/frontend/src/app/bisq/bisq.interfaces.ts b/frontend/src/app/bisq/bisq.interfaces.ts index 710bada2a..edb2f1d76 100644 --- a/frontend/src/app/bisq/bisq.interfaces.ts +++ b/frontend/src/app/bisq/bisq.interfaces.ts @@ -80,3 +80,180 @@ interface SpentInfo { inputIndex: number; txId: string; } + + +export interface BisqTrade { + direction: string; + price: string; + amount: string; + volume: string; + payment_method: string; + trade_id: string; + trade_date: number; + market?: string; +} + +export interface Currencies { [txid: string]: Currency; } + +export interface Currency { + code: string; + name: string; + precision: number; + + _type: string; +} + +export interface Depth { [market: string]: Market; } + +interface Market { + 'buys': string[]; + 'sells': string[]; +} + +export interface HighLowOpenClose { + period_start: number | string; + open: string; + high: string; + low: string; + close: string; + volume_left: string; + volume_right: string; + avg: string; +} + +export interface Markets { [txid: string]: Pair; } + +interface Pair { + pair: string; + lname: string; + rname: string; + lsymbol: string; + rsymbol: string; + lprecision: number; + rprecision: number; + ltype: string; + rtype: string; + name: string; +} + +export interface Offers { [market: string]: OffersMarket; } + +interface OffersMarket { + buys: Offer[] | null; + sells: Offer[] | null; +} + +export interface OffersData { + direction: string; + currencyCode: string; + minAmount: number; + amount: number; + price: number; + date: number; + useMarketBasedPrice: boolean; + marketPriceMargin: number; + paymentMethod: string; + id: string; + currencyPair: string; + primaryMarketDirection: string; + priceDisplayString: string; + primaryMarketAmountDisplayString: string; + primaryMarketMinAmountDisplayString: string; + primaryMarketVolumeDisplayString: string; + primaryMarketMinVolumeDisplayString: string; + primaryMarketPrice: number; + primaryMarketAmount: number; + primaryMarketMinAmount: number; + primaryMarketVolume: number; + primaryMarketMinVolume: number; +} + +export interface Offer { + offer_id: string; + offer_date: number; + direction: string; + min_amount: string; + amount: string; + price: string; + volume: string; + payment_method: string; + offer_fee_txid: any; +} + +export interface Tickers { [market: string]: Ticker | null; } + +export interface Ticker { + last: string; + high: string; + low: string; + volume_left: string; + volume_right: string; + buy: string | null; + sell: string | null; +} + +export interface Trade { + direction: string; + price: string; + amount: string; + volume: string; + payment_method: string; + trade_id: string; + trade_date: number; +} + +export interface TradesData { + currency: string; + direction: string; + tradePrice: number; + tradeAmount: number; + tradeDate: number; + paymentMethod: string; + offerDate: number; + useMarketBasedPrice: boolean; + marketPriceMargin: number; + offerAmount: number; + offerMinAmount: number; + offerId: string; + depositTxId?: string; + currencyPair: string; + primaryMarketDirection: string; + primaryMarketTradePrice: number; + primaryMarketTradeAmount: number; + primaryMarketTradeVolume: number; + + _market: string; + _tradePriceStr: string; + _tradeAmountStr: string; + _tradeVolumeStr: string; + _offerAmountStr: string; + _tradePrice: number; + _tradeAmount: number; + _tradeVolume: number; + _offerAmount: number; +} + +export interface MarketVolume { + period_start: number; + num_trades: number; + volume: string; +} + +export interface MarketsApiError { + success: number; + error: string; +} + +export type Interval = 'minute' | 'half_hour' | 'hour' | 'half_day' | 'day' | 'week' | 'month' | 'year' | 'auto'; + +export interface SummarizedIntervals { [market: string]: SummarizedInterval; } +export interface SummarizedInterval { + 'period_start': number; + 'open': number; + 'close': number; + 'high': number; + 'low': number; + 'avg': number; + 'volume_right': number; + 'volume_left': number; +} diff --git a/frontend/src/app/bisq/bisq.module.ts b/frontend/src/app/bisq/bisq.module.ts index 6f245c639..355ccefb0 100644 --- a/frontend/src/app/bisq/bisq.module.ts +++ b/frontend/src/app/bisq/bisq.module.ts @@ -4,6 +4,7 @@ import { SharedModule } from '../shared/shared.module'; import { NgxBootstrapMultiselectModule } from 'ngx-bootrap-multiselect'; import { LightweightChartsComponent } from './lightweight-charts/lightweight-charts.component'; +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'; @@ -36,6 +37,7 @@ import { BsqAmountComponent } from './bsq-amount/bsq-amount.component'; BisqStatsComponent, BsqAmountComponent, LightweightChartsComponent, + LightweightChartsAreaComponent, BisqDashboardComponent, BisqMarketComponent, ], diff --git a/frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.scss b/frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.scss new file mode 100644 index 000000000..277c3861f --- /dev/null +++ b/frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.scss @@ -0,0 +1,25 @@ +:host ::ng-deep .floating-tooltip-2 { + width: 160px; + height: 80px; + position: absolute; + display: none; + padding: 8px; + box-sizing: border-box; + font-size: 12px; + color:rgba(255, 255, 255, 1); + background-color: #131722; + text-align: left; + z-index: 1000; + top: 12px; + left: 12px; + pointer-events: none; + border-radius: 2px; +} + +:host ::ng-deep .volumeText { + color: rgba(37, 177, 53, 1); +} + +:host ::ng-deep .tradesText { + color: rgba(33, 150, 243, 1); +} diff --git a/frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts b/frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts new file mode 100644 index 000000000..815cbb448 --- /dev/null +++ b/frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts @@ -0,0 +1,131 @@ +import { createChart, CrosshairMode, isBusinessDay } from 'lightweight-charts'; +import { ChangeDetectionStrategy, Component, ElementRef, Input, OnChanges, OnDestroy } from '@angular/core'; + +@Component({ + selector: 'app-lightweight-charts-area', + template: '', + styleUrls: ['./lightweight-charts-area.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class LightweightChartsAreaComponent implements OnChanges, OnDestroy { + @Input() data: any; + @Input() lineData: any; + @Input() precision: number; + + areaSeries: any; + volumeSeries: any; + chart: any; + lineSeries: any; + container: any; + + width = 1110; + height = 500; + + constructor( + private element: ElementRef, + ) { + + this.container = document.createElement('div'); + const chartholder = this.element.nativeElement.appendChild(this.container); + + this.chart = createChart(chartholder, { + width: this.width, + height: this.height, + crosshair: { + mode: CrosshairMode.Normal, + }, + layout: { + backgroundColor: '#000', + textColor: 'rgba(255, 255, 255, 0.8)', + }, + grid: { + vertLines: { + color: 'rgba(255, 255, 255, 0.1)', + }, + horzLines: { + color: 'rgba(255, 255, 255, 0.1)', + }, + }, + rightPriceScale: { + borderColor: 'rgba(255, 255, 255, 0.2)', + }, + timeScale: { + borderColor: 'rgba(255, 255, 255, 0.2)', + }, + }); + + this.areaSeries = this.chart.addAreaSeries({ + topColor: 'rgba(33, 150, 243, 0.9)', + bottomColor: 'rgba(33, 150, 243, 0.1)', + lineColor: 'rgba(33, 150, 243, 1)', + lineWidth: 2, + }); + + this.lineSeries = this.chart.addLineSeries({ + color: 'rgba(37, 177, 53, 1)', + lineColor: 'rgba(216, 27, 96, 1)', + lineWidth: 2, + }); + + var toolTip = document.createElement('div'); + toolTip.className = 'floating-tooltip-2'; + chartholder.appendChild(toolTip); + + this.chart.subscribeCrosshairMove((param) => { + if (!param.time || param.point.x < 0 || param.point.x > this.width || param.point.y < 0 || param.point.y > this.height) { + toolTip.style.display = 'none'; + return; + } + + var dateStr = isBusinessDay(param.time) + ? this.businessDayToString(param.time) + : new Date(param.time * 1000).toLocaleDateString(); + + toolTip.style.display = 'block'; + var price = param.seriesPrices.get(this.areaSeries); + var line = param.seriesPrices.get(this.lineSeries); + + toolTip.innerHTML = + ` + +
Volume:${Math.round(price * 100) / 100} BTC
# of trades:${Math.round(line * 100) / 100}
+
${dateStr}
`; + + var y = param.point.y; + + var toolTipWidth = 100; + var toolTipHeight = 80; + var toolTipMargin = 15; + + var left = param.point.x + toolTipMargin; + if (left > this.width - toolTipWidth) { + left = param.point.x - toolTipMargin - toolTipWidth; + } + + var top = y + toolTipMargin; + if (top > this.height - toolTipHeight) { + top = y - toolTipHeight - toolTipMargin; + } + + toolTip.style.left = left + 'px'; + toolTip.style.top = top + 'px'; + }); + } + + businessDayToString(businessDay) { + return businessDay.year + '-' + businessDay.month + '-' + businessDay.day; + } + + ngOnChanges() { + if (!this.data) { + return; + } + this.areaSeries.setData(this.data); + this.lineSeries.setData(this.lineData); + } + + ngOnDestroy() { + this.chart.remove(); + } + +} From dc36bfcfe4ddbc1f406d56568b12bb37605b0862 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 21 Mar 2021 02:40:37 +0700 Subject: [PATCH 10/24] Adding Bisq markets logo. --- .../bisq-master-page.component.html | 2 +- .../bisq-master-page.component.ts | 7 ++----- frontend/src/resources/bisq-markets.svg | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 frontend/src/resources/bisq-markets.svg 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 a15768b18..12a1de45f 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 @@ -2,7 +2,7 @@
-
+

+ +

Trade History (Last 100 trades)

+ + + + + + + + + + + + + + + +
DatePriceTrade amount (BTC)Trade amount
+ {{ trade.trade_date | date:'yyyy-MM-dd HH:mm' }} + + {{ trade.price | currency: trade._market.rsymbol }} + {{ trade.price | number: '1.2-' + trade._market.rprecision }} {{ trade._market.rsymbol }} + + {{ trade.volume | currency: trade._market.rsymbol }} + {{ trade.volume | number: '1.2-' + trade._market.rprecision }} {{ trade._market.rsymbol }} + + {{ trade.amount | currency: trade._market.rsymbol }} + {{ trade.amount | number: '1.2-' + trade._market.lprecision }} {{ trade._market.lsymbol }} +
- + diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts index 0f557d2f9..52e1a9393 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts @@ -1,10 +1,11 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { Observable, combineLatest } from 'rxjs'; -import { map } from 'rxjs/operators'; +import { map, share } from 'rxjs/operators'; import { SeoService } from 'src/app/services/seo.service'; import { StateService } from 'src/app/services/state.service'; import { WebsocketService } from 'src/app/services/websocket.service'; import { BisqApiService } from '../bisq-api.service'; +import { Trade } from '../bisq.interfaces'; @Component({ selector: 'app-bisq-dashboard', @@ -15,6 +16,7 @@ import { BisqApiService } from '../bisq-api.service'; export class BisqDashboardComponent implements OnInit { tickers$: Observable; volumes$: Observable; + trades$: Observable; allowCryptoCoins = ['usdc', 'l-btc', 'bsq']; @@ -53,9 +55,11 @@ export class BisqDashboardComponent implements OnInit { }) ); + const getMarkets = this.bisqApiService.getMarkets$().pipe(share()); + this.tickers$ = combineLatest([ this.bisqApiService.getMarketsTicker$(), - this.bisqApiService.getMarkets$(), + getMarkets, this.bisqApiService.getMarketVolumesByTime$('7d'), ]) .pipe( @@ -71,11 +75,13 @@ export class BisqDashboardComponent implements OnInit { } } - tickers[t].pair_url = t; - tickers[t].pair = t.replace('_', '/').toUpperCase(); - tickers[t].market = markets[t]; - tickers[t].volume = volumes[t]; - newTickers.push(tickers[t]); + const mappedTicker: any = tickers[t]; + + mappedTicker.pair_url = t; + mappedTicker.pair = t.replace('_', '/').toUpperCase(); + mappedTicker.market = markets[t]; + mappedTicker.volume = volumes[t]; + newTickers.push(mappedTicker); } newTickers.sort((a, b) => (b.volume && b.volume.num_trades || 0) - (a.volume && a.volume.num_trades || 0)); @@ -83,6 +89,18 @@ export class BisqDashboardComponent implements OnInit { return newTickers; }) ); + + this.trades$ = combineLatest([ + this.bisqApiService.getMarketTrades$('all'), + getMarkets, + ]) + .pipe( + map(([trades, markets]) => { + return trades.map((trade => { + trade._market = markets[trade.market]; + return trade; + })); + })); } trackByFn(index: number) { diff --git a/frontend/src/app/bisq/bisq-market/bisq-market.component.ts b/frontend/src/app/bisq/bisq-market/bisq-market.component.ts index 076208a00..cd4400bab 100644 --- a/frontend/src/app/bisq/bisq-market/bisq-market.component.ts +++ b/frontend/src/app/bisq/bisq-market/bisq-market.component.ts @@ -6,6 +6,7 @@ import { map, switchMap } from 'rxjs/operators'; import { SeoService } from 'src/app/services/seo.service'; import { WebsocketService } from 'src/app/services/websocket.service'; import { BisqApiService } from '../bisq-api.service'; +import { OffersMarket, Trade } from '../bisq.interfaces'; @Component({ selector: 'app-bisq-market', @@ -16,8 +17,8 @@ import { BisqApiService } from '../bisq-api.service'; export class BisqMarketComponent implements OnInit, OnDestroy { hlocData$: Observable; currency$: Observable; - offers$: Observable; - trades$: Observable; + offers$: Observable; + trades$: Observable; radioGroupForm: FormGroup; defaultInterval = 'day'; diff --git a/frontend/src/app/bisq/bisq.interfaces.ts b/frontend/src/app/bisq/bisq.interfaces.ts index edb2f1d76..c8388c20f 100644 --- a/frontend/src/app/bisq/bisq.interfaces.ts +++ b/frontend/src/app/bisq/bisq.interfaces.ts @@ -138,7 +138,7 @@ interface Pair { export interface Offers { [market: string]: OffersMarket; } -interface OffersMarket { +export interface OffersMarket { buys: Offer[] | null; sells: Offer[] | null; } @@ -193,13 +193,14 @@ export interface Ticker { } export interface Trade { - direction: string; + market?: string; price: string; amount: string; volume: string; payment_method: string; trade_id: string; trade_date: number; + _market: Pair; } export interface TradesData { From 04ec5e956411d9e9eb2903b03093aab1ddb03502 Mon Sep 17 00:00:00 2001 From: softsimon Date: Fri, 23 Apr 2021 15:09:51 +0400 Subject: [PATCH 16/24] Sort table by number of trades as default sort option, make other columns sortable --- frontend/src/app/app.module.ts | 3 +- .../bisq-dashboard.component.html | 8 ++--- .../bisq-dashboard.component.ts | 35 +++++++++++++------ 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index f7d758a3f..3afa8a32c 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -45,7 +45,7 @@ import { FeesBoxComponent } from './components/fees-box/fees-box.component'; import { DashboardComponent } from './dashboard/dashboard.component'; import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome'; import { faAngleDown, faAngleUp, faBolt, faChartArea, faCogs, faCubes, faDatabase, faExchangeAlt, faInfoCircle, - faLink, faList, faSearch, faTachometerAlt, faThList, faTint, faTv, faAngleDoubleDown, faAngleDoubleUp } from '@fortawesome/free-solid-svg-icons'; + faLink, faList, faSearch, faTachometerAlt, faThList, faTint, faTv, faAngleDoubleDown, faAngleDoubleUp, faSort, faChevronDown } from '@fortawesome/free-solid-svg-icons'; import { ApiDocsComponent } from './components/api-docs/api-docs.component'; import { TermsOfServiceComponent } from './components/terms-of-service/terms-of-service.component'; import { StorageService } from './services/storage.service'; @@ -129,5 +129,6 @@ export class AppModule { library.addIcons(faExchangeAlt); library.addIcons(faAngleDoubleUp); library.addIcons(faAngleDoubleDown); + library.addIcons(faChevronDown); } } diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html index 25381ef08..f41a9ddd7 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html @@ -20,14 +20,14 @@ - + - - + + - + + + + diff --git a/frontend/src/app/bisq/bisq-trades/bisq-trades.component.scss b/frontend/src/app/bisq/bisq-trades/bisq-trades.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/frontend/src/app/bisq/bisq-trades/bisq-trades.component.ts b/frontend/src/app/bisq/bisq-trades/bisq-trades.component.ts new file mode 100644 index 000000000..ac9f7c5f8 --- /dev/null +++ b/frontend/src/app/bisq/bisq-trades/bisq-trades.component.ts @@ -0,0 +1,13 @@ +import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; +import { Observable } from 'rxjs'; + +@Component({ + selector: 'app-bisq-trades', + templateUrl: './bisq-trades.component.html', + styleUrls: ['./bisq-trades.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class BisqTradesComponent { + @Input() trades$: Observable; + @Input() market: any; +} diff --git a/frontend/src/app/bisq/bisq.module.ts b/frontend/src/app/bisq/bisq.module.ts index 355ccefb0..1ad40c850 100644 --- a/frontend/src/app/bisq/bisq.module.ts +++ b/frontend/src/app/bisq/bisq.module.ts @@ -22,6 +22,7 @@ import { BisqApiService } from './bisq-api.service'; import { BisqAddressComponent } from './bisq-address/bisq-address.component'; import { BisqStatsComponent } from './bisq-stats/bisq-stats.component'; import { BsqAmountComponent } from './bsq-amount/bsq-amount.component'; +import { BisqTradesComponent } from './bisq-trades/bisq-trades.component'; @NgModule({ declarations: [ @@ -40,6 +41,7 @@ import { BsqAmountComponent } from './bsq-amount/bsq-amount.component'; LightweightChartsAreaComponent, BisqDashboardComponent, BisqMarketComponent, + BisqTradesComponent, ], imports: [ BisqRoutingModule, From 56518b96558f4db35670feaee831a792ca0ff811 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 25 Apr 2021 19:40:43 +0400 Subject: [PATCH 22/24] Updated titles --- .../bisq/bisq-dashboard/bisq-dashboard.component.html | 9 ++++++--- .../app/bisq/bisq-dashboard/bisq-dashboard.component.ts | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html index c941473c0..55eb5fe43 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html @@ -1,6 +1,6 @@
-

Trading volume

+

Bisq trading volume

@@ -13,9 +13,12 @@
-
+

-

Markets

+

+ Markets + Bitcoin markets +

CurrencyCurrency PriceVolume (7d)Trades (7d)Volume (7d) Trades (7d)
{{ ticker.market.rtype === 'crypto' ? ticker.market.lname : ticker.market.rname }} ({{ ticker.market.rtype === 'crypto' ? ticker.market.lsymbol : ticker.market.rsymbol }}){{ ticker.name }}) diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts index 52e1a9393..bbecbd246 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; -import { Observable, combineLatest } from 'rxjs'; -import { map, share } from 'rxjs/operators'; +import { Observable, combineLatest, BehaviorSubject, of } from 'rxjs'; +import { map, share, switchMap } from 'rxjs/operators'; import { SeoService } from 'src/app/services/seo.service'; import { StateService } from 'src/app/services/state.service'; import { WebsocketService } from 'src/app/services/websocket.service'; @@ -17,6 +17,7 @@ export class BisqDashboardComponent implements OnInit { tickers$: Observable; volumes$: Observable; trades$: Observable; + sort$ = new BehaviorSubject('trades'); allowCryptoCoins = ['usdc', 'l-btc', 'bsq']; @@ -81,12 +82,21 @@ export class BisqDashboardComponent implements OnInit { mappedTicker.pair = t.replace('_', '/').toUpperCase(); mappedTicker.market = markets[t]; mappedTicker.volume = volumes[t]; + mappedTicker.name = `${mappedTicker.market.rtype === 'crypto' ? mappedTicker.market.lname : mappedTicker.market.rname} (${mappedTicker.market.rtype === 'crypto' ? mappedTicker.market.lsymbol : mappedTicker.market.rsymbol}`; newTickers.push(mappedTicker); } - - newTickers.sort((a, b) => (b.volume && b.volume.num_trades || 0) - (a.volume && a.volume.num_trades || 0)); - return newTickers; + }), + switchMap((tickers) => combineLatest([this.sort$, of(tickers)])), + map(([sort, tickers]) => { + if (sort === 'trades') { + tickers.sort((a, b) => (b.volume && b.volume.num_trades || 0) - (a.volume && a.volume.num_trades || 0)); + } else if (sort === 'volumes') { + tickers.sort((a, b) => (b.volume && b.volume.volume || 0) - (a.volume && a.volume.volume || 0)); + } else if (sort === 'name') { + tickers.sort((a, b) => a.name.localeCompare(b.name)); + } + return tickers; }) ); @@ -96,15 +106,20 @@ export class BisqDashboardComponent implements OnInit { ]) .pipe( map(([trades, markets]) => { - return trades.map((trade => { - trade._market = markets[trade.market]; - return trade; - })); - })); + return trades.map((trade => { + trade._market = markets[trade.market]; + return trade; + })); + }) + ); } trackByFn(index: number) { return index; } + sort(by: string) { + this.sort$.next(by); + } + } From 165aa6eee28311b71ccc4f27b193aa54709cefa7 Mon Sep 17 00:00:00 2001 From: softsimon Date: Fri, 23 Apr 2021 15:44:01 +0400 Subject: [PATCH 17/24] Don't hide API docs on mobile. --- .../bisq-master-page/bisq-master-page.component.html | 4 ++-- .../components/bisq-master-page/bisq-master-page.component.ts | 1 - 2 files changed, 2 insertions(+), 3 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 12a1de45f..8ac6bf4be 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 @@ -11,11 +11,11 @@ diff --git a/frontend/src/app/bisq/bisq-market/bisq-market.component.html b/frontend/src/app/bisq/bisq-market/bisq-market.component.html index 3c6e6a1a4..5420694c1 100644 --- a/frontend/src/app/bisq/bisq-market/bisq-market.component.html +++ b/frontend/src/app/bisq/bisq-market/bisq-market.component.html @@ -60,33 +60,7 @@

Latest trades

- - - - - - - - - - - - - - - -
DatePrice ({{ currency.market.rsymbol }})Trade amount ({{ currency.market.rsymbol }})Trade amount ({{ currency.market.lsymbol }})
- {{ trade.trade_date | date:'yyyy-MM-dd HH:mm' }} - - {{ trade.price | currency: currency.market.rsymbol }} - {{ trade.price | number: '1.2-' + currency.market.rprecision }} {{ currency.market.rsymbol }} - - {{ trade.volume | currency: currency.market.rsymbol }} - {{ trade.volume | number: '1.2-' + currency.market.rprecision }} {{ currency.market.rsymbol }} - - {{ trade.amount | currency: currency.market.rsymbol }} - {{ trade.amount | number: '1.2-' + currency.market.lprecision }} {{ currency.market.lsymbol }} -
+
diff --git a/frontend/src/app/bisq/bisq-trades/bisq-trades.component.html b/frontend/src/app/bisq/bisq-trades/bisq-trades.component.html new file mode 100644 index 000000000..5758ba7fc --- /dev/null +++ b/frontend/src/app/bisq/bisq-trades/bisq-trades.component.html @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + +
DatePriceAmount (BTC)Amount ({{ market.lsymbol === 'BTC' ? market.rsymbol : market.lsymbol }})
+ {{ trade.trade_date | date:'yyyy-MM-dd HH:mm' }} + + {{ trade.price | currency: (trade._market || market).rsymbol }} + {{ trade.price | number: '1.2-' + (trade._market || market).rprecision }} {{ (trade._market || market).rsymbol }} + + {{ trade.amount | currency: (trade._market || market).rsymbol }} + {{ trade.amount | number: '1.2-' + (trade._market || market).lprecision }} {{ (trade._market || market).lsymbol }} + + {{ trade.volume | currency: (trade._market || market).rsymbol }} + {{ trade.volume | number: '1.2-' + (trade._market || market).rprecision }} {{ (trade._market || market).rsymbol }} +
+ + +
diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts index cb640960c..defac305c 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.ts @@ -24,7 +24,7 @@ export class BisqDashboardComponent implements OnInit { constructor( private websocketService: WebsocketService, private bisqApiService: BisqApiService, - private stateService: StateService, + public stateService: StateService, private seoService: SeoService, ) { } From 001bddd529a6cb78e7b86b26f0b48ad67e0e4e64 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 25 Apr 2021 22:52:11 +0400 Subject: [PATCH 23/24] Bisq Markets i18n --- .../bisq-dashboard.component.html | 16 +- .../bisq-market/bisq-market.component.html | 14 +- .../bisq-trades/bisq-trades.component.html | 13 +- .../lightweight-charts-area.component.ts | 7 +- frontend/src/locale/messages.xlf | 4970 +++++++++-------- 5 files changed, 2700 insertions(+), 2320 deletions(-) diff --git a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html index 55eb5fe43..3cd09744c 100644 --- a/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html +++ b/frontend/src/app/bisq/bisq-dashboard/bisq-dashboard.component.html @@ -1,6 +1,6 @@
-

Bisq trading volume

+

Bisq trading volume

@@ -16,17 +16,17 @@

- Markets - Bitcoin markets + Markets + Bitcoin markets

- - - - + + + + @@ -47,7 +47,7 @@

-

Latest trades

+

Latest trades

diff --git a/frontend/src/app/bisq/bisq-market/bisq-market.component.html b/frontend/src/app/bisq/bisq-market/bisq-market.component.html index 5420694c1..e1c5b53ac 100644 --- a/frontend/src/app/bisq/bisq-market/bisq-market.component.html +++ b/frontend/src/app/bisq/bisq-market/bisq-market.component.html @@ -58,7 +58,7 @@

-

Latest trades

+

Latest trades

@@ -72,15 +72,15 @@

- Buy Offers - Sell Offers + Buy offers + Sell offers

Currency PriceVolume (7d) Trades (7d) Currency PriceVolume (7d) Trades (7d)
- - - + + + @@ -109,3 +109,5 @@
+ +Amount ({{ i }}) diff --git a/frontend/src/app/bisq/bisq-trades/bisq-trades.component.html b/frontend/src/app/bisq/bisq-trades/bisq-trades.component.html index 5758ba7fc..bf783ffa2 100644 --- a/frontend/src/app/bisq/bisq-trades/bisq-trades.component.html +++ b/frontend/src/app/bisq/bisq-trades/bisq-trades.component.html @@ -1,9 +1,12 @@
PriceAmount ({{ market.lsymbol }})Amount ({{ market.rsymbol }})Price
- - - - + + + + @@ -37,3 +40,5 @@ + +Amount ({{ i }}) diff --git a/frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts b/frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts index 14f39feee..9c0cf3242 100644 --- a/frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts +++ b/frontend/src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts @@ -84,9 +84,12 @@ export class LightweightChartsAreaComponent implements OnChanges, OnDestroy { const price = param.seriesPrices.get(this.areaSeries); const line = param.seriesPrices.get(this.lineSeries); + const tradesText = $localize`:@@bisq-graph-trades:Trades`; + const volumeText = $localize`:@@bisq-graph-volume:Volume`; + toolTip.innerHTML = `
DatePriceAmount (BTC)Amount ({{ market.lsymbol === 'BTC' ? market.rsymbol : market.lsymbol }})DatePrice + + Amount +
- - + +
# of trades:${Math.round(line * 100) / 100}
Volume:${Math.round(price * 100) / 100} BTC
${tradesText}:${Math.round(line * 100) / 100}
${volumeText}:${Math.round(price * 100) / 100} BTC
${dateStr}
`; diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index e2a4e921c..90fa83b2d 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -2,180 +2,479 @@ - - Transaction: + + Close - src/app/components/transaction/transaction.component.ts - 51 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.ts - 46 + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/alert/alert.ts + 74 - - Transaction + + Previous - src/app/components/transaction/transaction.component.html - 12 + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/carousel/carousel.ts + 349 + + + + Next + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/carousel/carousel.ts + 349 + + + + Previous month + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-month.ts + 62,64 - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 3 + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation.ts + 69 + + + + Next month + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-month.ts + 72 - src/app/bisq/bisq-transactions/bisq-transactions.component.html + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-month.ts + 72 + + + + Select month + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts + 74 + + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts + 74 + + + + Select year + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts + 74 + + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts + 74 + + + + ยซยซ + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + ยซ + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + ยป + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + ยปยป + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + First + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + Previous + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + Next + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + Last + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/progressbar/progressbar.ts + 101 + + + + HH + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Hours + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + MM + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Minutes + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Increment hours + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Decrement hours + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Increment minutes + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Decrement minutes + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + SS + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Seconds + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Increment seconds + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Decrement seconds + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Close + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/toast/toast.ts + 137 + + + + Registered assets + + src/app/assets/assets.component.html + 2,7 + + 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 + 46,48 + + Asset name header + + + Ticker + + src/app/assets/assets.component.html + 20,21 + + + src/app/assets/assets.component.html + 47,49 + + Asset ticker header + + + Issuer domain + + src/app/assets/assets.component.html + 21,23 + + + src/app/assets/assets.component.html + 48,50 + + Asset Issuer Domain header + + + Asset ID + + src/app/assets/assets.component.html + 22,23 + + + src/app/assets/assets.component.html + 49,51 + + Asset ID header + + + Issuance TX + + src/app/assets/assets.component.html + 23,26 + + + src/app/assets/assets.component.html + 50,54 + + Asset issuance transaction header + + + Error loading assets data. + + src/app/assets/assets.component.html + 67,72 + + Asset data load error + + + Assets + + src/app/assets/assets.component.ts + 40 + + + src/app/components/master-page/master-page.component.html + 56,58 + + + + Address + + src/app/bisq/bisq-address/bisq-address.component.html + 2 + + + src/app/components/address/address.component.html + 2,3 + + shared.address + + + Total received + + src/app/bisq/bisq-address/bisq-address.component.html + 20 + + + src/app/components/address/address.component.html + 21,22 + + address.total-received + + + Total sent + + src/app/bisq/bisq-address/bisq-address.component.html + 24 + + + src/app/bisq/bisq-blocks/bisq-blocks.component.html + 14,15 + + + src/app/components/address/address.component.html + 25,26 + + address.total-sent + + + Balance + + src/app/bisq/bisq-address/bisq-address.component.html + 28 + + + src/app/components/address/address.component.html + 30,31 + + address.balance + + + transaction + + src/app/bisq/bisq-address/bisq-address.component.html + 48 + + + src/app/bisq/bisq-block/bisq-block.component.html + 49 + + + src/app/components/block/block.component.html + 87,88 + + + src/app/components/blockchain-blocks/blockchain-blocks.component.html 18 - shared.transaction - - - This transaction has been replaced by: - src/app/components/transaction/transaction.component.html - 5 + src/app/components/mempool-blocks/mempool-blocks.component.html + 16,17 - RBF replacement - transaction.rbf.replacement + shared.transaction-count.singular - - confirmation + + transactions - src/app/components/transaction/transaction.component.html + src/app/bisq/bisq-address/bisq-address.component.html + 49 + + + src/app/bisq/bisq-block/bisq-block.component.html + 50 + + + src/app/components/block/block.component.html + 88,89 + + + src/app/components/blockchain-blocks/blockchain-blocks.component.html + 19 + + + src/app/components/mempool-blocks/mempool-blocks.component.html + 17,18 + + shared.transaction-count.plural + + + Address: + + src/app/bisq/bisq-address/bisq-address.component.ts + 43 + + + + Block + + src/app/bisq/bisq-block/bisq-block.component.html + 4 + + + src/app/components/block/block.component.html + 4 + + block.block + + + Hash + + src/app/bisq/bisq-block/bisq-block.component.html 17 - src/app/components/transactions-list/transactions-list.component.html - 208 + src/app/bisq/bisq-block/bisq-block.component.html + 80 - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 69 + src/app/components/block/block.component.html + 18,19 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 9 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - - src/app/components/transaction/transaction.component.html - 18 - - - src/app/components/transactions-list/transactions-list.component.html - 209 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 70 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 10 - - Transaction plural confirmation count - shared.confirmation-count.plural - - - Unconfirmed - - src/app/components/transaction/transaction.component.html - 22 - - - src/app/components/transactions-list/transactions-list.component.html - 212 - - Transaction unconfirmed state - transaction.unconfirmed - - - Inputs & Outputs - - src/app/components/transaction/transaction.component.html - 193 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 88 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 148 - - Transaction inputs and outputs - transaction.inputs-and-outputs - - - Details - - src/app/components/transaction/transaction.component.html - 195 - - Transaction Details - transaction.details - - - Details - - src/app/components/transaction/transaction.component.html - 201 - - - src/app/components/transaction/transaction.component.html - 277 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 81 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 127 - - transaction.details - - - Size - - src/app/components/transaction/transaction.component.html - 206 - - Transaction Size - transaction.size - - - Virtual size - - src/app/components/transaction/transaction.component.html - 210 - - - src/app/components/transaction/transaction.component.html - 150 - - Transaction Virtual Size - transaction.vsize - - - Weight - - src/app/components/transaction/transaction.component.html - 214 - - Transaction Weight - transaction.weight + block.hash Timestamp - - src/app/components/transaction/transaction.component.html - 46 - src/app/bisq/bisq-block/bisq-block.component.html 21 @@ -186,44 +485,484 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 27 + 27,30 + + + src/app/components/transaction/transaction.component.html + 46 Transaction Timestamp transaction.timestamp + + Previous hash + + src/app/bisq/bisq-block/bisq-block.component.html + 35 + + + src/app/bisq/bisq-block/bisq-block.component.html + 93 + + Transaction Previous Hash + block.previous_hash + + + Block : + + src/app/bisq/bisq-block/bisq-block.component.ts + 89 + + + + Blocks + + src/app/bisq/bisq-blocks/bisq-blocks.component.html + 2,7 + + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 38 + + + src/app/components/latest-blocks/latest-blocks.component.html + 2,7 + + + src/app/components/master-page/master-page.component.html + 38,40 + + + src/app/components/master-page/master-page.component.html + 46,48 + + Bisq blocks header + + + Height + + src/app/bisq/bisq-blocks/bisq-blocks.component.html + 12,13 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 22,24 + + + src/app/components/latest-blocks/latest-blocks.component.html + 9,10 + + + src/app/dashboard/dashboard.component.html + 78,80 + + Bisq block height header + + + Confirmed + + src/app/bisq/bisq-blocks/bisq-blocks.component.html + 13,14 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 21,23 + + Bisq block confirmed time header + + + Transactions + + src/app/bisq/bisq-blocks/bisq-blocks.component.html + 15,18 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 2,5 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 80 + + + src/app/components/latest-blocks/latest-blocks.component.html + 12,15 + + + src/app/components/master-page/master-page.component.html + 35,38 + + + src/app/components/mempool-block/mempool-block.component.html + 28,32 + + Bisq block transactions title + + + Bisq trading volume + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 3,7 + + Bisq markets title + + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 19,20 + + Bisq markets all + + + Bitcoin markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 20,22 + + Bisq Bitcoin markets + + + Currency + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 26 + + + + Price + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 27,28 + + + src/app/bisq/bisq-market/bisq-market.component.html + 81,82 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 36 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 78 + + + src/app/bisq/bisq-trades/bisq-trades.component.html + 4,5 + + + + Volume (7d) + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 28 + + Trading volume 7D + + + Trades (7d) + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 29 + + Trades amount 7D + + + Latest trades + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 50,54 + + + src/app/bisq/bisq-market/bisq-market.component.html + 61,63 + + Latest trades header + + + Buy offers + + src/app/bisq/bisq-market/bisq-market.component.html + 75,76 + + Bisq buy offers + + + Sell offers + + src/app/bisq/bisq-market/bisq-market.component.html + 76,79 + + Bisq sell offers + + + Amount () + + src/app/bisq/bisq-market/bisq-market.component.html + 113,114 + + + src/app/bisq/bisq-trades/bisq-trades.component.html + 44,45 + + Trade amount (Symbol) + + + BSQ statistics + + src/app/bisq/bisq-stats/bisq-stats.component.html + 2 + + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 28 + + BSQ statistics header + + + Existing amount + + src/app/bisq/bisq-stats/bisq-stats.component.html + 12 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 54 + + BSQ existing amount + + + Minted amount + + src/app/bisq/bisq-stats/bisq-stats.component.html + 16 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 58 + + BSQ minted amount + + + Burnt amount + + src/app/bisq/bisq-stats/bisq-stats.component.html + 20 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 62 + + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 57,59 + + + src/app/bisq/bisq-transfers/bisq-transfers.component.html + 62 + + BSQ burnt amount + + + Addresses + + src/app/bisq/bisq-stats/bisq-stats.component.html + 24 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 66 + + BSQ addresses + + + Unspent TXOs + + src/app/bisq/bisq-stats/bisq-stats.component.html + 28 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 70 + + BSQ unspent transaction outputs + + + Spent TXOs + + src/app/bisq/bisq-stats/bisq-stats.component.html + 32 + + BSQ spent transaction outputs + + + Market cap + + src/app/bisq/bisq-stats/bisq-stats.component.html + 40 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 82 + + BSQ token market cap + + + Date + + src/app/bisq/bisq-trades/bisq-trades.component.html + 3,5 + + + + Amount + + src/app/bisq/bisq-trades/bisq-trades.component.html + 8,11 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 20,22 + + + src/app/dashboard/dashboard.component.html + 108,109 + + + + Inputs + + src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html + 7 + + transaction.inputs + + + Outputs + + src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html + 11 + + transaction.outputs + + + Issued amount + + src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html + 15 + + + src/app/components/asset/asset.component.html + 51 + + Liquid Asset issued amount + asset.issued-amount + + + Type + + src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html + 25 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 19,21 + + + src/app/components/transaction/transaction.component.html + 148 + + + src/app/components/transactions-list/transactions-list.component.html + 169,170 + + + + Version + + src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html + 29 + + transaction.version + + + Transaction + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 3,7 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 18,19 + + + src/app/components/transaction/transaction.component.html + 12 + + shared.transaction + + + confirmation + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 9,10 + + + src/app/bisq/bisq-transfers/bisq-transfers.component.html + 69,70 + + + src/app/components/transaction/transaction.component.html + 17 + + + src/app/components/transactions-list/transactions-list.component.html + 208,209 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 10,11 + + + src/app/bisq/bisq-transfers/bisq-transfers.component.html + 70,71 + + + src/app/components/transaction/transaction.component.html + 18 + + + src/app/components/transactions-list/transactions-list.component.html + 209,210 + + Transaction plural confirmation count + shared.confirmation-count.plural + Included in block + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 36,38 + src/app/components/transaction/transaction.component.html 55 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 36 - Transaction included in block transaction.included-in-block - - Confirmed - - src/app/components/transaction/transaction.component.html - 62 - - Transaction Confirmed state - transaction.confirmed - - - After - - src/app/components/transaction/transaction.component.html - 63 - - Transaction confirmed after - transaction.confirmed.after - Features + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 42,44 + src/app/components/transaction/transaction.component.html 67 @@ -232,832 +971,263 @@ src/app/components/transaction/transaction.component.html 125 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 42 - Transaction features transaction.features - - ETA + + Fee per vByte - src/app/components/transaction/transaction.component.html - 104 - - Transaction ETA - transaction.eta - - - First seen - - src/app/components/transaction/transaction.component.html - 98 - - Transaction first seen - transaction.first-seen - - - In several hours (or more) - - src/app/components/transaction/transaction.component.html - 111 - - Transaction ETA in several hours or more - transaction.eta.in-several-hours - - - Type - - src/app/components/transaction/transaction.component.html - 148 - - - src/app/components/transactions-list/transactions-list.component.html - 169 - - - src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html - 25 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19 - - transactions-list.vout.scriptpubkey-type - - - TXID - - src/app/components/transaction/transaction.component.html - 149 - - - src/app/dashboard/dashboard.component.html - 107 - - dashboard.latest-transactions.txid - - - Fee rate - - src/app/components/transaction/transaction.component.html - 151 - - - src/app/components/transaction/transaction.component.html - 333 - - Transaction fee rate - transaction.fee-rate - - - Descendant - - src/app/components/transaction/transaction.component.html - 158 - - Descendant - transaction.descendant - - - sat/vB - - src/app/components/transaction/transaction.component.html - 166 - - - src/app/components/transaction/transaction.component.html - 179 - - - src/app/components/transaction/transaction.component.html - 335 - - - src/app/components/transaction/transaction.component.html - 345 - - - src/app/components/transactions-list/transactions-list.component.html - 201 - - - src/app/components/block/block.component.html - 46 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 8 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 11 - - - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 10 - - - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 13 - - - src/app/components/mempool-block/mempool-block.component.html - 17 - - - src/app/components/mempool-block/mempool-block.component.html - 21 - - - src/app/components/fees-box/fees-box.component.html - 6 - - - src/app/components/fees-box/fees-box.component.html - 12 - - - src/app/components/fees-box/fees-box.component.html - 18 - - - src/app/dashboard/dashboard.component.html - 117 - - - src/app/dashboard/dashboard.component.html - 169 - - sat/vB - shared.sat-vbyte - - - Ancestor - - src/app/components/transaction/transaction.component.html - 172 - - Transaction Ancestor - transaction.ancestor - - - Transaction not found. - - src/app/components/transaction/transaction.component.html - 302 - - transaction.error.transaction-not-found - - - Waiting for it to appear in the mempool... - - src/app/components/transaction/transaction.component.html - 303 - - transaction.error.waiting-for-it-to-appear - - - In ~ minutes - - src/app/components/transaction/transaction.component.html - 318 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 41 - - Block Frequency (plural) - mempool-blocks.eta-of-next-block-plural - - - In ~ minute - - src/app/components/transaction/transaction.component.html - 320 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 43 - - Block Frequency - mempool-blocks.eta-of-next-block - - - block - - src/app/components/transaction/transaction.component.html - 322 - - - src/app/components/footer/footer.component.html - 22 - - shared.block - - - blocks - - src/app/components/transaction/transaction.component.html - 323 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 30 - - - src/app/components/footer/footer.component.html - 23 - - shared.blocks - - - Fee - - src/app/components/transaction/transaction.component.html - 329 + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 62,64 Transaction fee - transaction.fee + transaction.fee-per-vbyte - - sat + + Details + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 81,84 + + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 127,129 + src/app/components/transaction/transaction.component.html - 330 + 198 - Transaction Fee sat - transaction.fee.sat - - - Effective fee rate src/app/components/transaction/transaction.component.html - 343 + 274 - Effective transaction fee rate - transaction.effective-fee-rate + transaction.details - - Coinbase + + Inputs & Outputs - src/app/components/transactions-list/transactions-list.component.html - 39 + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 88,96 - transactions-list.coinbase + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 148,153 + + + src/app/components/transaction/transaction.component.html + 190 + + Transaction inputs and outputs + transaction.inputs-and-outputs - - (Newly Generated Coins) + + Transaction: - src/app/components/transactions-list/transactions-list.component.html - 39 - - transactions-list.newly-generated-coins - - - Peg-in - - src/app/components/transactions-list/transactions-list.component.html - 41 - - transactions-list.peg-in - - - nSequence - - src/app/components/transactions-list/transactions-list.component.html - 95 - - transactions-list.nsequence - - - ScriptSig (ASM) - - src/app/components/transactions-list/transactions-list.component.html - 74 - - ScriptSig (ASM) - transactions-list.scriptsig.asm - - - ScriptSig (HEX) - - src/app/components/transactions-list/transactions-list.component.html - 78 - - ScriptSig (HEX) - transactions-list.scriptsig.hex - - - Witness - - src/app/components/transactions-list/transactions-list.component.html - 83 - - transactions-list.witness - - - P2SH redeem script - - src/app/components/transactions-list/transactions-list.component.html - 87 - - transactions-list.p2sh-redeem-script - - - P2WSH witness script - - src/app/components/transactions-list/transactions-list.component.html - 91 - - transactions-list.p2wsh-witness-script - - - Previous output script - - src/app/components/transactions-list/transactions-list.component.html - 99 - - transactions-list.previous-output-script - - - Load all - - src/app/components/transactions-list/transactions-list.component.html - 109 - - - src/app/components/transactions-list/transactions-list.component.html - 191 - - transactions-list.load-all - - - Peg-out to - - src/app/components/transactions-list/transactions-list.component.html - 128 - - transactions-list.peg-out-to - - - ScriptPubKey (ASM) - - src/app/components/transactions-list/transactions-list.component.html - 173 - - ScriptPubKey (ASM) - transactions-list.scriptpubkey.asm - - - ScriptPubKey (HEX) - - src/app/components/transactions-list/transactions-list.component.html - 177 - - ScriptPubKey (HEX) - transactions-list.scriptpubkey.hex - - - data - - src/app/components/transactions-list/transactions-list.component.html - 181 - - transactions-list.vout.scriptpubkey-type.data - - - sat - - src/app/components/transactions-list/transactions-list.component.html - 201 - - sat - shared.sat - - - Confidential - - src/app/components/transactions-list/transactions-list.component.html - 217 - - - src/app/components/amount/amount.component.html - 6 - - - src/app/components/address/address.component.html - 134 - - - src/app/components/asset/asset.component.html - 143 - - shared.confidential - - - Block : - - src/app/components/block/block.component.ts - 105 - - - - Genesis - - src/app/components/block/block.component.html - 4 - - block.genesis - - - Block - - src/app/components/block/block.component.html - 4 - - - src/app/bisq/bisq-block/bisq-block.component.html - 4 - - block.block - - - Hash - - src/app/components/block/block.component.html - 18 - - - src/app/bisq/bisq-block/bisq-block.component.html - 17 - - - src/app/bisq/bisq-block/bisq-block.component.html - 80 - - block.hash - - - Timestamp - - src/app/components/block/block.component.html - 22 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10 - - block.timestamp - - - Size - - src/app/components/block/block.component.html - 31 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13 - - - src/app/components/mempool-block/mempool-block.component.html - 32 - - - src/app/dashboard/dashboard.component.html - 81 - - block.size - - - Weight - - src/app/components/block/block.component.html - 35 - - block.weight - - - Miner - - src/app/components/block/block.component.html - 74 - - block.miner - - - Median fee - - src/app/components/block/block.component.html - 45 - - - src/app/components/mempool-block/mempool-block.component.html - 16 - - block.median-fee - - - Based on average native segwit transaction of 140 vBytes - - src/app/components/block/block.component.html - 46 - - - src/app/components/mempool-block/mempool-block.component.html - 17 - - - src/app/components/fees-box/fees-box.component.html - 6 - - - src/app/components/fees-box/fees-box.component.html - 12 - - - src/app/components/fees-box/fees-box.component.html - 18 - - Transaction fee tooltip - - - Total fees - - src/app/components/block/block.component.html + src/app/bisq/bisq-transaction/bisq-transaction.component.ts 50 - src/app/components/block/block.component.html - 65 - - Total fees in a block - block.total-fees - - - Subsidy + fees: - - src/app/components/block/block.component.html - 57 - - - src/app/components/block/block.component.html - 69 - - Total subsidy and fees in a block - block.subsidy-and-fees - - - transaction - - src/app/components/block/block.component.html - 87 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 16 - - - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 18 - - - src/app/bisq/bisq-address/bisq-address.component.html - 48 - - - src/app/bisq/bisq-block/bisq-block.component.html - 49 - - shared.transaction-count.singular - - - transactions - - src/app/components/block/block.component.html - 88 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 17 - - - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19 - - - src/app/bisq/bisq-address/bisq-address.component.html - 49 - - - src/app/bisq/bisq-block/bisq-block.component.html - 50 - - shared.transaction-count.plural - - - Error loading block data. - - src/app/components/block/block.component.html - 176 - - block.error.loading-block-data - - - Address: - - src/app/components/address/address.component.ts - 71 - - - - Address - - src/app/components/address/address.component.html - 2 - - - src/app/bisq/bisq-address/bisq-address.component.html - 2 - - shared.address - - - Balance - - src/app/components/address/address.component.html - 30 - - - src/app/bisq/bisq-address/bisq-address.component.html - 28 - - address.balance - - - Total received - - src/app/components/address/address.component.html - 21 - - - src/app/bisq/bisq-address/bisq-address.component.html - 20 - - address.total-received - - - Total sent - - src/app/components/address/address.component.html - 25 - - - src/app/bisq/bisq-address/bisq-address.component.html - 24 - - - src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14 - - address.total-sent - - - of transaction - - src/app/components/address/address.component.html - 50 - - X of X Address Transaction - - - of transactions - - src/app/components/address/address.component.html + src/app/components/transaction/transaction.component.ts 51 - X of X Address Transactions (Plural) - - Error loading address data. + + Filter - src/app/components/address/address.component.html - 115 + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 56,55 - address.error.loading-address-data - - TXID, block height, hash or address + + Select all - src/app/components/search-form/search-form.component.html - 4 + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 57,55 - search-form.searchbar-placeholder - - Search + + Unselect all - src/app/components/search-form/search-form.component.html - 7 + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 58 - search-form.search-title - - Blocks + + Trades - src/app/components/latest-blocks/latest-blocks.component.ts - 39 + src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts + 87 + + + + Volume + + src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts + 88 + + + + The Mempool Open Source Project + + src/app/components/about/about.component.html + 13,16 + + about.about-the-project + + + An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers. + + src/app/components/about/about.component.html + 16,20 + + + + Enterprise Sponsors ๐Ÿš€ + + src/app/components/about/about.component.html + 47,50 + + about.sponsors.enterprise + + + Community Sponsors โค๏ธ + + src/app/components/about/about.component.html + 73,77 + + about.sponsors.withHeart + + + Become a sponsor โค๏ธ + + src/app/components/about/about.component.html + 89,91 + + about.become-a-sponsor + + + Navigate to https://mempool.space/about to sponsor + + src/app/components/about/about.component.html + 91 + + about.navigate-to-sponsor + + + Amount required + + src/app/components/about/about.component.html + 108,109 + + about.sponsor.amount-required + + + Minimum amount is 0.001 BTC + + src/app/components/about/about.component.html + 109,111 + + about.sponsor.minimum-amount + + + Request invoice + + src/app/components/about/about.component.html + 111,117 + + about.sponsor.request-invoice + + + If you donate 0.01 BTC or more, your profile photo will be added to the list of sponsors above :) + + src/app/components/about/about.component.html + 118,122 + + about.sponsor.description + + + Waiting for transaction... + + src/app/components/about/about.component.html + 196,200 + + about.sponsor.waiting-for-transaction + + + Donation confirmed! + + src/app/components/about/about.component.html + 201,205 + + about.sponsor.donation-confirmed + + + Thank you! + + src/app/components/about/about.component.html + 201,207 + + about.sponsor.thank-you + + + Community Integrations + + src/app/components/about/about.component.html + 207,210 + + about.integrations + + + Community Alliances + + src/app/components/about/about.component.html + 317,320 + + about.alliances + + + Project Contributors + + src/app/components/about/about.component.html + 334,338 + + about.contributors + + + Project Maintainers + + src/app/components/about/about.component.html + 353,356 + + about.maintainers + + + Terms of Service + + src/app/components/about/about.component.html + 399,405 src/app/components/api-docs/api-docs.component.html - 79 - - - - Blocks - - src/app/components/latest-blocks/latest-blocks.component.html - 2 - - - src/app/components/master-page/master-page.component.html - 35 - - - src/app/components/master-page/master-page.component.html - 46 - - - src/app/bisq/bisq-blocks/bisq-blocks.component.ts - 35 - - - src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2 - - latest-blocks.blocks - - - Height - - src/app/components/latest-blocks/latest-blocks.component.html - 9 + 288,293 src/app/dashboard/dashboard.component.html - 78 + 143,152 - - src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22 - - latest-blocks.height + Terms of Service + shared.terms-of-service - - Mined + + About - src/app/components/latest-blocks/latest-blocks.component.html - 11 - - - src/app/dashboard/dashboard.component.html - 79 - - latest-blocks.mined - - - Transactions - - src/app/components/latest-blocks/latest-blocks.component.html - 12 + src/app/components/about/about.component.ts + 44 src/app/components/master-page/master-page.component.html - 32 + 62,65 - - src/app/components/mempool-block/mempool-block.component.html - 28 - - - src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 77 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2 - - latest-blocks.transactions multisig of @@ -1083,396 +1253,528 @@ address-labels.upper-layer-peg-out + + of transaction + + src/app/components/address/address.component.html + 50,51 + + X of X Address Transaction + + + of transactions + + src/app/components/address/address.component.html + 51,52 + + X of X Address Transactions (Plural) + + + Error loading address data. + + src/app/components/address/address.component.html + 115,118 + + address.error.loading-address-data + + + Confidential + + src/app/components/address/address.component.html + 134,136 + + + src/app/components/amount/amount.component.html + 6,9 + + + src/app/components/asset/asset.component.html + 143 + + + src/app/components/transactions-list/transactions-list.component.html + 217,219 + + shared.confidential + + + Address: + + src/app/components/address/address.component.ts + 71 + + + + API Service + + src/app/components/api-docs/api-docs.component.html + 4,7 + + api-docs.title + + + Websocket + + src/app/components/api-docs/api-docs.component.html + 9,14 + + API Docs tab for Websocket + api-docs.tab.websocket + + + Endpoint + + src/app/components/api-docs/api-docs.component.html + 14,15 + + + src/app/components/api-docs/api-docs.component.html + 32,33 + + + src/app/components/api-docs/api-docs.component.html + 58,59 + + + src/app/components/api-docs/api-docs.component.html + 84,85 + + + src/app/components/api-docs/api-docs.component.html + 138,139 + + + src/app/components/api-docs/api-docs.component.html + 188,189 + + + src/app/components/api-docs/api-docs.component.html + 222,223 + + + src/app/components/api-docs/api-docs.component.html + 247,248 + + API Docs Endpoint + api-docs.shared.endpoint + + + Description + + src/app/components/api-docs/api-docs.component.html + 15,18 + + + src/app/components/api-docs/api-docs.component.html + 33,36 + + + src/app/components/api-docs/api-docs.component.html + 59,62 + + + src/app/components/api-docs/api-docs.component.html + 85,88 + + + src/app/components/api-docs/api-docs.component.html + 139,142 + + + src/app/components/api-docs/api-docs.component.html + 189,192 + + + src/app/components/api-docs/api-docs.component.html + 223,226 + + + src/app/components/api-docs/api-docs.component.html + 248,251 + + API Docs Description + api-docs.shared.description + + + Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-block, 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/api-docs/api-docs.component.html + 19,20 + + api-docs.websocket.websocket + + + Fees + + src/app/components/api-docs/api-docs.component.html + 27,32 + + API Docs tab for Fees + api-docs.tab.fees + + + Returns our currently suggested fees for new transactions. + + src/app/components/api-docs/api-docs.component.html + 37,40 + + API Docs for /api/v1/fees/recommended + api-docs.fees.recommended + + + Returns current mempool as projected blocks. + + src/app/components/api-docs/api-docs.component.html + 41,44 + + API Docs for /api/v1/fees/mempool-blocks + api-docs.fees.mempool-blocks + + + Returns the ancestors and the best descendant fees for a transaction. + + src/app/components/api-docs/api-docs.component.html + 45,52 + + API Docs for /api/v1/fees/cpfp + api-docs.fees.cpfp + + + Mempool + + src/app/components/api-docs/api-docs.component.html + 53,58 + + API Docs tab for Mempool + api-docs.tab.mempool + + + Returns current mempool backlog statistics. + + src/app/components/api-docs/api-docs.component.html + 63,66 + + 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/api-docs/api-docs.component.html + 67,70 + + 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/api-docs/api-docs.component.html + 71,72 + + API Docs for /api/mempool/recent + api-docs.mempool.recent + + + Blocks + + src/app/components/api-docs/api-docs.component.html + 79,84 + + + src/app/components/latest-blocks/latest-blocks.component.ts + 39 + + API Docs tab for Blocks + api-docs.tab.blocks + + + 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/api-docs/api-docs.component.html + 89,90 + + + + 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/api-docs/api-docs.component.html + 93,94 + + + + 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/api-docs/api-docs.component.html + 97,98 + + + + Returns a list of all txids in the block. + + src/app/components/api-docs/api-docs.component.html + 101,104 + + + + Returns the transaction at index :index within the specified block. + + src/app/components/api-docs/api-docs.component.html + 105,106 + + + + Returns the raw block representation in binary. + + src/app/components/api-docs/api-docs.component.html + 109,112 + + + + Returns the hash of the block currently at :height. + + src/app/components/api-docs/api-docs.component.html + 113,114 + + + + Returns the 10 newest blocks starting at the tip or at :start_height if specified. + + src/app/components/api-docs/api-docs.component.html + 117,118 + + + + Returns the height of the last block. + + src/app/components/api-docs/api-docs.component.html + 121,124 + + + + Returns the hash of the last block. + + src/app/components/api-docs/api-docs.component.html + 125,130 + + + + Transactions + + src/app/components/api-docs/api-docs.component.html + 133,138 + + API Docs tab for Transactions + api-docs.tab.transactions + + + Returns details about a transaction. Available fields: txid, version, locktime, size, weight, fee, vin, vout, and status. + + src/app/components/api-docs/api-docs.component.html + 143,144 + + + + Returns the confirmation status of a transaction. Available fields: confirmed (boolean), block_height (optional), and block_hash (optional). + + src/app/components/api-docs/api-docs.component.html + 147,148 + + + + Returns a transaction serialized as hex. + + src/app/components/api-docs/api-docs.component.html + 151,154 + + + + Returns a transaction as binary data. + + src/app/components/api-docs/api-docs.component.html + 155,157 + + + + Returns a merkle inclusion proof for the transaction using bitcoind's merkleblock format. + + src/app/components/api-docs/api-docs.component.html + 159,160 + + + + Returns a merkle inclusion proof for the transaction using Electrum's blockchain.transaction.get_merkle format. + + src/app/components/api-docs/api-docs.component.html + 163,164 + + + + 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/api-docs/api-docs.component.html + 167,168 + + + + Returns the spending status of all transaction outputs. + + src/app/components/api-docs/api-docs.component.html + 171,174 + + + + 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/api-docs/api-docs.component.html + 175,176 + + + + Addresses + + src/app/components/api-docs/api-docs.component.html + 183,188 + + API Docs tab for Addresses + api-docs.tab.addresses + + + 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/api-docs/api-docs.component.html + 193,194 + + + + 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/api-docs/api-docs.component.html + 197,199 + + + + 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/api-docs/api-docs.component.html + 201,204 + + + + Get unconfirmed transaction history for the specified address/scripthash. Returns up to 50 transactions (no paging). + + src/app/components/api-docs/api-docs.component.html + 205,208 + + + + 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/api-docs/api-docs.component.html + 209,211 + + + + Assets + + src/app/components/api-docs/api-docs.component.html + 217,222 + + API Docs tab for Assets + api-docs.tab.assets + + + Returns information about a Liquid asset. + + src/app/components/api-docs/api-docs.component.html + 227,230 + + + + 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/api-docs/api-docs.component.html + 231,234 + + + + 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/api-docs/api-docs.component.html + 235,239 + + + + BSQ + + src/app/components/api-docs/api-docs.component.html + 242,247 + + API Docs tab for BSQ + api-docs.tab.bsq + + + Returns statistics about all Bisq transactions. + + src/app/components/api-docs/api-docs.component.html + 252,255 + + + + Returns details about a Bisq transaction. + + src/app/components/api-docs/api-docs.component.html + 256,259 + + + + Returns :length of latest Bisq transactions, starting from :index. + + src/app/components/api-docs/api-docs.component.html + 260,263 + + + + Returns all Bisq transactions that exist in a Bitcoin block. + + src/app/components/api-docs/api-docs.component.html + 264,267 + + + + Returns :length Bitcoin blocks that contain Bisq transactions, starting from :index. + + src/app/components/api-docs/api-docs.component.html + 268,271 + + + + Returns the most recently processed Bitcoin block height processed by Bisq. + + src/app/components/api-docs/api-docs.component.html + 272,275 + + + + Returns all Bisq transactions belonging to a Bitcoin address, with 'B' prefixed in front of the address. + + src/app/components/api-docs/api-docs.component.html + 276,280 + + API - - src/app/components/master-page/master-page.component.html - 59 - src/app/components/api-docs/api-docs.component.ts 24 - master-page.api - - - About + + src/app/components/bisq-master-page/bisq-master-page.component.html + 19,28 + src/app/components/master-page/master-page.component.html - 62 - - - src/app/components/about/about.component.ts - 40 - - master-page.about - - - Offline - - src/app/components/master-page/master-page.component.html - 8 - - master-page.offline - - - Reconnecting... - - src/app/components/master-page/master-page.component.html - 9 - - master-page.reconnecting - - - Layer 2 Networks - - src/app/components/master-page/master-page.component.html - 22 - - master-page.layer2-networks-header - - - Stats - - src/app/components/master-page/master-page.component.html - 38 - - master-page.stats - - - Dashboard - - src/app/components/master-page/master-page.component.html - 43 - - master-page.dashboard - - - Graphs - - src/app/components/master-page/master-page.component.html - 49 - - - src/app/components/statistics/statistics.component.ts - 55 - - master-page.graphs - - - TV view - - src/app/components/master-page/master-page.component.html - 52 - - - src/app/components/television/television.component.ts - 27 - - master-page.tvview - - - Assets - - src/app/components/master-page/master-page.component.html - 56 - - - src/app/assets/assets.component.ts - 40 - - master-page.assets - - - The Mempool Open Source Project - - src/app/components/about/about.component.html - 13 - - about.about-the-project - - - An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers. - - src/app/components/about/about.component.html - 16 - - - - Enterprise Sponsors - - src/app/components/about/about.component.html - 46 - - about.sponsors.enterprise - - - Community Sponsors โค๏ธ - - src/app/components/about/about.component.html - 48 - - about.sponsors.withHeart - - - Become a sponsor โค๏ธ - - src/app/components/about/about.component.html - 64 - - about.become-a-sponsor - - - Request invoice - - src/app/components/about/about.component.html - 86 - - about.sponsor.request-invoice - - - Community Integrations - - src/app/components/about/about.component.html - 181 - - about.integrations - - - Community Alliances - - src/app/components/about/about.component.html - 276 - - about.alliances - - - Project Contributors - - src/app/components/about/about.component.html - 292 - - about.contributors - - - Project Maintainers - - src/app/components/about/about.component.html - 310 - - about.maintainers - - - Terms of Service - - src/app/components/about/about.component.html - 357 - - - src/app/dashboard/dashboard.component.html - 143 - - - src/app/components/api-docs/api-docs.component.html - 288 - - Terms of Service - shared.terms-of-service - - - Navigate to https://mempool.space/about to sponsor - - src/app/components/about/about.component.html - 66 - - about.navigate-to-sponsor - - - Amount required - - src/app/components/about/about.component.html - 83 - - about.sponsor.amount-required - - - Minimum amount is 0.001 BTC - - src/app/components/about/about.component.html - 84 - - about.sponsor.minimum-amount - - - If you donate 0.01 BTC or more, your profile photo will be added to the list of sponsors above :) - - src/app/components/about/about.component.html - 93 - - about.sponsor.description - - - Waiting for transaction... - - src/app/components/about/about.component.html - 171 - - about.sponsor.waiting-for-transaction - - - Donation confirmed! - - src/app/components/about/about.component.html - 176 - - about.sponsor.donation-confirmed - - - Thank you! - - src/app/components/about/about.component.html - 176 - - about.sponsor.thank-you - - - Loading graphs... - - src/app/components/statistics/statistics.component.html - 6 - - statistics.loading-graphs - - - Mempool by vBytes (sat/vByte) - - src/app/components/statistics/statistics.component.html - 16 - - statistics.memory-by-vBytes - - - Invert - - src/app/components/statistics/statistics.component.html - 43 - - statistics.component-invert.title - - - Transaction vBytes per second (vB/s) - - src/app/components/statistics/statistics.component.html - 57 - - statistics.transaction-vbytes-per-second - - - Waiting for blocks... - - src/app/components/blockchain/blockchain.component.html - 11 - - Loading text - blockchain.waiting-for-blocks - - - Tx vBytes per second: - - src/app/components/footer/footer.component.html - 5 - - footer.tx-vbytes-per-second - - - Unconfirmed - - src/app/components/footer/footer.component.html - 16 - - - src/app/dashboard/dashboard.component.html - 182 - - Unconfirmed count - dashboard.unconfirmed - - - Mempool size - - src/app/components/footer/footer.component.html - 20 - - Mempool size - dashboard.mempool-size - - - Backend is synchronizing - - src/app/components/footer/footer.component.html - 7 - - - src/app/dashboard/dashboard.component.html - 195 - - footer.backend-is-synchronizing - - - vB/s - - src/app/components/footer/footer.component.html - 11 - - - src/app/dashboard/dashboard.component.html - 200 - - vB/s - shared.vbytes-per-second - - - Next block - - src/app/components/mempool-block/mempool-block.component.ts - 71 - - - - Stack of mempool blocks - - src/app/components/mempool-block/mempool-block.component.ts - 73 - - - - Mempool block - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - - - Fee span - - src/app/components/mempool-block/mempool-block.component.html - 20 - - mempool-block.fee-span - - - Total fees - - src/app/components/mempool-block/mempool-block.component.html - 24 - - mempool-block.total-fees - - - Asset: - - src/app/components/asset/asset.component.ts - 73 + 59,61 @@ -1493,15 +1795,6 @@ Liquid Asset precision asset.precision - - Burned amount - - src/app/components/asset/asset.component.html - 55 - - Liquid Asset burned amount - asset.burned-amount - Issuer @@ -1538,18 +1831,14 @@ Liquid Asset pegged-out amount asset.pegged-out - - Issued amount + + Burned amount src/app/components/asset/asset.component.html - 51 + 55 - - src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html - 15 - - Liquid Asset issued amount - asset.issued-amount + Liquid Asset burned amount + asset.burned-amount Circulating amount @@ -1588,97 +1877,512 @@ asset.error.loading-asset-data - - Registered assets + + Asset: - src/app/assets/assets.component.html - 2 + src/app/components/asset/asset.component.ts + 73 - Registered assets page header - - Search asset + + Offline - src/app/assets/assets.component.html - 9 + src/app/components/bisq-master-page/bisq-master-page.component.html + 7,8 - Search Assets Placeholder Text + + src/app/components/master-page/master-page.component.html + 8,9 + + master-page.offline - - Clear + + Reconnecting... - src/app/assets/assets.component.html - 11 + src/app/components/bisq-master-page/bisq-master-page.component.html + 8,13 - Search Clear Button + + src/app/components/master-page/master-page.component.html + 9,14 + + master-page.reconnecting - - Name + + Dashboard - src/app/assets/assets.component.html - 19 + src/app/components/bisq-master-page/bisq-master-page.component.html + 16,18 - src/app/assets/assets.component.html + src/app/components/master-page/master-page.component.html + 31,33 + + master-page.dashboard + + + Genesis + + src/app/components/block/block.component.html + 4 + + block.genesis + + + Timestamp + + src/app/components/block/block.component.html + 22,24 + + + src/app/components/latest-blocks/latest-blocks.component.html + 10,12 + + block.timestamp + + + Size + + src/app/components/block/block.component.html + 31,33 + + + src/app/components/latest-blocks/latest-blocks.component.html + 13,16 + + + src/app/components/mempool-block/mempool-block.component.html + 32,35 + + + src/app/dashboard/dashboard.component.html + 81,84 + + block.size + + + Weight + + src/app/components/block/block.component.html + 35,37 + + block.weight + + + Median fee + + src/app/components/block/block.component.html + 45,46 + + + src/app/components/mempool-block/mempool-block.component.html + 16,17 + + block.median-fee + + + sat/vB + + src/app/components/block/block.component.html 46 - Asset name header + + src/app/components/blockchain-blocks/blockchain-blocks.component.html + 10 + + + src/app/components/blockchain-blocks/blockchain-blocks.component.html + 13 + + + src/app/components/fees-box/fees-box.component.html + 6 + + + src/app/components/fees-box/fees-box.component.html + 12 + + + src/app/components/fees-box/fees-box.component.html + 18 + + + src/app/components/mempool-block/mempool-block.component.html + 17 + + + src/app/components/mempool-block/mempool-block.component.html + 21,24 + + + src/app/components/mempool-blocks/mempool-blocks.component.html + 8,11 + + + src/app/components/mempool-blocks/mempool-blocks.component.html + 11,13 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 179 + + + src/app/components/transaction/transaction.component.html + 332 + + + src/app/components/transaction/transaction.component.html + 342 + + + src/app/components/transactions-list/transactions-list.component.html + 201 + + + src/app/dashboard/dashboard.component.html + 117,121 + + + src/app/dashboard/dashboard.component.html + 169,173 + + sat/vB + shared.sat-vbyte - - Ticker + + Based on average native segwit transaction of 140 vBytes - src/app/assets/assets.component.html - 20 + src/app/components/block/block.component.html + 46,48 - src/app/assets/assets.component.html - 47 + src/app/components/fees-box/fees-box.component.html + 6,10 - Asset ticker header + + src/app/components/fees-box/fees-box.component.html + 12,16 + + + src/app/components/fees-box/fees-box.component.html + 18,24 + + + src/app/components/mempool-block/mempool-block.component.html + 17,20 + + Transaction fee tooltip - - Issuer domain + + Total fees - src/app/assets/assets.component.html - 21 + src/app/components/block/block.component.html + 50,51 - src/app/assets/assets.component.html - 48 + src/app/components/block/block.component.html + 65,67 - Asset Issuer Domain header + Total fees in a block + block.total-fees - - Asset ID + + Subsidy + fees: - src/app/assets/assets.component.html - 22 + src/app/components/block/block.component.html + 57,59 - src/app/assets/assets.component.html - 49 + src/app/components/block/block.component.html + 69,72 - Asset ID header + Total subsidy and fees in a block + block.subsidy-and-fees - - Issuance TX + + Miner - src/app/assets/assets.component.html - 23 + src/app/components/block/block.component.html + 74,75 - - src/app/assets/assets.component.html - 50 - - Asset issuance transaction header + block.miner - - Error loading assets data. + + Error loading block data. - src/app/assets/assets.component.html - 67 + src/app/components/block/block.component.html + 176,184 - Asset data load error + block.error.loading-block-data + + + Block : + + src/app/components/block/block.component.ts + 105 + + + + Waiting for blocks... + + src/app/components/blockchain/blockchain.component.html + 11,16 + + Loading text + blockchain.waiting-for-blocks + + + Copied! + + src/app/components/clipboard/clipboard.component.ts + 15 + + + + Low priority + + src/app/components/fees-box/fees-box.component.html + 4,6 + + + src/app/components/fees-box/fees-box.component.html + 27,30 + + fees-box.low-priority + + + Medium priority + + src/app/components/fees-box/fees-box.component.html + 10,12 + + + src/app/components/fees-box/fees-box.component.html + 31,32 + + fees-box.medium-priority + + + High priority + + src/app/components/fees-box/fees-box.component.html + 16,18 + + + src/app/components/fees-box/fees-box.component.html + 35,38 + + fees-box.high-priority + + + Tx vBytes per second: + + src/app/components/footer/footer.component.html + 5,7 + + footer.tx-vbytes-per-second + + + Backend is synchronizing + + src/app/components/footer/footer.component.html + 7,11 + + + src/app/dashboard/dashboard.component.html + 195,197 + + footer.backend-is-synchronizing + + + vB/s + + src/app/components/footer/footer.component.html + 11,15 + + + src/app/dashboard/dashboard.component.html + 200,206 + + vB/s + shared.vbytes-per-second + + + Unconfirmed + + src/app/components/footer/footer.component.html + 16,17 + + + src/app/dashboard/dashboard.component.html + 182,184 + + Unconfirmed count + dashboard.unconfirmed + + + Mempool size + + src/app/components/footer/footer.component.html + 20,21 + + Mempool size + dashboard.mempool-size + + + block + + src/app/components/footer/footer.component.html + 22,23 + + + src/app/components/transaction/transaction.component.html + 319 + + shared.block + + + blocks + + src/app/components/footer/footer.component.html + 23,24 + + + src/app/components/mempool-blocks/mempool-blocks.component.html + 30,31 + + + src/app/components/transaction/transaction.component.html + 320 + + shared.blocks + + + Mined + + src/app/components/latest-blocks/latest-blocks.component.html + 11,12 + + + src/app/dashboard/dashboard.component.html + 79,80 + + latest-blocks.mined + + + Layer 2 Networks + + src/app/components/master-page/master-page.component.html + 22,23 + + master-page.layer2-networks-header + + + Stats + + src/app/components/master-page/master-page.component.html + 41,45 + + master-page.stats + + + Graphs + + src/app/components/master-page/master-page.component.html + 49,51 + + + src/app/components/statistics/statistics.component.ts + 52 + + master-page.graphs + + + TV view + + src/app/components/master-page/master-page.component.html + 52,55 + + + src/app/components/television/television.component.ts + 27 + + master-page.tvview + + + Fee span + + src/app/components/mempool-block/mempool-block.component.html + 20,21 + + 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 + + src/app/components/mempool-block/mempool-block.component.ts + 73 + + + + Mempool block + + src/app/components/mempool-block/mempool-block.component.ts + 75 + + + + In ~ minutes + + src/app/components/mempool-blocks/mempool-blocks.component.html + 41,43 + + + src/app/components/transaction/transaction.component.html + 315 + + Block Frequency (plural) + mempool-blocks.eta-of-next-block-plural + + + In ~ minute + + src/app/components/mempool-blocks/mempool-blocks.component.html + 43,44 + + + src/app/components/transaction/transaction.component.html + 317 + + Block Frequency + mempool-blocks.eta-of-next-block + + + Unknown + + src/app/components/miner/miner.component.html + 10 + + miner.tag.unknown-miner Identified by payout address: '' @@ -1694,732 +2398,53 @@ 52 - - Unknown + + TXID, block height, hash or address - src/app/components/miner/miner.component.html - 10 - - miner.tag.unknown-miner - - - Low priority - - src/app/components/fees-box/fees-box.component.html + src/app/components/search-form/search-form.component.html 4 - - src/app/components/fees-box/fees-box.component.html - 27 - - fees-box.low-priority + search-form.searchbar-placeholder - - Medium priority + + Search - src/app/components/fees-box/fees-box.component.html - 10 + src/app/components/search-form/search-form.component.html + 7 - - src/app/components/fees-box/fees-box.component.html - 31 - - fees-box.medium-priority + search-form.search-title - - High priority + + Loading graphs... - src/app/components/fees-box/fees-box.component.html + src/app/components/statistics/statistics.component.html + 6 + + statistics.loading-graphs + + + Mempool by vBytes (sat/vByte) + + src/app/components/statistics/statistics.component.html 16 - - src/app/components/fees-box/fees-box.component.html - 35 - - fees-box.high-priority - - - Latest blocks - - src/app/dashboard/dashboard.component.html - 75 - - dashboard.latest-blocks - - - TXs - - src/app/dashboard/dashboard.component.html - 80 - - - src/app/dashboard/dashboard.component.html - 184 - - dashboard.latest-blocks.transaction-count - - - View all ยป - - src/app/dashboard/dashboard.component.html - 97 - - dashboard.view-all - - - Latest transactions - - src/app/dashboard/dashboard.component.html - 104 - - dashboard.latest-transactions - - - Amount - - src/app/dashboard/dashboard.component.html - 108 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20 - - dashboard.latest-transactions.amount - - - Fee - - src/app/dashboard/dashboard.component.html - 110 - - dashboard.latest-transactions.fee - - - USD - - src/app/dashboard/dashboard.component.html - 109 - - dashboard.latest-transactions.USD - - - Expand - - src/app/dashboard/dashboard.component.html - 131 - - dashboard.expand - - - Collapse - - src/app/dashboard/dashboard.component.html - 132 - - dashboard.collapse - - - Memory usage - - src/app/dashboard/dashboard.component.html - 173 - - Memory usage - dashboard.memory-usage - - - Minimum fee - - src/app/dashboard/dashboard.component.html - 166 - - Minimum mempool fee - dashboard.minimum-fee - - - Purging - - src/app/dashboard/dashboard.component.html - 167 - - Purgin below fee - dashboard.purging - - - Incoming transactions - - src/app/dashboard/dashboard.component.html - 192 - - dashboard.incoming-transactions - - - Difficulty adjustment - - src/app/dashboard/dashboard.component.html - 209 - - dashboard.difficulty-adjustment - - - API Service - - src/app/components/api-docs/api-docs.component.html - 4 - - api-docs.title - - - Websocket - - src/app/components/api-docs/api-docs.component.html - 9 - - API Docs tab for Websocket - api-docs.tab.websocket - - - Endpoint - - src/app/components/api-docs/api-docs.component.html - 14 - - - src/app/components/api-docs/api-docs.component.html - 32 - - - src/app/components/api-docs/api-docs.component.html - 58 - - - src/app/components/api-docs/api-docs.component.html - 84 - - - src/app/components/api-docs/api-docs.component.html - 138 - - - src/app/components/api-docs/api-docs.component.html - 188 - - - src/app/components/api-docs/api-docs.component.html - 222 - - - src/app/components/api-docs/api-docs.component.html - 247 - - API Docs Endpoint - api-docs.shared.endpoint - - - Description - - src/app/components/api-docs/api-docs.component.html - 15 - - - src/app/components/api-docs/api-docs.component.html - 33 - - - src/app/components/api-docs/api-docs.component.html - 59 - - - src/app/components/api-docs/api-docs.component.html - 85 - - - src/app/components/api-docs/api-docs.component.html - 139 - - - src/app/components/api-docs/api-docs.component.html - 189 - - - src/app/components/api-docs/api-docs.component.html - 223 - - - src/app/components/api-docs/api-docs.component.html - 248 - - API Docs Description - api-docs.shared.description + statistics.memory-by-vBytes - - Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-block, 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/api-docs/api-docs.component.html - 19 - - api-docs.websocket.websocket - - - Fees - - src/app/components/api-docs/api-docs.component.html - 27 - - API Docs tab for Fees - api-docs.tab.fees - - - Returns our currently suggested fees for new transactions. - - src/app/components/api-docs/api-docs.component.html - 37 - - API Docs for /api/v1/fees/recommended - api-docs.fees.recommended - - - Returns current mempool as projected blocks. - - src/app/components/api-docs/api-docs.component.html - 41 - - API Docs for /api/v1/fees/mempool-blocks - api-docs.fees.mempool-blocks - - - Returns the ancestors and the best descendant fees for a transaction. - - src/app/components/api-docs/api-docs.component.html - 45 - - API Docs for /api/v1/fees/cpfp - api-docs.fees.cpfp - - - Mempool - - src/app/components/api-docs/api-docs.component.html - 53 - - API Docs tab for Mempool - api-docs.tab.mempool - - - Returns current mempool backlog statistics. - - src/app/components/api-docs/api-docs.component.html - 63 - - 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/api-docs/api-docs.component.html - 67 - - 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/api-docs/api-docs.component.html - 71 - - API Docs for /api/mempool/recent - api-docs.mempool.recent - - - 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/api-docs/api-docs.component.html - 93 - - - - 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/api-docs/api-docs.component.html - 97 - - - - Returns a list of all txids in the block. - - src/app/components/api-docs/api-docs.component.html - 101 - - - - Returns the transaction at index :index within the specified block. - - src/app/components/api-docs/api-docs.component.html - 105 - - - - Returns the raw block representation in binary. - - src/app/components/api-docs/api-docs.component.html - 109 - - - - Returns the hash of the block currently at :height. - - src/app/components/api-docs/api-docs.component.html - 113 - - - - Returns the 10 newest blocks starting at the tip or at :start_height if specified. - - src/app/components/api-docs/api-docs.component.html - 117 - - - - Returns the height of the last block. - - src/app/components/api-docs/api-docs.component.html - 121 - - - - Returns the hash of the last block. - - src/app/components/api-docs/api-docs.component.html - 125 - - - - 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/api-docs/api-docs.component.html - 89 - - - - Transactions - - src/app/components/api-docs/api-docs.component.html - 133 - - API Docs tab for Transactions - api-docs.tab.transactions - - - Returns details about a transaction. Available fields: txid, version, locktime, size, weight, fee, vin, vout, and status. - - src/app/components/api-docs/api-docs.component.html - 143 - - - - Returns the confirmation status of a transaction. Available fields: confirmed (boolean), block_height (optional), and block_hash (optional). - - src/app/components/api-docs/api-docs.component.html - 147 - - - - Returns a transaction serialized as hex. - - src/app/components/api-docs/api-docs.component.html - 151 - - - - Returns a transaction as binary data. - - src/app/components/api-docs/api-docs.component.html - 155 - - - - Returns a merkle inclusion proof for the transaction using Electrum's blockchain.transaction.get_merkle format. - - src/app/components/api-docs/api-docs.component.html - 163 - - - - 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/api-docs/api-docs.component.html - 167 - - - - Returns the spending status of all transaction outputs. - - src/app/components/api-docs/api-docs.component.html - 171 - - - - 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/api-docs/api-docs.component.html - 175 - - - - Returns a merkle inclusion proof for the transaction using bitcoind's merkleblock format. - - src/app/components/api-docs/api-docs.component.html - 159 - - - - Addresses - - src/app/components/api-docs/api-docs.component.html - 183 - - API Docs tab for Addresses - api-docs.tab.addresses - - - 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/api-docs/api-docs.component.html - 193 - - - - 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/api-docs/api-docs.component.html - 197,198 - - - - 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/api-docs/api-docs.component.html - 201 - - - - Get unconfirmed transaction history for the specified address/scripthash. Returns up to 50 transactions (no paging). - - src/app/components/api-docs/api-docs.component.html - 205 - - - - 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/api-docs/api-docs.component.html - 209 - - - - Assets - - src/app/components/api-docs/api-docs.component.html - 217 - - API Docs tab for Assets - api-docs.tab.assets - - - Returns information about a Liquid asset. - - src/app/components/api-docs/api-docs.component.html - 227 - - - - 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/api-docs/api-docs.component.html - 231 - - - - 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/api-docs/api-docs.component.html - 235 - - - - BSQ - - src/app/components/api-docs/api-docs.component.html - 242 - - API Docs tab for BSQ - api-docs.tab.bsq - - - Returns statistics about all Bisq transactions. - - src/app/components/api-docs/api-docs.component.html - 252 - - - - Returns details about a Bisq transaction. - - src/app/components/api-docs/api-docs.component.html - 256 - - - - Returns :length of latest Bisq transactions, starting from :index. - - src/app/components/api-docs/api-docs.component.html - 260 - - - - Returns all Bisq transactions that exist in a Bitcoin block. - - src/app/components/api-docs/api-docs.component.html - 264 - - - - Returns :length Bitcoin blocks that contain Bisq transactions, starting from :index. - - src/app/components/api-docs/api-docs.component.html - 268 - - - - Returns the most recently processed Bitcoin block height processed by Bisq. - - src/app/components/api-docs/api-docs.component.html - 272 - - - - Returns all Bisq transactions belonging to a Bitcoin address, with 'B' prefixed in front of the address. - - src/app/components/api-docs/api-docs.component.html - 276 - - - - Copied! - - src/app/components/clipboard/clipboard.component.ts - 15 - - - - This transaction saved % on fees by using native SegWit-Bech32 - - src/app/components/tx-features/tx-features.component.html - 1 - - ngbTooltip about segwit gains - - - SegWit - - src/app/components/tx-features/tx-features.component.html - 1 - - - src/app/components/tx-features/tx-features.component.html - 3 - - - src/app/components/tx-features/tx-features.component.html - 5 - - SegWit - tx-features.tag.segwit - - - This transaction saved % on fees by using SegWit and could save % more by fully upgrading to native SegWit-Bech32 - - src/app/components/tx-features/tx-features.component.html - 3 - - ngbTooltip about double segwit gains - - - This transaction could save % on fees by upgrading to native SegWit-Bech32 or % by upgrading to SegWit-P2SH - - src/app/components/tx-features/tx-features.component.html - 5 - - ngbTooltip about missed out gains - - - This transaction support Replace-By-Fee (RBF) allowing fee bumping - - src/app/components/tx-features/tx-features.component.html - 8 - - RBF tooltip - - - RBF - - src/app/components/tx-features/tx-features.component.html - 8 - - - src/app/components/tx-features/tx-features.component.html - 9 - - RBF - tx-features.tag.rbf - - - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method - - src/app/components/tx-features/tx-features.component.html - 9 - - RBF disabled tooltip - - - Optimal - - src/app/components/tx-fee-rating/tx-fee-rating.component.html - 1 - - TX Fee Rating is Optimal - tx-fee-rating.optimal - - - Only ~ sat/vB was needed to get into this block - - src/app/components/tx-fee-rating/tx-fee-rating.component.html - 2 - - tx-fee-rating.warning-tooltip - - - Overpaid x - - src/app/components/tx-fee-rating/tx-fee-rating.component.html - 2 - + + Invert - src/app/components/tx-fee-rating/tx-fee-rating.component.html - 3 + src/app/components/statistics/statistics.component.html + 43 - TX Fee Rating is Warning - tx-fee-rating.overpaid.warning + statistics.component-invert.title - - Only ~ sat/vB was needed to get into this block + + Transaction vBytes per second (vB/s) - src/app/components/tx-fee-rating/tx-fee-rating.component.html - 3 + src/app/components/statistics/statistics.component.html + 57 - tx-fee-rating.warning-tooltip + statistics.transaction-vbytes-per-second Just now @@ -2554,209 +2579,554 @@ 97 - - Address: + + This transaction has been replaced by: - src/app/bisq/bisq-address/bisq-address.component.ts - 39 + src/app/components/transaction/transaction.component.html + 5 + RBF replacement + transaction.rbf.replacement - - BSQ statistics + + Unconfirmed - src/app/bisq/bisq-stats/bisq-stats.component.ts - 24 + src/app/components/transaction/transaction.component.html + 22 - src/app/bisq/bisq-stats/bisq-stats.component.html - 2 + src/app/components/transactions-list/transactions-list.component.html + 212,216 + Transaction unconfirmed state + transaction.unconfirmed - - Existing amount - - src/app/bisq/bisq-stats/bisq-stats.component.html - 12 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 54 - - BSQ existing amount - - - Minted amount - - src/app/bisq/bisq-stats/bisq-stats.component.html - 16 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 58 - - BSQ minted amount - - - Burnt amount - - src/app/bisq/bisq-stats/bisq-stats.component.html - 20 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 62 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 62 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 57 - - BSQ burnt amount - - - Addresses - - src/app/bisq/bisq-stats/bisq-stats.component.html - 24 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 66 - - BSQ addresses - - - Unspent TXOs - - src/app/bisq/bisq-stats/bisq-stats.component.html - 28 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 70 - - BSQ unspent transaction outputs - - - Spent TXOs - - src/app/bisq/bisq-stats/bisq-stats.component.html - 32 - - BSQ spent transaction outputs - - - Price - - src/app/bisq/bisq-stats/bisq-stats.component.html - 36 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 78 - - BSQ token price - - - Market cap - - src/app/bisq/bisq-stats/bisq-stats.component.html - 40 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 82 - - BSQ token market cap - - + Confirmed - src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21 - - Bisq block confirmed time header - - - Inputs - - src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html - 7 - - transaction.inputs - - - Outputs - - src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html - 11 - - transaction.outputs - - - Version - - src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html - 29 - - transaction.version - - - Block : - - src/app/bisq/bisq-block/bisq-block.component.ts - 85 - - - - Previous hash - - src/app/bisq/bisq-block/bisq-block.component.html - 35 - - - src/app/bisq/bisq-block/bisq-block.component.html - 93 - - Transaction Previous Hash - block.previous_hash - - - Fee per vByte - - src/app/bisq/bisq-transaction/bisq-transaction.component.html + src/app/components/transaction/transaction.component.html 62 + Transaction Confirmed state + transaction.confirmed + + + After + + src/app/components/transaction/transaction.component.html + 63 + + Transaction confirmed after + transaction.confirmed.after + + + First seen + + src/app/components/transaction/transaction.component.html + 98 + + Transaction first seen + transaction.first-seen + + + ETA + + src/app/components/transaction/transaction.component.html + 104 + + Transaction ETA + transaction.eta + + + In several hours (or more) + + src/app/components/transaction/transaction.component.html + 111 + + Transaction ETA in several hours or more + transaction.eta.in-several-hours + + + TXID + + src/app/components/transaction/transaction.component.html + 149 + + + src/app/dashboard/dashboard.component.html + 107,108 + + dashboard.latest-transactions.txid + + + Virtual size + + src/app/components/transaction/transaction.component.html + 150 + + + src/app/components/transaction/transaction.component.html + 207 + + Transaction Virtual Size + transaction.vsize + + + Fee rate + + src/app/components/transaction/transaction.component.html + 151 + + + src/app/components/transaction/transaction.component.html + 330 + + Transaction fee rate + transaction.fee-rate + + + Descendant + + src/app/components/transaction/transaction.component.html + 158 + + Descendant + transaction.descendant + + + Ancestor + + src/app/components/transaction/transaction.component.html + 172 + + Transaction Ancestor + transaction.ancestor + + + Details + + src/app/components/transaction/transaction.component.html + 192 + + Transaction Details + transaction.details + + + Size + + src/app/components/transaction/transaction.component.html + 203 + + Transaction Size + transaction.size + + + Weight + + src/app/components/transaction/transaction.component.html + 211 + + Transaction Weight + transaction.weight + + + Transaction not found. + + src/app/components/transaction/transaction.component.html + 299 + + transaction.error.transaction-not-found + + + Waiting for it to appear in the mempool... + + src/app/components/transaction/transaction.component.html + 300 + + transaction.error.waiting-for-it-to-appear + + + Fee + + src/app/components/transaction/transaction.component.html + 326 + Transaction fee - transaction.fee-per-vbyte + transaction.fee - - Filter + + sat - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 55 + src/app/components/transaction/transaction.component.html + 327 + Transaction Fee sat + transaction.fee.sat - - Select all + + Effective fee rate - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 56 + src/app/components/transaction/transaction.component.html + 340 + Effective transaction fee rate + transaction.effective-fee-rate - - Unselect all + + Coinbase - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57 + src/app/components/transactions-list/transactions-list.component.html + 39 + transactions-list.coinbase + + + (Newly Generated Coins) + + src/app/components/transactions-list/transactions-list.component.html + 39 + + transactions-list.newly-generated-coins + + + Peg-in + + src/app/components/transactions-list/transactions-list.component.html + 41,43 + + transactions-list.peg-in + + + ScriptSig (ASM) + + src/app/components/transactions-list/transactions-list.component.html + 74,76 + + ScriptSig (ASM) + transactions-list.scriptsig.asm + + + ScriptSig (HEX) + + src/app/components/transactions-list/transactions-list.component.html + 78,80 + + ScriptSig (HEX) + transactions-list.scriptsig.hex + + + Witness + + src/app/components/transactions-list/transactions-list.component.html + 83,84 + + transactions-list.witness + + + P2SH redeem script + + src/app/components/transactions-list/transactions-list.component.html + 87,88 + + transactions-list.p2sh-redeem-script + + + P2WSH witness script + + src/app/components/transactions-list/transactions-list.component.html + 91,92 + + transactions-list.p2wsh-witness-script + + + nSequence + + src/app/components/transactions-list/transactions-list.component.html + 95,96 + + transactions-list.nsequence + + + Previous output script + + src/app/components/transactions-list/transactions-list.component.html + 99,100 + + transactions-list.previous-output-script + + + Load all + + src/app/components/transactions-list/transactions-list.component.html + 109,112 + + + src/app/components/transactions-list/transactions-list.component.html + 191,194 + + transactions-list.load-all + + + Peg-out to + + src/app/components/transactions-list/transactions-list.component.html + 128,129 + + transactions-list.peg-out-to + + + ScriptPubKey (ASM) + + src/app/components/transactions-list/transactions-list.component.html + 173,175 + + ScriptPubKey (ASM) + transactions-list.scriptpubkey.asm + + + ScriptPubKey (HEX) + + src/app/components/transactions-list/transactions-list.component.html + 177,179 + + ScriptPubKey (HEX) + transactions-list.scriptpubkey.hex + + + data + + src/app/components/transactions-list/transactions-list.component.html + 181,182 + + transactions-list.vout.scriptpubkey-type.data + + + sat + + src/app/components/transactions-list/transactions-list.component.html + 201,204 + + sat + shared.sat + + + This transaction saved % on fees by using native SegWit-Bech32 + + src/app/components/tx-features/tx-features.component.html + 1 + + ngbTooltip about segwit gains + + + SegWit + + src/app/components/tx-features/tx-features.component.html + 1 + + + src/app/components/tx-features/tx-features.component.html + 3 + + + src/app/components/tx-features/tx-features.component.html + 5 + + SegWit + tx-features.tag.segwit + + + This transaction saved % on fees by using SegWit and could save % more by fully upgrading to native SegWit-Bech32 + + src/app/components/tx-features/tx-features.component.html + 3 + + ngbTooltip about double segwit gains + + + This transaction could save % on fees by upgrading to native SegWit-Bech32 or % by upgrading to SegWit-P2SH + + src/app/components/tx-features/tx-features.component.html + 5 + + ngbTooltip about missed out gains + + + This transaction support Replace-By-Fee (RBF) allowing fee bumping + + src/app/components/tx-features/tx-features.component.html + 8 + + RBF tooltip + + + RBF + + src/app/components/tx-features/tx-features.component.html + 8 + + + src/app/components/tx-features/tx-features.component.html + 9 + + RBF + tx-features.tag.rbf + + + This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method + + src/app/components/tx-features/tx-features.component.html + 9 + + RBF disabled tooltip + + + Optimal + + src/app/components/tx-fee-rating/tx-fee-rating.component.html + 1 + + TX Fee Rating is Optimal + tx-fee-rating.optimal + + + Only ~ sat/vB was needed to get into this block + + src/app/components/tx-fee-rating/tx-fee-rating.component.html + 2 + + tx-fee-rating.warning-tooltip + + + Overpaid x + + src/app/components/tx-fee-rating/tx-fee-rating.component.html + 2 + + + src/app/components/tx-fee-rating/tx-fee-rating.component.html + 3 + + TX Fee Rating is Warning + tx-fee-rating.overpaid.warning + + + Only ~ sat/vB was needed to get into this block + + src/app/components/tx-fee-rating/tx-fee-rating.component.html + 3 + + tx-fee-rating.warning-tooltip + + + Latest blocks + + src/app/dashboard/dashboard.component.html + 75,77 + + dashboard.latest-blocks + + + TXs + + src/app/dashboard/dashboard.component.html + 80,82 + + + src/app/dashboard/dashboard.component.html + 184,191 + + dashboard.latest-blocks.transaction-count + + + View all ยป + + src/app/dashboard/dashboard.component.html + 97,101 + + dashboard.view-all + + + Latest transactions + + src/app/dashboard/dashboard.component.html + 104,107 + + dashboard.latest-transactions + + + USD + + src/app/dashboard/dashboard.component.html + 109,110 + + dashboard.latest-transactions.USD + + + Fee + + src/app/dashboard/dashboard.component.html + 110,113 + + dashboard.latest-transactions.fee + + + Expand + + src/app/dashboard/dashboard.component.html + 131,132 + + dashboard.expand + + + Collapse + + src/app/dashboard/dashboard.component.html + 132,136 + + dashboard.collapse + + + Minimum fee + + src/app/dashboard/dashboard.component.html + 166,167 + + Minimum mempool fee + dashboard.minimum-fee + + + Purging + + src/app/dashboard/dashboard.component.html + 167,169 + + Purgin below fee + dashboard.purging + + + Memory usage + + src/app/dashboard/dashboard.component.html + 173,175 + + Memory usage + dashboard.memory-usage + + + Incoming transactions + + src/app/dashboard/dashboard.component.html + 192,194 + + dashboard.incoming-transactions + + + Difficulty adjustment + + src/app/dashboard/dashboard.component.html + 209,210 + + dashboard.difficulty-adjustment From 5cd5280b21fee89bcbbaa5b82bab8e47ada67e45 Mon Sep 17 00:00:00 2001 From: softsimon Date: Mon, 26 Apr 2021 01:49:58 +0400 Subject: [PATCH 24/24] Updated i18n --- frontend/src/locale/messages.xlf | 5196 ++++++++++++++++-------------- 1 file changed, 2783 insertions(+), 2413 deletions(-) diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 657e5e88d..2da873b0b 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -2,180 +2,479 @@ - - Transaction: + + Close - src/app/components/transaction/transaction.component.ts - 51 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.ts - 46 + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/alert/alert.ts + 74 - - Transaction + + Previous - src/app/components/transaction/transaction.component.html - 12 + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/carousel/carousel.ts + 349 + + + + Next + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/carousel/carousel.ts + 349 + + + + Previous month + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-month.ts + 62,64 - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 3 + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation.ts + 69 + + + + Next month + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-month.ts + 72 - src/app/bisq/bisq-transactions/bisq-transactions.component.html + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-month.ts + 72 + + + + Select month + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts + 74 + + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts + 74 + + + + Select year + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts + 74 + + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts + 74 + + + + ยซยซ + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + ยซ + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + ยป + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + ยปยป + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + First + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + Previous + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + Next + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + Last + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts + 404 + + + + + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/progressbar/progressbar.ts + 101 + + + + HH + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Hours + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + MM + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Minutes + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Increment hours + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Decrement hours + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Increment minutes + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Decrement minutes + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + SS + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Seconds + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Increment seconds + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Decrement seconds + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts + 296 + + + + Close + + node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/@ng-bootstrap/ng-bootstrap/toast/toast.ts + 137 + + + + Registered assets + + src/app/assets/assets.component.html + 2,7 + + 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 + 46,48 + + Asset name header + + + Ticker + + src/app/assets/assets.component.html + 20,21 + + + src/app/assets/assets.component.html + 47,49 + + Asset ticker header + + + Issuer domain + + src/app/assets/assets.component.html + 21,23 + + + src/app/assets/assets.component.html + 48,50 + + Asset Issuer Domain header + + + Asset ID + + src/app/assets/assets.component.html + 22,23 + + + src/app/assets/assets.component.html + 49,51 + + Asset ID header + + + Issuance TX + + src/app/assets/assets.component.html + 23,26 + + + src/app/assets/assets.component.html + 50,54 + + Asset issuance transaction header + + + Error loading assets data. + + src/app/assets/assets.component.html + 67,72 + + Asset data load error + + + Assets + + src/app/assets/assets.component.ts + 40 + + + src/app/components/master-page/master-page.component.html + 56,58 + + + + Address + + src/app/bisq/bisq-address/bisq-address.component.html + 2 + + + src/app/components/address/address.component.html + 2,3 + + shared.address + + + Total received + + src/app/bisq/bisq-address/bisq-address.component.html + 20 + + + src/app/components/address/address.component.html + 21,22 + + address.total-received + + + Total sent + + src/app/bisq/bisq-address/bisq-address.component.html + 24 + + + src/app/bisq/bisq-blocks/bisq-blocks.component.html + 14,15 + + + src/app/components/address/address.component.html + 25,26 + + address.total-sent + + + Balance + + src/app/bisq/bisq-address/bisq-address.component.html + 28 + + + src/app/components/address/address.component.html + 30,31 + + address.balance + + + transaction + + src/app/bisq/bisq-address/bisq-address.component.html + 48 + + + src/app/bisq/bisq-block/bisq-block.component.html + 49 + + + src/app/components/block/block.component.html + 87,88 + + + src/app/components/blockchain-blocks/blockchain-blocks.component.html 18 - shared.transaction - - - This transaction has been replaced by: - src/app/components/transaction/transaction.component.html - 5 + src/app/components/mempool-blocks/mempool-blocks.component.html + 16,17 - RBF replacement - transaction.rbf.replacement + shared.transaction-count.singular - - confirmation + + transactions - src/app/components/transaction/transaction.component.html + src/app/bisq/bisq-address/bisq-address.component.html + 49 + + + src/app/bisq/bisq-block/bisq-block.component.html + 50 + + + src/app/components/block/block.component.html + 88,89 + + + src/app/components/blockchain-blocks/blockchain-blocks.component.html + 19 + + + src/app/components/mempool-blocks/mempool-blocks.component.html + 17,18 + + shared.transaction-count.plural + + + Address: + + src/app/bisq/bisq-address/bisq-address.component.ts + 43 + + + + Block + + src/app/bisq/bisq-block/bisq-block.component.html + 4 + + + src/app/components/block/block.component.html + 4 + + block.block + + + Hash + + src/app/bisq/bisq-block/bisq-block.component.html 17 - src/app/components/transactions-list/transactions-list.component.html - 208 + src/app/bisq/bisq-block/bisq-block.component.html + 80 - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 69 + src/app/components/block/block.component.html + 18,19 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 9 - - Transaction singular confirmation count - shared.confirmation-count.singular - - - confirmations - - src/app/components/transaction/transaction.component.html - 18 - - - src/app/components/transactions-list/transactions-list.component.html - 209 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 70 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 10 - - Transaction plural confirmation count - shared.confirmation-count.plural - - - Unconfirmed - - src/app/components/transaction/transaction.component.html - 22 - - - src/app/components/transactions-list/transactions-list.component.html - 212 - - Transaction unconfirmed state - transaction.unconfirmed - - - Inputs & Outputs - - src/app/components/transaction/transaction.component.html - 190 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 88 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 148 - - Transaction inputs and outputs - transaction.inputs-and-outputs - - - Details - - src/app/components/transaction/transaction.component.html - 192 - - Transaction Details - transaction.details - - - Details - - src/app/components/transaction/transaction.component.html - 198 - - - src/app/components/transaction/transaction.component.html - 274 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 81 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 127 - - transaction.details - - - Size - - src/app/components/transaction/transaction.component.html - 203 - - Transaction Size - transaction.size - - - Virtual size - - src/app/components/transaction/transaction.component.html - 207 - - - src/app/components/transaction/transaction.component.html - 150 - - Transaction Virtual Size - transaction.vsize - - - Weight - - src/app/components/transaction/transaction.component.html - 211 - - Transaction Weight - transaction.weight + block.hash Timestamp - - src/app/components/transaction/transaction.component.html - 46 - src/app/bisq/bisq-block/bisq-block.component.html 21 @@ -186,44 +485,484 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html - 27 + 27,30 + + + src/app/components/transaction/transaction.component.html + 46 Transaction Timestamp transaction.timestamp + + Previous hash + + src/app/bisq/bisq-block/bisq-block.component.html + 35 + + + src/app/bisq/bisq-block/bisq-block.component.html + 93 + + Transaction Previous Hash + block.previous_hash + + + Block : + + src/app/bisq/bisq-block/bisq-block.component.ts + 89 + + + + Blocks + + src/app/bisq/bisq-blocks/bisq-blocks.component.html + 2,7 + + + src/app/bisq/bisq-blocks/bisq-blocks.component.ts + 38 + + + src/app/components/latest-blocks/latest-blocks.component.html + 2,7 + + + src/app/components/master-page/master-page.component.html + 38,40 + + + src/app/components/master-page/master-page.component.html + 46,48 + + Bisq blocks header + + + Height + + src/app/bisq/bisq-blocks/bisq-blocks.component.html + 12,13 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 22,24 + + + src/app/components/latest-blocks/latest-blocks.component.html + 9,10 + + + src/app/dashboard/dashboard.component.html + 78,80 + + Bisq block height header + + + Confirmed + + src/app/bisq/bisq-blocks/bisq-blocks.component.html + 13,14 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 21,23 + + Bisq block confirmed time header + + + Transactions + + src/app/bisq/bisq-blocks/bisq-blocks.component.html + 15,18 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 2,5 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 80 + + + src/app/components/latest-blocks/latest-blocks.component.html + 12,15 + + + src/app/components/master-page/master-page.component.html + 35,38 + + + src/app/components/mempool-block/mempool-block.component.html + 28,32 + + Bisq block transactions title + + + Bisq trading volume + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 3,7 + + Bisq markets title + + + Markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 19,20 + + Bisq markets all + + + Bitcoin markets + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 20,22 + + Bisq Bitcoin markets + + + Currency + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 26 + + + + Price + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 27,28 + + + src/app/bisq/bisq-market/bisq-market.component.html + 81,82 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 36 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 78 + + + src/app/bisq/bisq-trades/bisq-trades.component.html + 4,5 + + + + Volume (7d) + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 28 + + Trading volume 7D + + + Trades (7d) + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 29 + + Trades amount 7D + + + Latest trades + + src/app/bisq/bisq-dashboard/bisq-dashboard.component.html + 50,54 + + + src/app/bisq/bisq-market/bisq-market.component.html + 61,63 + + Latest trades header + + + Buy offers + + src/app/bisq/bisq-market/bisq-market.component.html + 75,76 + + Bisq buy offers + + + Sell offers + + src/app/bisq/bisq-market/bisq-market.component.html + 76,79 + + Bisq sell offers + + + Amount () + + src/app/bisq/bisq-market/bisq-market.component.html + 113,114 + + + src/app/bisq/bisq-trades/bisq-trades.component.html + 44,45 + + Trade amount (Symbol) + + + BSQ statistics + + src/app/bisq/bisq-stats/bisq-stats.component.html + 2 + + + src/app/bisq/bisq-stats/bisq-stats.component.ts + 28 + + BSQ statistics header + + + Existing amount + + src/app/bisq/bisq-stats/bisq-stats.component.html + 12 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 54 + + BSQ existing amount + + + Minted amount + + src/app/bisq/bisq-stats/bisq-stats.component.html + 16 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 58 + + BSQ minted amount + + + Burnt amount + + src/app/bisq/bisq-stats/bisq-stats.component.html + 20 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 62 + + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 57,59 + + + src/app/bisq/bisq-transfers/bisq-transfers.component.html + 62 + + BSQ burnt amount + + + Addresses + + src/app/bisq/bisq-stats/bisq-stats.component.html + 24 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 66 + + BSQ addresses + + + Unspent TXOs + + src/app/bisq/bisq-stats/bisq-stats.component.html + 28 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 70 + + BSQ unspent transaction outputs + + + Spent TXOs + + src/app/bisq/bisq-stats/bisq-stats.component.html + 32 + + BSQ spent transaction outputs + + + Market cap + + src/app/bisq/bisq-stats/bisq-stats.component.html + 40 + + + src/app/bisq/bisq-stats/bisq-stats.component.html + 82 + + BSQ token market cap + + + Date + + src/app/bisq/bisq-trades/bisq-trades.component.html + 3,5 + + + + Amount + + src/app/bisq/bisq-trades/bisq-trades.component.html + 8,11 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 20,22 + + + src/app/dashboard/dashboard.component.html + 108,109 + + + + Inputs + + src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html + 7 + + transaction.inputs + + + Outputs + + src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html + 11 + + transaction.outputs + + + Issued amount + + src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html + 15 + + + src/app/components/asset/asset.component.html + 51 + + Liquid Asset issued amount + asset.issued-amount + + + Type + + src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html + 25 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 19,21 + + + src/app/components/transaction/transaction.component.html + 148 + + + src/app/components/transactions-list/transactions-list.component.html + 169,170 + + + + Version + + src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html + 29 + + transaction.version + + + Transaction + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 3,7 + + + src/app/bisq/bisq-transactions/bisq-transactions.component.html + 18,19 + + + src/app/components/transaction/transaction.component.html + 12 + + shared.transaction + + + confirmation + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 9,10 + + + src/app/bisq/bisq-transfers/bisq-transfers.component.html + 69,70 + + + src/app/components/transaction/transaction.component.html + 17 + + + src/app/components/transactions-list/transactions-list.component.html + 208,209 + + Transaction singular confirmation count + shared.confirmation-count.singular + + + confirmations + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 10,11 + + + src/app/bisq/bisq-transfers/bisq-transfers.component.html + 70,71 + + + src/app/components/transaction/transaction.component.html + 18 + + + src/app/components/transactions-list/transactions-list.component.html + 209,210 + + Transaction plural confirmation count + shared.confirmation-count.plural + Included in block + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 36,38 + src/app/components/transaction/transaction.component.html 55 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 36 - Transaction included in block transaction.included-in-block - - Confirmed - - src/app/components/transaction/transaction.component.html - 62 - - Transaction Confirmed state - transaction.confirmed - - - After - - src/app/components/transaction/transaction.component.html - 63 - - Transaction confirmed after - transaction.confirmed.after - Features + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 42,44 + src/app/components/transaction/transaction.component.html 67 @@ -232,832 +971,354 @@ src/app/components/transaction/transaction.component.html 125 - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 42 - Transaction features transaction.features - - ETA + + Fee per vByte - src/app/components/transaction/transaction.component.html - 104 - - Transaction ETA - transaction.eta - - - First seen - - src/app/components/transaction/transaction.component.html - 98 - - Transaction first seen - transaction.first-seen - - - In several hours (or more) - - src/app/components/transaction/transaction.component.html - 111 - - Transaction ETA in several hours or more - transaction.eta.in-several-hours - - - Type - - src/app/components/transaction/transaction.component.html - 148 - - - src/app/components/transactions-list/transactions-list.component.html - 169 - - - src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html - 25 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 19 - - transactions-list.vout.scriptpubkey-type - - - TXID - - src/app/components/transaction/transaction.component.html - 149 - - - src/app/dashboard/dashboard.component.html - 107 - - dashboard.latest-transactions.txid - - - Fee rate - - src/app/components/transaction/transaction.component.html - 151 - - - src/app/components/transaction/transaction.component.html - 330 - - Transaction fee rate - transaction.fee-rate - - - Descendant - - src/app/components/transaction/transaction.component.html - 158 - - Descendant - transaction.descendant - - - sat/vB - - src/app/components/transaction/transaction.component.html - 166 - - - src/app/components/transaction/transaction.component.html - 179 - - - src/app/components/transaction/transaction.component.html - 332 - - - src/app/components/transaction/transaction.component.html - 342 - - - src/app/components/transactions-list/transactions-list.component.html - 201 - - - src/app/components/block/block.component.html - 46 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 8 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 11 - - - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 10 - - - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 13 - - - src/app/components/mempool-block/mempool-block.component.html - 17 - - - src/app/components/mempool-block/mempool-block.component.html - 21 - - - src/app/components/fees-box/fees-box.component.html - 6 - - - src/app/components/fees-box/fees-box.component.html - 12 - - - src/app/components/fees-box/fees-box.component.html - 18 - - - src/app/dashboard/dashboard.component.html - 117 - - - src/app/dashboard/dashboard.component.html - 169 - - sat/vB - shared.sat-vbyte - - - Ancestor - - src/app/components/transaction/transaction.component.html - 172 - - Transaction Ancestor - transaction.ancestor - - - Transaction not found. - - src/app/components/transaction/transaction.component.html - 299 - - transaction.error.transaction-not-found - - - Waiting for it to appear in the mempool... - - src/app/components/transaction/transaction.component.html - 300 - - transaction.error.waiting-for-it-to-appear - - - In ~ minutes - - src/app/components/transaction/transaction.component.html - 315 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 41 - - Block Frequency (plural) - mempool-blocks.eta-of-next-block-plural - - - In ~ minute - - src/app/components/transaction/transaction.component.html - 317 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 43 - - Block Frequency - mempool-blocks.eta-of-next-block - - - block - - src/app/components/transaction/transaction.component.html - 319 - - - src/app/components/footer/footer.component.html - 22 - - shared.block - - - blocks - - src/app/components/transaction/transaction.component.html - 320 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 30 - - - src/app/components/footer/footer.component.html - 23 - - shared.blocks - - - Fee - - src/app/components/transaction/transaction.component.html - 326 + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 62,64 Transaction fee - transaction.fee + transaction.fee-per-vbyte - - sat + + Details + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 81,84 + + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 127,129 + src/app/components/transaction/transaction.component.html - 327 + 198 - Transaction Fee sat - transaction.fee.sat - - - Effective fee rate src/app/components/transaction/transaction.component.html - 340 + 274 - Effective transaction fee rate - transaction.effective-fee-rate + transaction.details - - Coinbase + + Inputs & Outputs - src/app/components/transactions-list/transactions-list.component.html - 39 + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 88,96 - transactions-list.coinbase + + src/app/bisq/bisq-transaction/bisq-transaction.component.html + 148,153 + + + src/app/components/transaction/transaction.component.html + 190 + + Transaction inputs and outputs + transaction.inputs-and-outputs - - (Newly Generated Coins) + + Transaction: - src/app/components/transactions-list/transactions-list.component.html - 39 - - transactions-list.newly-generated-coins - - - Peg-in - - src/app/components/transactions-list/transactions-list.component.html - 41 - - transactions-list.peg-in - - - nSequence - - src/app/components/transactions-list/transactions-list.component.html - 95 - - transactions-list.nsequence - - - ScriptSig (ASM) - - src/app/components/transactions-list/transactions-list.component.html - 74 - - ScriptSig (ASM) - transactions-list.scriptsig.asm - - - ScriptSig (HEX) - - src/app/components/transactions-list/transactions-list.component.html - 78 - - ScriptSig (HEX) - transactions-list.scriptsig.hex - - - Witness - - src/app/components/transactions-list/transactions-list.component.html - 83 - - transactions-list.witness - - - P2SH redeem script - - src/app/components/transactions-list/transactions-list.component.html - 87 - - transactions-list.p2sh-redeem-script - - - P2WSH witness script - - src/app/components/transactions-list/transactions-list.component.html - 91 - - transactions-list.p2wsh-witness-script - - - Previous output script - - src/app/components/transactions-list/transactions-list.component.html - 99 - - transactions-list.previous-output-script - - - Load all - - src/app/components/transactions-list/transactions-list.component.html - 109 - - - src/app/components/transactions-list/transactions-list.component.html - 191 - - transactions-list.load-all - - - Peg-out to - - src/app/components/transactions-list/transactions-list.component.html - 128 - - transactions-list.peg-out-to - - - ScriptPubKey (ASM) - - src/app/components/transactions-list/transactions-list.component.html - 173 - - ScriptPubKey (ASM) - transactions-list.scriptpubkey.asm - - - ScriptPubKey (HEX) - - src/app/components/transactions-list/transactions-list.component.html - 177 - - ScriptPubKey (HEX) - transactions-list.scriptpubkey.hex - - - data - - src/app/components/transactions-list/transactions-list.component.html - 181 - - transactions-list.vout.scriptpubkey-type.data - - - sat - - src/app/components/transactions-list/transactions-list.component.html - 201 - - sat - shared.sat - - - Confidential - - src/app/components/transactions-list/transactions-list.component.html - 217 - - - src/app/components/amount/amount.component.html - 6 - - - src/app/components/address/address.component.html - 134 - - - src/app/components/asset/asset.component.html - 143 - - shared.confidential - - - Block : - - src/app/components/block/block.component.ts - 105 - - - - Genesis - - src/app/components/block/block.component.html - 4 - - block.genesis - - - Block - - src/app/components/block/block.component.html - 4 - - - src/app/bisq/bisq-block/bisq-block.component.html - 4 - - block.block - - - Hash - - src/app/components/block/block.component.html - 18 - - - src/app/bisq/bisq-block/bisq-block.component.html - 17 - - - src/app/bisq/bisq-block/bisq-block.component.html - 80 - - block.hash - - - Timestamp - - src/app/components/block/block.component.html - 22 - - - src/app/components/latest-blocks/latest-blocks.component.html - 10 - - block.timestamp - - - Size - - src/app/components/block/block.component.html - 31 - - - src/app/components/latest-blocks/latest-blocks.component.html - 13 - - - src/app/components/mempool-block/mempool-block.component.html - 32 - - - src/app/dashboard/dashboard.component.html - 81 - - block.size - - - Weight - - src/app/components/block/block.component.html - 35 - - block.weight - - - Miner - - src/app/components/block/block.component.html - 74 - - block.miner - - - Median fee - - src/app/components/block/block.component.html - 45 - - - src/app/components/mempool-block/mempool-block.component.html - 16 - - block.median-fee - - - Based on average native segwit transaction of 140 vBytes - - src/app/components/block/block.component.html - 46 - - - src/app/components/mempool-block/mempool-block.component.html - 17 - - - src/app/components/fees-box/fees-box.component.html - 6 - - - src/app/components/fees-box/fees-box.component.html - 12 - - - src/app/components/fees-box/fees-box.component.html - 18 - - Transaction fee tooltip - - - Total fees - - src/app/components/block/block.component.html + src/app/bisq/bisq-transaction/bisq-transaction.component.ts 50 - src/app/components/block/block.component.html - 65 - - Total fees in a block - block.total-fees - - - Subsidy + fees: - - src/app/components/block/block.component.html - 57 - - - src/app/components/block/block.component.html - 69 - - Total subsidy and fees in a block - block.subsidy-and-fees - - - transaction - - src/app/components/block/block.component.html - 87 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 16 - - - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 18 - - - src/app/bisq/bisq-address/bisq-address.component.html - 48 - - - src/app/bisq/bisq-block/bisq-block.component.html - 49 - - shared.transaction-count.singular - - - transactions - - src/app/components/block/block.component.html - 88 - - - src/app/components/mempool-blocks/mempool-blocks.component.html - 17 - - - src/app/components/blockchain-blocks/blockchain-blocks.component.html - 19 - - - src/app/bisq/bisq-address/bisq-address.component.html - 49 - - - src/app/bisq/bisq-block/bisq-block.component.html - 50 - - shared.transaction-count.plural - - - Error loading block data. - - src/app/components/block/block.component.html - 176 - - block.error.loading-block-data - - - Address: - - src/app/components/address/address.component.ts - 71 - - - - Address - - src/app/components/address/address.component.html - 2 - - - src/app/bisq/bisq-address/bisq-address.component.html - 2 - - shared.address - - - Balance - - src/app/components/address/address.component.html - 30 - - - src/app/bisq/bisq-address/bisq-address.component.html - 28 - - address.balance - - - Total received - - src/app/components/address/address.component.html - 21 - - - src/app/bisq/bisq-address/bisq-address.component.html - 20 - - address.total-received - - - Total sent - - src/app/components/address/address.component.html - 25 - - - src/app/bisq/bisq-address/bisq-address.component.html - 24 - - - src/app/bisq/bisq-blocks/bisq-blocks.component.html - 14 - - address.total-sent - - - of transaction - - src/app/components/address/address.component.html - 50 - - X of X Address Transaction - - - of transactions - - src/app/components/address/address.component.html + src/app/components/transaction/transaction.component.ts 51 - X of X Address Transactions (Plural) - - Error loading address data. + + Asset listing fee - src/app/components/address/address.component.html - 115 + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 30 - address.error.loading-address-data - - TXID, block height, hash or address + + Blind vote - src/app/components/search-form/search-form.component.html - 4 + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 31 - search-form.searchbar-placeholder - - Search + + Compensation request - src/app/components/search-form/search-form.component.html - 7 + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 32 - search-form.search-title - - Blocks + + Genesis - src/app/components/latest-blocks/latest-blocks.component.ts + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 33 + + + + Irregular + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 34 + + + + Lockup + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 35 + + + + Pay trade fee + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 36 + + + + Proof of burn + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 37 + + + + Proposal + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 38 + + + + Reimbursement request + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts 39 + + + Transfer BSQ + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 40 + + + + Unlock + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 41 + + + + Vote reveal + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 42 + + + + Filter + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 56,55 + + + + Select all + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 57,55 + + + + Unselect all + + src/app/bisq/bisq-transactions/bisq-transactions.component.ts + 58 + + + + Trades + + src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts + 87 + + + + Volume + + src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts + 88 + + + + The Mempool Open Source Project + + src/app/components/about/about.component.html + 13,16 + + about.about-the-project + + + An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers. + + src/app/components/about/about.component.html + 16,20 + + + + Enterprise Sponsors ๐Ÿš€ + + src/app/components/about/about.component.html + 47,50 + + about.sponsors.enterprise.withRocket + + + Community Sponsors โค๏ธ + + src/app/components/about/about.component.html + 73,77 + + about.sponsors.withHeart + + + Become a sponsor โค๏ธ + + src/app/components/about/about.component.html + 89,91 + + about.become-a-sponsor + + + Navigate to https://mempool.space/about to sponsor + + src/app/components/about/about.component.html + 91 + + about.navigate-to-sponsor + + + Amount required + + src/app/components/about/about.component.html + 108,109 + + about.sponsor.amount-required + + + Minimum amount is 0.001 BTC + + src/app/components/about/about.component.html + 109,111 + + about.sponsor.minimum-amount + + + Request invoice + + src/app/components/about/about.component.html + 111,117 + + about.sponsor.request-invoice + + + If you donate 0.01 BTC or more, your profile photo will be added to the list of sponsors above :) + + src/app/components/about/about.component.html + 118,122 + + about.sponsor.description + + + Waiting for transaction... + + src/app/components/about/about.component.html + 196,200 + + about.sponsor.waiting-for-transaction + + + Donation confirmed! + + src/app/components/about/about.component.html + 201,205 + + about.sponsor.donation-confirmed + + + Thank you! + + src/app/components/about/about.component.html + 201,207 + + about.sponsor.thank-you + + + Community Integrations + + src/app/components/about/about.component.html + 207,210 + + about.integrations + + + Community Alliances + + src/app/components/about/about.component.html + 317,320 + + about.alliances + + + Project Contributors + + src/app/components/about/about.component.html + 334,338 + + about.contributors + + + Project Maintainers + + src/app/components/about/about.component.html + 353,356 + + about.maintainers + + + Terms of Service + + src/app/components/about/about.component.html + 399,405 + src/app/components/api-docs/api-docs.component.html - 79 - - - - Blocks - - src/app/components/latest-blocks/latest-blocks.component.html - 2 - - - src/app/components/master-page/master-page.component.html - 35 - - - src/app/components/master-page/master-page.component.html - 46 - - - src/app/bisq/bisq-blocks/bisq-blocks.component.ts - 35 - - - src/app/bisq/bisq-blocks/bisq-blocks.component.html - 2 - - latest-blocks.blocks - - - Height - - src/app/components/latest-blocks/latest-blocks.component.html - 9 + 288,293 src/app/dashboard/dashboard.component.html - 78 + 143,152 - - src/app/bisq/bisq-blocks/bisq-blocks.component.html - 12 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 22 - - latest-blocks.height + Terms of Service + shared.terms-of-service - - Mined + + About - src/app/components/latest-blocks/latest-blocks.component.html - 11 - - - src/app/dashboard/dashboard.component.html - 79 - - latest-blocks.mined - - - Transactions - - src/app/components/latest-blocks/latest-blocks.component.html - 12 + src/app/components/about/about.component.ts + 44 src/app/components/master-page/master-page.component.html - 32 + 62,65 - - src/app/components/mempool-block/mempool-block.component.html - 28 - - - src/app/bisq/bisq-blocks/bisq-blocks.component.html - 15 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 77 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 2 - - latest-blocks.transactions multisig of @@ -1083,396 +1344,528 @@ address-labels.upper-layer-peg-out + + of transaction + + src/app/components/address/address.component.html + 50,51 + + X of X Address Transaction + + + of transactions + + src/app/components/address/address.component.html + 51,52 + + X of X Address Transactions (Plural) + + + Error loading address data. + + src/app/components/address/address.component.html + 115,118 + + address.error.loading-address-data + + + Confidential + + src/app/components/address/address.component.html + 134,136 + + + src/app/components/amount/amount.component.html + 6,9 + + + src/app/components/asset/asset.component.html + 143 + + + src/app/components/transactions-list/transactions-list.component.html + 217,219 + + shared.confidential + + + Address: + + src/app/components/address/address.component.ts + 71 + + + + API Service + + src/app/components/api-docs/api-docs.component.html + 4,7 + + api-docs.title + + + Websocket + + src/app/components/api-docs/api-docs.component.html + 9,14 + + API Docs tab for Websocket + api-docs.tab.websocket + + + Endpoint + + src/app/components/api-docs/api-docs.component.html + 14,15 + + + src/app/components/api-docs/api-docs.component.html + 32,33 + + + src/app/components/api-docs/api-docs.component.html + 58,59 + + + src/app/components/api-docs/api-docs.component.html + 84,85 + + + src/app/components/api-docs/api-docs.component.html + 138,139 + + + src/app/components/api-docs/api-docs.component.html + 188,189 + + + src/app/components/api-docs/api-docs.component.html + 222,223 + + + src/app/components/api-docs/api-docs.component.html + 247,248 + + API Docs Endpoint + api-docs.shared.endpoint + + + Description + + src/app/components/api-docs/api-docs.component.html + 15,18 + + + src/app/components/api-docs/api-docs.component.html + 33,36 + + + src/app/components/api-docs/api-docs.component.html + 59,62 + + + src/app/components/api-docs/api-docs.component.html + 85,88 + + + src/app/components/api-docs/api-docs.component.html + 139,142 + + + src/app/components/api-docs/api-docs.component.html + 189,192 + + + src/app/components/api-docs/api-docs.component.html + 223,226 + + + src/app/components/api-docs/api-docs.component.html + 248,251 + + API Docs Description + api-docs.shared.description + + + Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-block, 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/api-docs/api-docs.component.html + 19,20 + + api-docs.websocket.websocket + + + Fees + + src/app/components/api-docs/api-docs.component.html + 27,32 + + API Docs tab for Fees + api-docs.tab.fees + + + Returns our currently suggested fees for new transactions. + + src/app/components/api-docs/api-docs.component.html + 37,40 + + API Docs for /api/v1/fees/recommended + api-docs.fees.recommended + + + Returns current mempool as projected blocks. + + src/app/components/api-docs/api-docs.component.html + 41,44 + + API Docs for /api/v1/fees/mempool-blocks + api-docs.fees.mempool-blocks + + + Returns the ancestors and the best descendant fees for a transaction. + + src/app/components/api-docs/api-docs.component.html + 45,52 + + API Docs for /api/v1/fees/cpfp + api-docs.fees.cpfp + + + Mempool + + src/app/components/api-docs/api-docs.component.html + 53,58 + + API Docs tab for Mempool + api-docs.tab.mempool + + + Returns current mempool backlog statistics. + + src/app/components/api-docs/api-docs.component.html + 63,66 + + 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/api-docs/api-docs.component.html + 67,70 + + 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/api-docs/api-docs.component.html + 71,72 + + API Docs for /api/mempool/recent + api-docs.mempool.recent + + + Blocks + + src/app/components/api-docs/api-docs.component.html + 79,84 + + + src/app/components/latest-blocks/latest-blocks.component.ts + 39 + + API Docs tab for Blocks + api-docs.tab.blocks + + + 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/api-docs/api-docs.component.html + 89,90 + + + + 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/api-docs/api-docs.component.html + 93,94 + + + + 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/api-docs/api-docs.component.html + 97,98 + + + + Returns a list of all txids in the block. + + src/app/components/api-docs/api-docs.component.html + 101,104 + + + + Returns the transaction at index :index within the specified block. + + src/app/components/api-docs/api-docs.component.html + 105,106 + + + + Returns the raw block representation in binary. + + src/app/components/api-docs/api-docs.component.html + 109,112 + + + + Returns the hash of the block currently at :height. + + src/app/components/api-docs/api-docs.component.html + 113,114 + + + + Returns the 10 newest blocks starting at the tip or at :start_height if specified. + + src/app/components/api-docs/api-docs.component.html + 117,118 + + + + Returns the height of the last block. + + src/app/components/api-docs/api-docs.component.html + 121,124 + + + + Returns the hash of the last block. + + src/app/components/api-docs/api-docs.component.html + 125,130 + + + + Transactions + + src/app/components/api-docs/api-docs.component.html + 133,138 + + API Docs tab for Transactions + api-docs.tab.transactions + + + Returns details about a transaction. Available fields: txid, version, locktime, size, weight, fee, vin, vout, and status. + + src/app/components/api-docs/api-docs.component.html + 143,144 + + + + Returns the confirmation status of a transaction. Available fields: confirmed (boolean), block_height (optional), and block_hash (optional). + + src/app/components/api-docs/api-docs.component.html + 147,148 + + + + Returns a transaction serialized as hex. + + src/app/components/api-docs/api-docs.component.html + 151,154 + + + + Returns a transaction as binary data. + + src/app/components/api-docs/api-docs.component.html + 155,157 + + + + Returns a merkle inclusion proof for the transaction using bitcoind's merkleblock format. + + src/app/components/api-docs/api-docs.component.html + 159,160 + + + + Returns a merkle inclusion proof for the transaction using Electrum's blockchain.transaction.get_merkle format. + + src/app/components/api-docs/api-docs.component.html + 163,164 + + + + 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/api-docs/api-docs.component.html + 167,168 + + + + Returns the spending status of all transaction outputs. + + src/app/components/api-docs/api-docs.component.html + 171,174 + + + + 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/api-docs/api-docs.component.html + 175,176 + + + + Addresses + + src/app/components/api-docs/api-docs.component.html + 183,188 + + API Docs tab for Addresses + api-docs.tab.addresses + + + 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/api-docs/api-docs.component.html + 193,194 + + + + 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/api-docs/api-docs.component.html + 197,199 + + + + 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/api-docs/api-docs.component.html + 201,204 + + + + Get unconfirmed transaction history for the specified address/scripthash. Returns up to 50 transactions (no paging). + + src/app/components/api-docs/api-docs.component.html + 205,208 + + + + 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/api-docs/api-docs.component.html + 209,211 + + + + Assets + + src/app/components/api-docs/api-docs.component.html + 217,222 + + API Docs tab for Assets + api-docs.tab.assets + + + Returns information about a Liquid asset. + + src/app/components/api-docs/api-docs.component.html + 227,230 + + + + 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/api-docs/api-docs.component.html + 231,234 + + + + 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/api-docs/api-docs.component.html + 235,239 + + + + BSQ + + src/app/components/api-docs/api-docs.component.html + 242,247 + + API Docs tab for BSQ + api-docs.tab.bsq + + + Returns statistics about all Bisq transactions. + + src/app/components/api-docs/api-docs.component.html + 252,255 + + + + Returns details about a Bisq transaction. + + src/app/components/api-docs/api-docs.component.html + 256,259 + + + + Returns :length of latest Bisq transactions, starting from :index. + + src/app/components/api-docs/api-docs.component.html + 260,263 + + + + Returns all Bisq transactions that exist in a Bitcoin block. + + src/app/components/api-docs/api-docs.component.html + 264,267 + + + + Returns :length Bitcoin blocks that contain Bisq transactions, starting from :index. + + src/app/components/api-docs/api-docs.component.html + 268,271 + + + + Returns the most recently processed Bitcoin block height processed by Bisq. + + src/app/components/api-docs/api-docs.component.html + 272,275 + + + + Returns all Bisq transactions belonging to a Bitcoin address, with 'B' prefixed in front of the address. + + src/app/components/api-docs/api-docs.component.html + 276,280 + + API - - src/app/components/master-page/master-page.component.html - 59 - src/app/components/api-docs/api-docs.component.ts 24 - master-page.api - - - About + + src/app/components/bisq-master-page/bisq-master-page.component.html + 19,28 + src/app/components/master-page/master-page.component.html - 62 - - - src/app/components/about/about.component.ts - 44 - - master-page.about - - - Offline - - src/app/components/master-page/master-page.component.html - 8 - - master-page.offline - - - Reconnecting... - - src/app/components/master-page/master-page.component.html - 9 - - master-page.reconnecting - - - Layer 2 Networks - - src/app/components/master-page/master-page.component.html - 22 - - master-page.layer2-networks-header - - - Stats - - src/app/components/master-page/master-page.component.html - 38 - - master-page.stats - - - Dashboard - - src/app/components/master-page/master-page.component.html - 43 - - master-page.dashboard - - - Graphs - - src/app/components/master-page/master-page.component.html - 49 - - - src/app/components/statistics/statistics.component.ts - 52 - - master-page.graphs - - - TV view - - src/app/components/master-page/master-page.component.html - 52 - - - src/app/components/television/television.component.ts - 27 - - master-page.tvview - - - Assets - - src/app/components/master-page/master-page.component.html - 56 - - - src/app/assets/assets.component.ts - 40 - - master-page.assets - - - The Mempool Open Source Project - - src/app/components/about/about.component.html - 13 - - about.about-the-project - - - An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers. - - src/app/components/about/about.component.html - 16 - - - - Enterprise Sponsors ๐Ÿš€ - - src/app/components/about/about.component.html - 47 - - about.sponsors.enterprise.withRocket - - - Community Sponsors โค๏ธ - - src/app/components/about/about.component.html - 73 - - about.sponsors.withHeart - - - Become a sponsor โค๏ธ - - src/app/components/about/about.component.html - 89 - - about.become-a-sponsor - - - Request invoice - - src/app/components/about/about.component.html - 111 - - about.sponsor.request-invoice - - - Community Integrations - - src/app/components/about/about.component.html - 207 - - about.integrations - - - Community Alliances - - src/app/components/about/about.component.html - 317 - - about.alliances - - - Project Contributors - - src/app/components/about/about.component.html - 334 - - about.contributors - - - Project Maintainers - - src/app/components/about/about.component.html - 353 - - about.maintainers - - - Terms of Service - - src/app/components/about/about.component.html - 399 - - - src/app/dashboard/dashboard.component.html - 143 - - - src/app/components/api-docs/api-docs.component.html - 288 - - Terms of Service - shared.terms-of-service - - - Navigate to https://mempool.space/about to sponsor - - src/app/components/about/about.component.html - 91 - - about.navigate-to-sponsor - - - Amount required - - src/app/components/about/about.component.html - 108 - - about.sponsor.amount-required - - - Minimum amount is 0.001 BTC - - src/app/components/about/about.component.html - 109 - - about.sponsor.minimum-amount - - - If you donate 0.01 BTC or more, your profile photo will be added to the list of sponsors above :) - - src/app/components/about/about.component.html - 118 - - about.sponsor.description - - - Waiting for transaction... - - src/app/components/about/about.component.html - 196 - - about.sponsor.waiting-for-transaction - - - Donation confirmed! - - src/app/components/about/about.component.html - 201 - - about.sponsor.donation-confirmed - - - Thank you! - - src/app/components/about/about.component.html - 201 - - about.sponsor.thank-you - - - Loading graphs... - - src/app/components/statistics/statistics.component.html - 6 - - statistics.loading-graphs - - - Mempool by vBytes (sat/vByte) - - src/app/components/statistics/statistics.component.html - 16 - - statistics.memory-by-vBytes - - - Invert - - src/app/components/statistics/statistics.component.html - 43 - - statistics.component-invert.title - - - Transaction vBytes per second (vB/s) - - src/app/components/statistics/statistics.component.html - 57 - - statistics.transaction-vbytes-per-second - - - Waiting for blocks... - - src/app/components/blockchain/blockchain.component.html - 11 - - Loading text - blockchain.waiting-for-blocks - - - Tx vBytes per second: - - src/app/components/footer/footer.component.html - 5 - - footer.tx-vbytes-per-second - - - Unconfirmed - - src/app/components/footer/footer.component.html - 16 - - - src/app/dashboard/dashboard.component.html - 182 - - Unconfirmed count - dashboard.unconfirmed - - - Mempool size - - src/app/components/footer/footer.component.html - 20 - - Mempool size - dashboard.mempool-size - - - Backend is synchronizing - - src/app/components/footer/footer.component.html - 7 - - - src/app/dashboard/dashboard.component.html - 195 - - footer.backend-is-synchronizing - - - vB/s - - src/app/components/footer/footer.component.html - 11 - - - src/app/dashboard/dashboard.component.html - 200 - - vB/s - shared.vbytes-per-second - - - Next block - - src/app/components/mempool-block/mempool-block.component.ts - 71 - - - - Stack of mempool blocks - - src/app/components/mempool-block/mempool-block.component.ts - 73 - - - - Mempool block - - src/app/components/mempool-block/mempool-block.component.ts - 75 - - - - Fee span - - src/app/components/mempool-block/mempool-block.component.html - 20 - - mempool-block.fee-span - - - Total fees - - src/app/components/mempool-block/mempool-block.component.html - 24 - - mempool-block.total-fees - - - Asset: - - src/app/components/asset/asset.component.ts - 73 + 59,61 @@ -1502,15 +1895,6 @@ Liquid Asset precision asset.precision - - Burned amount - - src/app/components/asset/asset.component.html - 55 - - Liquid Asset burned amount - asset.burned-amount - Issuer @@ -1547,18 +1931,14 @@ Liquid Asset pegged-out amount asset.pegged-out - - Issued amount + + Burned amount src/app/components/asset/asset.component.html - 51 + 55 - - src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html - 15 - - Liquid Asset issued amount - asset.issued-amount + Liquid Asset burned amount + asset.burned-amount Circulating amount @@ -1605,97 +1985,512 @@ asset.error.loading-asset-data - - Registered assets + + Asset: - src/app/assets/assets.component.html - 2 + src/app/components/asset/asset.component.ts + 73 - Registered assets page header - - Search asset + + Offline - src/app/assets/assets.component.html - 9 + src/app/components/bisq-master-page/bisq-master-page.component.html + 7,8 - Search Assets Placeholder Text + + src/app/components/master-page/master-page.component.html + 8,9 + + master-page.offline - - Clear + + Reconnecting... - src/app/assets/assets.component.html - 11 + src/app/components/bisq-master-page/bisq-master-page.component.html + 8,13 - Search Clear Button + + src/app/components/master-page/master-page.component.html + 9,14 + + master-page.reconnecting - - Name + + Dashboard - src/app/assets/assets.component.html - 19 + src/app/components/bisq-master-page/bisq-master-page.component.html + 16,18 - src/app/assets/assets.component.html + src/app/components/master-page/master-page.component.html + 31,33 + + master-page.dashboard + + + Genesis + + src/app/components/block/block.component.html + 4 + + block.genesis + + + Timestamp + + src/app/components/block/block.component.html + 22,24 + + + src/app/components/latest-blocks/latest-blocks.component.html + 10,12 + + block.timestamp + + + Size + + src/app/components/block/block.component.html + 31,33 + + + src/app/components/latest-blocks/latest-blocks.component.html + 13,16 + + + src/app/components/mempool-block/mempool-block.component.html + 32,35 + + + src/app/dashboard/dashboard.component.html + 81,84 + + block.size + + + Weight + + src/app/components/block/block.component.html + 35,37 + + block.weight + + + Median fee + + src/app/components/block/block.component.html + 45,46 + + + src/app/components/mempool-block/mempool-block.component.html + 16,17 + + block.median-fee + + + sat/vB + + src/app/components/block/block.component.html 46 - Asset name header + + src/app/components/blockchain-blocks/blockchain-blocks.component.html + 10 + + + src/app/components/blockchain-blocks/blockchain-blocks.component.html + 13 + + + src/app/components/fees-box/fees-box.component.html + 6 + + + src/app/components/fees-box/fees-box.component.html + 12 + + + src/app/components/fees-box/fees-box.component.html + 18 + + + src/app/components/mempool-block/mempool-block.component.html + 17 + + + src/app/components/mempool-block/mempool-block.component.html + 21,24 + + + src/app/components/mempool-blocks/mempool-blocks.component.html + 8,11 + + + src/app/components/mempool-blocks/mempool-blocks.component.html + 11,13 + + + src/app/components/transaction/transaction.component.html + 166 + + + src/app/components/transaction/transaction.component.html + 179 + + + src/app/components/transaction/transaction.component.html + 332 + + + src/app/components/transaction/transaction.component.html + 342 + + + src/app/components/transactions-list/transactions-list.component.html + 201 + + + src/app/dashboard/dashboard.component.html + 117,121 + + + src/app/dashboard/dashboard.component.html + 169,173 + + sat/vB + shared.sat-vbyte - - Ticker + + Based on average native segwit transaction of 140 vBytes - src/app/assets/assets.component.html - 20 + src/app/components/block/block.component.html + 46,48 - src/app/assets/assets.component.html - 47 + src/app/components/fees-box/fees-box.component.html + 6,10 - Asset ticker header + + src/app/components/fees-box/fees-box.component.html + 12,16 + + + src/app/components/fees-box/fees-box.component.html + 18,24 + + + src/app/components/mempool-block/mempool-block.component.html + 17,20 + + Transaction fee tooltip - - Issuer domain + + Total fees - src/app/assets/assets.component.html - 21 + src/app/components/block/block.component.html + 50,51 - src/app/assets/assets.component.html - 48 + src/app/components/block/block.component.html + 65,67 - Asset Issuer Domain header + Total fees in a block + block.total-fees - - Asset ID + + Subsidy + fees: - src/app/assets/assets.component.html - 22 + src/app/components/block/block.component.html + 57,59 - src/app/assets/assets.component.html - 49 + src/app/components/block/block.component.html + 69,72 - Asset ID header + Total subsidy and fees in a block + block.subsidy-and-fees - - Issuance TX + + Miner - src/app/assets/assets.component.html - 23 + src/app/components/block/block.component.html + 74,75 - - src/app/assets/assets.component.html - 50 - - Asset issuance transaction header + block.miner - - Error loading assets data. + + Error loading block data. - src/app/assets/assets.component.html - 67 + src/app/components/block/block.component.html + 176,184 - Asset data load error + block.error.loading-block-data + + + Block : + + src/app/components/block/block.component.ts + 105 + + + + Waiting for blocks... + + src/app/components/blockchain/blockchain.component.html + 11,16 + + Loading text + blockchain.waiting-for-blocks + + + Copied! + + src/app/components/clipboard/clipboard.component.ts + 15 + + + + Low priority + + src/app/components/fees-box/fees-box.component.html + 4,6 + + + src/app/components/fees-box/fees-box.component.html + 27,30 + + fees-box.low-priority + + + Medium priority + + src/app/components/fees-box/fees-box.component.html + 10,12 + + + src/app/components/fees-box/fees-box.component.html + 31,32 + + fees-box.medium-priority + + + High priority + + src/app/components/fees-box/fees-box.component.html + 16,18 + + + src/app/components/fees-box/fees-box.component.html + 35,38 + + fees-box.high-priority + + + Tx vBytes per second: + + src/app/components/footer/footer.component.html + 5,7 + + footer.tx-vbytes-per-second + + + Backend is synchronizing + + src/app/components/footer/footer.component.html + 7,11 + + + src/app/dashboard/dashboard.component.html + 195,197 + + footer.backend-is-synchronizing + + + vB/s + + src/app/components/footer/footer.component.html + 11,15 + + + src/app/dashboard/dashboard.component.html + 200,206 + + vB/s + shared.vbytes-per-second + + + Unconfirmed + + src/app/components/footer/footer.component.html + 16,17 + + + src/app/dashboard/dashboard.component.html + 182,184 + + Unconfirmed count + dashboard.unconfirmed + + + Mempool size + + src/app/components/footer/footer.component.html + 20,21 + + Mempool size + dashboard.mempool-size + + + block + + src/app/components/footer/footer.component.html + 22,23 + + + src/app/components/transaction/transaction.component.html + 319 + + shared.block + + + blocks + + src/app/components/footer/footer.component.html + 23,24 + + + src/app/components/mempool-blocks/mempool-blocks.component.html + 30,31 + + + src/app/components/transaction/transaction.component.html + 320 + + shared.blocks + + + Mined + + src/app/components/latest-blocks/latest-blocks.component.html + 11,12 + + + src/app/dashboard/dashboard.component.html + 79,80 + + latest-blocks.mined + + + Layer 2 Networks + + src/app/components/master-page/master-page.component.html + 22,23 + + master-page.layer2-networks-header + + + Stats + + src/app/components/master-page/master-page.component.html + 41,45 + + master-page.stats + + + Graphs + + src/app/components/master-page/master-page.component.html + 49,51 + + + src/app/components/statistics/statistics.component.ts + 52 + + master-page.graphs + + + TV view + + src/app/components/master-page/master-page.component.html + 52,55 + + + src/app/components/television/television.component.ts + 27 + + master-page.tvview + + + Fee span + + src/app/components/mempool-block/mempool-block.component.html + 20,21 + + 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 + + src/app/components/mempool-block/mempool-block.component.ts + 73 + + + + Mempool block + + src/app/components/mempool-block/mempool-block.component.ts + 75 + + + + In ~ minutes + + src/app/components/mempool-blocks/mempool-blocks.component.html + 41,43 + + + src/app/components/transaction/transaction.component.html + 315 + + Block Frequency (plural) + mempool-blocks.eta-of-next-block-plural + + + In ~ minute + + src/app/components/mempool-blocks/mempool-blocks.component.html + 43,44 + + + src/app/components/transaction/transaction.component.html + 317 + + Block Frequency + mempool-blocks.eta-of-next-block + + + Unknown + + src/app/components/miner/miner.component.html + 10 + + miner.tag.unknown-miner Identified by payout address: '' @@ -1711,732 +2506,53 @@ 52 - - Unknown + + TXID, block height, hash or address - src/app/components/miner/miner.component.html - 10 - - miner.tag.unknown-miner - - - Low priority - - src/app/components/fees-box/fees-box.component.html + src/app/components/search-form/search-form.component.html 4 - - src/app/components/fees-box/fees-box.component.html - 27 - - fees-box.low-priority + search-form.searchbar-placeholder - - Medium priority + + Search - src/app/components/fees-box/fees-box.component.html - 10 + src/app/components/search-form/search-form.component.html + 7 - - src/app/components/fees-box/fees-box.component.html - 31 - - fees-box.medium-priority + search-form.search-title - - High priority + + Loading graphs... - src/app/components/fees-box/fees-box.component.html + src/app/components/statistics/statistics.component.html + 6 + + statistics.loading-graphs + + + Mempool by vBytes (sat/vByte) + + src/app/components/statistics/statistics.component.html 16 - - src/app/components/fees-box/fees-box.component.html - 35 - - fees-box.high-priority - - - Latest blocks - - src/app/dashboard/dashboard.component.html - 75 - - dashboard.latest-blocks - - - TXs - - src/app/dashboard/dashboard.component.html - 80 - - - src/app/dashboard/dashboard.component.html - 184 - - dashboard.latest-blocks.transaction-count - - - View all ยป - - src/app/dashboard/dashboard.component.html - 97 - - dashboard.view-all - - - Latest transactions - - src/app/dashboard/dashboard.component.html - 104 - - dashboard.latest-transactions - - - Amount - - src/app/dashboard/dashboard.component.html - 108 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 20 - - dashboard.latest-transactions.amount - - - Fee - - src/app/dashboard/dashboard.component.html - 110 - - dashboard.latest-transactions.fee - - - USD - - src/app/dashboard/dashboard.component.html - 109 - - dashboard.latest-transactions.USD - - - Expand - - src/app/dashboard/dashboard.component.html - 131 - - dashboard.expand - - - Collapse - - src/app/dashboard/dashboard.component.html - 132 - - dashboard.collapse - - - Memory usage - - src/app/dashboard/dashboard.component.html - 173 - - Memory usage - dashboard.memory-usage - - - Minimum fee - - src/app/dashboard/dashboard.component.html - 166 - - Minimum mempool fee - dashboard.minimum-fee - - - Purging - - src/app/dashboard/dashboard.component.html - 167 - - Purgin below fee - dashboard.purging - - - Incoming transactions - - src/app/dashboard/dashboard.component.html - 192 - - dashboard.incoming-transactions - - - Difficulty adjustment - - src/app/dashboard/dashboard.component.html - 209 - - dashboard.difficulty-adjustment - - - API Service - - src/app/components/api-docs/api-docs.component.html - 4 - - api-docs.title - - - Websocket - - src/app/components/api-docs/api-docs.component.html - 9 - - API Docs tab for Websocket - api-docs.tab.websocket - - - Endpoint - - src/app/components/api-docs/api-docs.component.html - 14 - - - src/app/components/api-docs/api-docs.component.html - 32 - - - src/app/components/api-docs/api-docs.component.html - 58 - - - src/app/components/api-docs/api-docs.component.html - 84 - - - src/app/components/api-docs/api-docs.component.html - 138 - - - src/app/components/api-docs/api-docs.component.html - 188 - - - src/app/components/api-docs/api-docs.component.html - 222 - - - src/app/components/api-docs/api-docs.component.html - 247 - - API Docs Endpoint - api-docs.shared.endpoint - - - Description - - src/app/components/api-docs/api-docs.component.html - 15 - - - src/app/components/api-docs/api-docs.component.html - 33 - - - src/app/components/api-docs/api-docs.component.html - 59 - - - src/app/components/api-docs/api-docs.component.html - 85 - - - src/app/components/api-docs/api-docs.component.html - 139 - - - src/app/components/api-docs/api-docs.component.html - 189 - - - src/app/components/api-docs/api-docs.component.html - 223 - - - src/app/components/api-docs/api-docs.component.html - 248 - - API Docs Description - api-docs.shared.description + statistics.memory-by-vBytes - - Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-block, 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/api-docs/api-docs.component.html - 19 - - api-docs.websocket.websocket - - - Fees - - src/app/components/api-docs/api-docs.component.html - 27 - - API Docs tab for Fees - api-docs.tab.fees - - - Returns our currently suggested fees for new transactions. - - src/app/components/api-docs/api-docs.component.html - 37 - - API Docs for /api/v1/fees/recommended - api-docs.fees.recommended - - - Returns current mempool as projected blocks. - - src/app/components/api-docs/api-docs.component.html - 41 - - API Docs for /api/v1/fees/mempool-blocks - api-docs.fees.mempool-blocks - - - Returns the ancestors and the best descendant fees for a transaction. - - src/app/components/api-docs/api-docs.component.html - 45 - - API Docs for /api/v1/fees/cpfp - api-docs.fees.cpfp - - - Mempool - - src/app/components/api-docs/api-docs.component.html - 53 - - API Docs tab for Mempool - api-docs.tab.mempool - - - Returns current mempool backlog statistics. - - src/app/components/api-docs/api-docs.component.html - 63 - - 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/api-docs/api-docs.component.html - 67 - - 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/api-docs/api-docs.component.html - 71 - - API Docs for /api/mempool/recent - api-docs.mempool.recent - - - 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/api-docs/api-docs.component.html - 93 - - - - 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/api-docs/api-docs.component.html - 97 - - - - Returns a list of all txids in the block. - - src/app/components/api-docs/api-docs.component.html - 101 - - - - Returns the transaction at index :index within the specified block. - - src/app/components/api-docs/api-docs.component.html - 105 - - - - Returns the raw block representation in binary. - - src/app/components/api-docs/api-docs.component.html - 109 - - - - Returns the hash of the block currently at :height. - - src/app/components/api-docs/api-docs.component.html - 113 - - - - Returns the 10 newest blocks starting at the tip or at :start_height if specified. - - src/app/components/api-docs/api-docs.component.html - 117 - - - - Returns the height of the last block. - - src/app/components/api-docs/api-docs.component.html - 121 - - - - Returns the hash of the last block. - - src/app/components/api-docs/api-docs.component.html - 125 - - - - 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/api-docs/api-docs.component.html - 89 - - - - Transactions - - src/app/components/api-docs/api-docs.component.html - 133 - - API Docs tab for Transactions - api-docs.tab.transactions - - - Returns details about a transaction. Available fields: txid, version, locktime, size, weight, fee, vin, vout, and status. - - src/app/components/api-docs/api-docs.component.html - 143 - - - - Returns the confirmation status of a transaction. Available fields: confirmed (boolean), block_height (optional), and block_hash (optional). - - src/app/components/api-docs/api-docs.component.html - 147 - - - - Returns a transaction serialized as hex. - - src/app/components/api-docs/api-docs.component.html - 151 - - - - Returns a transaction as binary data. - - src/app/components/api-docs/api-docs.component.html - 155 - - - - Returns a merkle inclusion proof for the transaction using Electrum's blockchain.transaction.get_merkle format. - - src/app/components/api-docs/api-docs.component.html - 163 - - - - 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/api-docs/api-docs.component.html - 167 - - - - Returns the spending status of all transaction outputs. - - src/app/components/api-docs/api-docs.component.html - 171 - - - - 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/api-docs/api-docs.component.html - 175 - - - - Returns a merkle inclusion proof for the transaction using bitcoind's merkleblock format. - - src/app/components/api-docs/api-docs.component.html - 159 - - - - Addresses - - src/app/components/api-docs/api-docs.component.html - 183 - - API Docs tab for Addresses - api-docs.tab.addresses - - - 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/api-docs/api-docs.component.html - 193 - - - - 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/api-docs/api-docs.component.html - 197,198 - - - - 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/api-docs/api-docs.component.html - 201 - - - - Get unconfirmed transaction history for the specified address/scripthash. Returns up to 50 transactions (no paging). - - src/app/components/api-docs/api-docs.component.html - 205 - - - - 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/api-docs/api-docs.component.html - 209 - - - - Assets - - src/app/components/api-docs/api-docs.component.html - 217 - - API Docs tab for Assets - api-docs.tab.assets - - - Returns information about a Liquid asset. - - src/app/components/api-docs/api-docs.component.html - 227 - - - - 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/api-docs/api-docs.component.html - 231 - - - - 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/api-docs/api-docs.component.html - 235 - - - - BSQ - - src/app/components/api-docs/api-docs.component.html - 242 - - API Docs tab for BSQ - api-docs.tab.bsq - - - Returns statistics about all Bisq transactions. - - src/app/components/api-docs/api-docs.component.html - 252 - - - - Returns details about a Bisq transaction. - - src/app/components/api-docs/api-docs.component.html - 256 - - - - Returns :length of latest Bisq transactions, starting from :index. - - src/app/components/api-docs/api-docs.component.html - 260 - - - - Returns all Bisq transactions that exist in a Bitcoin block. - - src/app/components/api-docs/api-docs.component.html - 264 - - - - Returns :length Bitcoin blocks that contain Bisq transactions, starting from :index. - - src/app/components/api-docs/api-docs.component.html - 268 - - - - Returns the most recently processed Bitcoin block height processed by Bisq. - - src/app/components/api-docs/api-docs.component.html - 272 - - - - Returns all Bisq transactions belonging to a Bitcoin address, with 'B' prefixed in front of the address. - - src/app/components/api-docs/api-docs.component.html - 276 - - - - Copied! - - src/app/components/clipboard/clipboard.component.ts - 15 - - - - This transaction saved % on fees by using native SegWit-Bech32 - - src/app/components/tx-features/tx-features.component.html - 1 - - ngbTooltip about segwit gains - - - SegWit - - src/app/components/tx-features/tx-features.component.html - 1 - - - src/app/components/tx-features/tx-features.component.html - 3 - - - src/app/components/tx-features/tx-features.component.html - 5 - - SegWit - tx-features.tag.segwit - - - This transaction saved % on fees by using SegWit and could save % more by fully upgrading to native SegWit-Bech32 - - src/app/components/tx-features/tx-features.component.html - 3 - - ngbTooltip about double segwit gains - - - This transaction could save % on fees by upgrading to native SegWit-Bech32 or % by upgrading to SegWit-P2SH - - src/app/components/tx-features/tx-features.component.html - 5 - - ngbTooltip about missed out gains - - - This transaction support Replace-By-Fee (RBF) allowing fee bumping - - src/app/components/tx-features/tx-features.component.html - 8 - - RBF tooltip - - - RBF - - src/app/components/tx-features/tx-features.component.html - 8 - - - src/app/components/tx-features/tx-features.component.html - 9 - - RBF - tx-features.tag.rbf - - - This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method - - src/app/components/tx-features/tx-features.component.html - 9 - - RBF disabled tooltip - - - Optimal - - src/app/components/tx-fee-rating/tx-fee-rating.component.html - 1 - - TX Fee Rating is Optimal - tx-fee-rating.optimal - - - Only ~ sat/vB was needed to get into this block - - src/app/components/tx-fee-rating/tx-fee-rating.component.html - 2 - - tx-fee-rating.warning-tooltip - - - Overpaid x - - src/app/components/tx-fee-rating/tx-fee-rating.component.html - 2 - + + Invert - src/app/components/tx-fee-rating/tx-fee-rating.component.html - 3 + src/app/components/statistics/statistics.component.html + 43 - TX Fee Rating is Warning - tx-fee-rating.overpaid.warning + statistics.component-invert.title - - Only ~ sat/vB was needed to get into this block + + Transaction vBytes per second (vB/s) - src/app/components/tx-fee-rating/tx-fee-rating.component.html - 3 + src/app/components/statistics/statistics.component.html + 57 - tx-fee-rating.warning-tooltip + statistics.transaction-vbytes-per-second Just now @@ -2571,6 +2687,555 @@ 97 + + This transaction has been replaced by: + + src/app/components/transaction/transaction.component.html + 5 + + RBF replacement + transaction.rbf.replacement + + + Unconfirmed + + src/app/components/transaction/transaction.component.html + 22 + + + src/app/components/transactions-list/transactions-list.component.html + 212,216 + + Transaction unconfirmed state + transaction.unconfirmed + + + Confirmed + + src/app/components/transaction/transaction.component.html + 62 + + Transaction Confirmed state + transaction.confirmed + + + After + + src/app/components/transaction/transaction.component.html + 63 + + Transaction confirmed after + transaction.confirmed.after + + + First seen + + src/app/components/transaction/transaction.component.html + 98 + + Transaction first seen + transaction.first-seen + + + ETA + + src/app/components/transaction/transaction.component.html + 104 + + Transaction ETA + transaction.eta + + + In several hours (or more) + + src/app/components/transaction/transaction.component.html + 111 + + Transaction ETA in several hours or more + transaction.eta.in-several-hours + + + TXID + + src/app/components/transaction/transaction.component.html + 149 + + + src/app/dashboard/dashboard.component.html + 107,108 + + dashboard.latest-transactions.txid + + + Virtual size + + src/app/components/transaction/transaction.component.html + 150 + + + src/app/components/transaction/transaction.component.html + 207 + + Transaction Virtual Size + transaction.vsize + + + Fee rate + + src/app/components/transaction/transaction.component.html + 151 + + + src/app/components/transaction/transaction.component.html + 330 + + Transaction fee rate + transaction.fee-rate + + + Descendant + + src/app/components/transaction/transaction.component.html + 158 + + Descendant + transaction.descendant + + + Ancestor + + src/app/components/transaction/transaction.component.html + 172 + + Transaction Ancestor + transaction.ancestor + + + Details + + src/app/components/transaction/transaction.component.html + 192 + + Transaction Details + transaction.details + + + Size + + src/app/components/transaction/transaction.component.html + 203 + + Transaction Size + transaction.size + + + Weight + + src/app/components/transaction/transaction.component.html + 211 + + Transaction Weight + transaction.weight + + + Transaction not found. + + src/app/components/transaction/transaction.component.html + 299 + + transaction.error.transaction-not-found + + + Waiting for it to appear in the mempool... + + src/app/components/transaction/transaction.component.html + 300 + + transaction.error.waiting-for-it-to-appear + + + Fee + + src/app/components/transaction/transaction.component.html + 326 + + Transaction fee + transaction.fee + + + sat + + src/app/components/transaction/transaction.component.html + 327 + + Transaction Fee sat + transaction.fee.sat + + + Effective fee rate + + src/app/components/transaction/transaction.component.html + 340 + + Effective transaction fee rate + transaction.effective-fee-rate + + + Coinbase + + src/app/components/transactions-list/transactions-list.component.html + 39 + + transactions-list.coinbase + + + (Newly Generated Coins) + + src/app/components/transactions-list/transactions-list.component.html + 39 + + transactions-list.newly-generated-coins + + + Peg-in + + src/app/components/transactions-list/transactions-list.component.html + 41,43 + + transactions-list.peg-in + + + ScriptSig (ASM) + + src/app/components/transactions-list/transactions-list.component.html + 74,76 + + ScriptSig (ASM) + transactions-list.scriptsig.asm + + + ScriptSig (HEX) + + src/app/components/transactions-list/transactions-list.component.html + 78,80 + + ScriptSig (HEX) + transactions-list.scriptsig.hex + + + Witness + + src/app/components/transactions-list/transactions-list.component.html + 83,84 + + transactions-list.witness + + + P2SH redeem script + + src/app/components/transactions-list/transactions-list.component.html + 87,88 + + transactions-list.p2sh-redeem-script + + + P2WSH witness script + + src/app/components/transactions-list/transactions-list.component.html + 91,92 + + transactions-list.p2wsh-witness-script + + + nSequence + + src/app/components/transactions-list/transactions-list.component.html + 95,96 + + transactions-list.nsequence + + + Previous output script + + src/app/components/transactions-list/transactions-list.component.html + 99,100 + + transactions-list.previous-output-script + + + Load all + + src/app/components/transactions-list/transactions-list.component.html + 109,112 + + + src/app/components/transactions-list/transactions-list.component.html + 191,194 + + transactions-list.load-all + + + Peg-out to + + src/app/components/transactions-list/transactions-list.component.html + 128,129 + + transactions-list.peg-out-to + + + ScriptPubKey (ASM) + + src/app/components/transactions-list/transactions-list.component.html + 173,175 + + ScriptPubKey (ASM) + transactions-list.scriptpubkey.asm + + + ScriptPubKey (HEX) + + src/app/components/transactions-list/transactions-list.component.html + 177,179 + + ScriptPubKey (HEX) + transactions-list.scriptpubkey.hex + + + data + + src/app/components/transactions-list/transactions-list.component.html + 181,182 + + transactions-list.vout.scriptpubkey-type.data + + + sat + + src/app/components/transactions-list/transactions-list.component.html + 201,204 + + sat + shared.sat + + + This transaction saved % on fees by using native SegWit-Bech32 + + src/app/components/tx-features/tx-features.component.html + 1 + + ngbTooltip about segwit gains + + + SegWit + + src/app/components/tx-features/tx-features.component.html + 1 + + + src/app/components/tx-features/tx-features.component.html + 3 + + + src/app/components/tx-features/tx-features.component.html + 5 + + SegWit + tx-features.tag.segwit + + + This transaction saved % on fees by using SegWit and could save % more by fully upgrading to native SegWit-Bech32 + + src/app/components/tx-features/tx-features.component.html + 3 + + ngbTooltip about double segwit gains + + + This transaction could save % on fees by upgrading to native SegWit-Bech32 or % by upgrading to SegWit-P2SH + + src/app/components/tx-features/tx-features.component.html + 5 + + ngbTooltip about missed out gains + + + This transaction support Replace-By-Fee (RBF) allowing fee bumping + + src/app/components/tx-features/tx-features.component.html + 8 + + RBF tooltip + + + RBF + + src/app/components/tx-features/tx-features.component.html + 8 + + + src/app/components/tx-features/tx-features.component.html + 9 + + RBF + tx-features.tag.rbf + + + This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method + + src/app/components/tx-features/tx-features.component.html + 9 + + RBF disabled tooltip + + + Optimal + + src/app/components/tx-fee-rating/tx-fee-rating.component.html + 1 + + TX Fee Rating is Optimal + tx-fee-rating.optimal + + + Only ~ sat/vB was needed to get into this block + + src/app/components/tx-fee-rating/tx-fee-rating.component.html + 2 + + tx-fee-rating.warning-tooltip + + + Overpaid x + + src/app/components/tx-fee-rating/tx-fee-rating.component.html + 2 + + + src/app/components/tx-fee-rating/tx-fee-rating.component.html + 3 + + TX Fee Rating is Warning + tx-fee-rating.overpaid.warning + + + Only ~ sat/vB was needed to get into this block + + src/app/components/tx-fee-rating/tx-fee-rating.component.html + 3 + + tx-fee-rating.warning-tooltip + + + Latest blocks + + src/app/dashboard/dashboard.component.html + 75,77 + + dashboard.latest-blocks + + + TXs + + src/app/dashboard/dashboard.component.html + 80,82 + + + src/app/dashboard/dashboard.component.html + 184,191 + + dashboard.latest-blocks.transaction-count + + + View all ยป + + src/app/dashboard/dashboard.component.html + 97,101 + + dashboard.view-all + + + Latest transactions + + src/app/dashboard/dashboard.component.html + 104,107 + + dashboard.latest-transactions + + + USD + + src/app/dashboard/dashboard.component.html + 109,110 + + dashboard.latest-transactions.USD + + + Fee + + src/app/dashboard/dashboard.component.html + 110,113 + + dashboard.latest-transactions.fee + + + Expand + + src/app/dashboard/dashboard.component.html + 131,132 + + dashboard.expand + + + Collapse + + src/app/dashboard/dashboard.component.html + 132,136 + + dashboard.collapse + + + Minimum fee + + src/app/dashboard/dashboard.component.html + 166,167 + + Minimum mempool fee + dashboard.minimum-fee + + + Purging + + src/app/dashboard/dashboard.component.html + 167,169 + + Purgin below fee + dashboard.purging + + + Memory usage + + src/app/dashboard/dashboard.component.html + 173,175 + + Memory usage + dashboard.memory-usage + + + Incoming transactions + + src/app/dashboard/dashboard.component.html + 192,194 + + dashboard.incoming-transactions + + + Difficulty adjustment + + src/app/dashboard/dashboard.component.html + 209,210 + + dashboard.difficulty-adjustment + Transaction fee @@ -2578,301 +3243,6 @@ 11 - - BSQ statistics - - src/app/bisq/bisq-stats/bisq-stats.component.ts - 24 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 2 - - - - Existing amount - - src/app/bisq/bisq-stats/bisq-stats.component.html - 12 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 54 - - BSQ existing amount - - - Minted amount - - src/app/bisq/bisq-stats/bisq-stats.component.html - 16 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 58 - - BSQ minted amount - - - Burnt amount - - src/app/bisq/bisq-stats/bisq-stats.component.html - 20 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 62 - - - src/app/bisq/bisq-transfers/bisq-transfers.component.html - 62 - - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 57 - - BSQ burnt amount - - - Addresses - - src/app/bisq/bisq-stats/bisq-stats.component.html - 24 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 66 - - BSQ addresses - - - Unspent TXOs - - src/app/bisq/bisq-stats/bisq-stats.component.html - 28 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 70 - - BSQ unspent transaction outputs - - - Spent TXOs - - src/app/bisq/bisq-stats/bisq-stats.component.html - 32 - - BSQ spent transaction outputs - - - Price - - src/app/bisq/bisq-stats/bisq-stats.component.html - 36 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 78 - - BSQ token price - - - Market cap - - src/app/bisq/bisq-stats/bisq-stats.component.html - 40 - - - src/app/bisq/bisq-stats/bisq-stats.component.html - 82 - - BSQ token market cap - - - Address: - - src/app/bisq/bisq-address/bisq-address.component.ts - 39 - - - - Confirmed - - src/app/bisq/bisq-blocks/bisq-blocks.component.html - 13 - - - src/app/bisq/bisq-transactions/bisq-transactions.component.html - 21 - - Bisq block confirmed time header - - - Inputs - - src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html - 7 - - transaction.inputs - - - Outputs - - src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html - 11 - - transaction.outputs - - - Version - - src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html - 29 - - transaction.version - - - Block : - - src/app/bisq/bisq-block/bisq-block.component.ts - 85 - - - - Previous hash - - src/app/bisq/bisq-block/bisq-block.component.html - 35 - - - src/app/bisq/bisq-block/bisq-block.component.html - 93 - - Transaction Previous Hash - block.previous_hash - - - Fee per vByte - - src/app/bisq/bisq-transaction/bisq-transaction.component.html - 62 - - Transaction fee - transaction.fee-per-vbyte - - - Asset listing fee - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 29 - - - - Blind vote - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 30 - - - - Compensation request - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 31 - - - - Genesis - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 32 - - - - Irregular - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 33 - - - - Lockup - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 34 - - - - Pay trade fee - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 35 - - - - Proof of burn - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 36 - - - - Proposal - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 37 - - - - Reimbursement request - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 38 - - - - Transfer BSQ - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 39 - - - - Unlock - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 40 - - - - Vote reveal - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 41 - - - - Filter - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 55 - - - - Select all - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 56 - - - - Unselect all - - src/app/bisq/bisq-transactions/bisq-transactions.component.ts - 57 - -