| 
									
										
										
										
											2020-09-21 19:41:12 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-13 16:55:02 +01:00
										 |  |  | <div class="container-xl dashboard-container" *ngIf="(network$ | async) !== 'liquid'; else liquidDashboard"> | 
					
						
							| 
									
										
										
										
											2020-09-22 12:50:12 +07:00
										 |  |  |   <div class="row row-cols-1 row-cols-md-2" *ngIf="{ value: (mempoolInfoData$ | async) } as mempoolInfoData"> | 
					
						
							| 
									
										
										
										
											2024-03-20 09:57:05 +00:00
										 |  |  |     <ng-container> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |       <div class="col card-wrapper"> | 
					
						
							| 
									
										
										
										
											2021-07-26 16:00:40 -03:00
										 |  |  |         <div class="main-title" i18n="fees-box.transaction-fees">Transaction Fees</div> | 
					
						
							| 
									
										
										
										
											2021-06-06 17:07:04 -03:00
										 |  |  |         <div class="card"> | 
					
						
							| 
									
										
										
										
											2022-06-01 09:46:52 +02:00
										 |  |  |           <div class="card-body less-padding"> | 
					
						
							| 
									
										
										
										
											2020-10-27 02:58:29 +07:00
										 |  |  |             <app-fees-box class="d-block"></app-fees-box> | 
					
						
							|  |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2020-09-21 19:41:12 +07:00
										 |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |       <div class="col"> | 
					
						
							| 
									
										
										
										
											2022-01-17 13:33:07 +09:00
										 |  |  |         <app-difficulty></app-difficulty> | 
					
						
							| 
									
										
										
										
											2021-08-06 16:38:44 +05:30
										 |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |     </ng-container> | 
					
						
							|  |  |  |     <div class="col"> | 
					
						
							|  |  |  |       <div class="card graph-card"> | 
					
						
							| 
									
										
										
										
											2024-02-07 21:39:39 +00:00
										 |  |  |         <div class="card-body pl-lg-3 pr-lg-3 pl-2 pr-2"> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |           <a class="title-link mb-0" style="margin-top: -2px" href="" [routerLink]="['/mempool-block/0' | relativeUrl]"> | 
					
						
							|  |  |  |             <h5 class="card-title d-inline"><span i18n="dashboard.mempool-goggles">Mempool Goggles</span>: {{ goggleCycle[goggleIndex].name }}</h5> | 
					
						
							|  |  |  |             <span> </span> | 
					
						
							|  |  |  |             <fa-icon [icon]="['fas', 'external-link-alt']" [fixedWidth]="true" style="vertical-align: text-top; font-size: 13px; color: #4a68b9"></fa-icon> | 
					
						
							|  |  |  |           </a> | 
					
						
							|  |  |  |           <div class="quick-filter"> | 
					
						
							|  |  |  |             <div class="btn-group btn-group-toggle"> | 
					
						
							|  |  |  |               <label class="btn btn-primary btn-xs" [class.active]="filter.index === goggleIndex"  *ngFor="let filter of goggleCycle"> | 
					
						
							| 
									
										
										
										
											2024-02-13 09:47:45 +01:00
										 |  |  |                 <input type="radio" [value]="'3m'" fragment="3m" (click)="setFilter(filter.index)" [attr.data-cy]="'3m'"> {{ filter.name }} | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |               </label> | 
					
						
							| 
									
										
										
										
											2024-02-07 21:39:39 +00:00
										 |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2024-03-20 09:57:05 +00:00
										 |  |  |           <div class="mempool-block-wrapper" *ngIf="webGlEnabled"> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |             <app-mempool-block-overview | 
					
						
							|  |  |  |               [index]="0" | 
					
						
							|  |  |  |               [resolution]="goggleResolution" | 
					
						
							| 
									
										
										
										
											2024-02-13 09:47:45 +01:00
										 |  |  |               [filterFlags]="goggleFlags" | 
					
						
							|  |  |  |               [filterMode]="goggleMode" | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |             ></app-mempool-block-overview> | 
					
						
							|  |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2020-09-26 22:46:26 +07:00
										 |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |     </div> | 
					
						
							|  |  |  |     <div class="col"> | 
					
						
							|  |  |  |       <div class="card graph-card"> | 
					
						
							|  |  |  |         <div class="card-body"> | 
					
						
							| 
									
										
										
										
											2024-02-08 00:37:16 +00:00
										 |  |  |           <ng-container *ngTemplateOutlet="mempoolTable; context: { $implicit: mempoolInfoData }"></ng-container> | 
					
						
							|  |  |  |             <h5 class="card-title mt-3" i18n="dashboard.incoming-transactions">Incoming Transactions</h5> | 
					
						
							| 
									
										
										
										
											2023-10-25 16:38:05 +00:00
										 |  |  |             <div class="mempool-graph" *ngIf="(mempoolStats$ | async) as mempoolStats"> | 
					
						
							| 
									
										
										
										
											2024-02-07 21:39:39 +00:00
										 |  |  |               <app-incoming-transactions-graph | 
					
						
							|  |  |  |                 [height]="incomingGraphHeight" | 
					
						
							|  |  |  |                 [left]="50" | 
					
						
							|  |  |  |                 [right]="20" | 
					
						
							| 
									
										
										
										
											2023-10-25 16:38:05 +00:00
										 |  |  |                 [data]="mempoolStats?.weightPerSecond" | 
					
						
							| 
									
										
										
										
											2024-02-07 21:39:39 +00:00
										 |  |  |                 [windowPreferenceOverride]="'2h'" | 
					
						
							|  |  |  |                 ></app-incoming-transactions-graph> | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2020-09-26 02:11:30 +07:00
										 |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |     </div> | 
					
						
							|  |  |  |     <div class="col" style="max-height: 410px"> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |       <div class="card" *ngIf="(network$ | async) !== 'liquidtestnet'; else latestBlocks"> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |         <div class="card-body"> | 
					
						
							| 
									
										
										
										
											2023-07-14 11:52:07 +09:00
										 |  |  |           <a class="title-link" href="" [routerLink]="['/rbf' | relativeUrl]"> | 
					
						
							| 
									
										
										
										
											2023-11-25 17:49:37 +09:00
										 |  |  |             <h5 class="card-title d-inline" i18n="dashboard.recent-rbf-replacements">Recent Replacements</h5> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |             <span> </span> | 
					
						
							| 
									
										
										
										
											2023-07-20 16:02:04 +09:00
										 |  |  |             <fa-icon [icon]="['fas', 'external-link-alt']" [fixedWidth]="true" style="vertical-align: text-top; font-size: 13px; color: #4a68b9"></fa-icon> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |           </a> | 
					
						
							| 
									
										
										
										
											2023-07-14 11:52:07 +09:00
										 |  |  |           <table class="table lastest-replacements-table"> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |             <thead> | 
					
						
							| 
									
										
										
										
											2023-07-14 11:52:07 +09:00
										 |  |  |               <th class="table-cell-txid" i18n="dashboard.latest-transactions.txid">TXID</th> | 
					
						
							| 
									
										
										
										
											2023-07-14 12:11:14 +09:00
										 |  |  |               <th class="table-cell-old-fee" i18n="dashboard.previous-transaction-fee">Previous fee</th> | 
					
						
							| 
									
										
										
										
											2023-07-14 11:52:07 +09:00
										 |  |  |               <th class="table-cell-new-fee" i18n="dashboard.new-transaction-fee">New fee</th> | 
					
						
							| 
									
										
										
										
											2023-07-14 12:11:14 +09:00
										 |  |  |               <th class="table-cell-badges" i18n="transaction.status|Transaction Status">Status</th> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |             </thead> | 
					
						
							| 
									
										
										
										
											2024-01-12 18:08:57 +07:00
										 |  |  |             <tbody *ngIf="replacements$ | async as replacements; else replacementsSkeleton"> | 
					
						
							|  |  |  |               <tr *ngFor="let replacement of replacements"> | 
					
						
							| 
									
										
										
										
											2023-07-14 11:52:07 +09:00
										 |  |  |                 <td class="table-cell-txid"> | 
					
						
							|  |  |  |                   <a [routerLink]="['/tx' | relativeUrl, replacement.txid]"> | 
					
						
							|  |  |  |                     <app-truncate [text]="replacement.txid" [lastChars]="5"></app-truncate> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |                   </a> | 
					
						
							|  |  |  |                 </td> | 
					
						
							| 
									
										
										
										
											2023-07-14 11:52:07 +09:00
										 |  |  |                 <td class="table-cell-old-fee"><app-fee-rate [fee]="replacement.oldFee" [weight]="replacement.oldVsize * 4"></app-fee-rate></td> | 
					
						
							|  |  |  |                 <td class="table-cell-new-fee"><app-fee-rate [fee]="replacement.newFee" [weight]="replacement.newVsize * 4"></app-fee-rate></td> | 
					
						
							|  |  |  |                 <td class="table-cell-badges"> | 
					
						
							|  |  |  |                   <span *ngIf="replacement.mined" class="badge badge-success" i18n="transaction.rbf.mined">Mined</span> | 
					
						
							|  |  |  |                   <span *ngIf="replacement.fullRbf" class="badge badge-info" i18n="transaction.full-rbf">Full RBF</span> | 
					
						
							| 
									
										
										
										
											2023-11-25 20:45:59 +09:00
										 |  |  |                   <span *ngIf="!replacement.fullRbf" class="badge badge-success" i18n="tx-features.tag.rbf|RBF">RBF</span> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |                 </td> | 
					
						
							|  |  |  |               </tr> | 
					
						
							|  |  |  |             </tbody> | 
					
						
							|  |  |  |           </table> | 
					
						
							| 
									
										
										
										
											2020-09-26 03:50:32 +07:00
										 |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2023-07-19 12:09:46 +09:00
										 |  |  |       <ng-template #latestBlocks> | 
					
						
							|  |  |  |         <div class="card"> | 
					
						
							|  |  |  |           <div class="card-body"> | 
					
						
							|  |  |  |             <a class="title-link" href="" [routerLink]="['/blocks' | relativeUrl]"> | 
					
						
							| 
									
										
										
										
											2023-11-26 16:03:53 +09:00
										 |  |  |               <h5 class="card-title d-inline" i18n="dashboard.recent-blocks">Recent Blocks</h5> | 
					
						
							| 
									
										
										
										
											2023-07-19 12:09:46 +09:00
										 |  |  |               <span> </span> | 
					
						
							| 
									
										
										
										
											2023-07-20 16:02:04 +09:00
										 |  |  |               <fa-icon [icon]="['fas', 'external-link-alt']" [fixedWidth]="true" style="vertical-align: text-top; font-size: 13px; color: #4a68b9"></fa-icon> | 
					
						
							| 
									
										
										
										
											2023-07-19 12:09:46 +09:00
										 |  |  |             </a> | 
					
						
							|  |  |  |             <table class="table lastest-blocks-table"> | 
					
						
							|  |  |  |               <thead> | 
					
						
							|  |  |  |                 <th class="table-cell-height" i18n="dashboard.latest-blocks.height">Height</th> | 
					
						
							| 
									
										
										
										
											2024-02-07 12:41:56 +01:00
										 |  |  |                 <th class="table-cell-mined" i18n="dashboard.latest-blocks.mined">Mined</th> | 
					
						
							| 
									
										
										
										
											2023-07-19 12:09:46 +09:00
										 |  |  |                 <th class="table-cell-transaction-count" i18n="dashboard.latest-blocks.transaction-count">TXs</th> | 
					
						
							|  |  |  |                 <th class="table-cell-size" i18n="dashboard.latest-blocks.size">Size</th> | 
					
						
							|  |  |  |               </thead> | 
					
						
							| 
									
										
										
										
											2024-02-07 12:41:56 +01:00
										 |  |  |               <tbody *ngIf="blocks$ | async as blocks; else blocksSkeleton"> | 
					
						
							|  |  |  |                 <tr *ngFor="let block of blocks; let i = index; trackBy: trackByBlock"> | 
					
						
							| 
									
										
										
										
											2023-07-19 12:09:46 +09:00
										 |  |  |                   <td class="table-cell-height" ><a [routerLink]="['/block' | relativeUrl, block.id]" [state]="{ data: { block: block } }">{{ block.height }}</a></td> | 
					
						
							| 
									
										
										
										
											2024-02-07 12:41:56 +01:00
										 |  |  |                   <td class="table-cell-mined" ><app-time kind="since" [time]="block.timestamp" [fastRender]="true"></app-time></td> | 
					
						
							| 
									
										
										
										
											2023-07-19 12:09:46 +09:00
										 |  |  |                   <td class="table-cell-transaction-count">{{ block.tx_count | number }}</td> | 
					
						
							|  |  |  |                   <td class="table-cell-size"> | 
					
						
							|  |  |  |                     <div class="progress"> | 
					
						
							|  |  |  |                       <div class="progress-bar progress-mempool {{ network$ | async }}" role="progressbar" [ngStyle]="{'width': (block.weight / stateService.env.BLOCK_WEIGHT_UNITS)*100 + '%' }"> </div> | 
					
						
							|  |  |  |                       <div class="progress-text" [innerHTML]="block.size | bytes: 2"></div> | 
					
						
							|  |  |  |                     </div> | 
					
						
							|  |  |  |                   </td> | 
					
						
							|  |  |  |                 </tr> | 
					
						
							|  |  |  |               </tbody> | 
					
						
							|  |  |  |             </table> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </ng-template> | 
					
						
							| 
									
										
										
										
											2020-10-27 16:34:27 +07:00
										 |  |  |     </div> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |     <div class="col" style="max-height: 410px"> | 
					
						
							|  |  |  |       <div class="card"> | 
					
						
							|  |  |  |         <div class="card-body"> | 
					
						
							| 
									
										
										
										
											2023-11-25 17:49:37 +09:00
										 |  |  |           <h5 class="card-title" i18n="dashboard.recent-transactions">Recent Transactions</h5> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |           <table class="table latest-transactions"> | 
					
						
							|  |  |  |             <thead> | 
					
						
							|  |  |  |               <th class="table-cell-txid" i18n="dashboard.latest-transactions.txid">TXID</th> | 
					
						
							|  |  |  |               <th class="table-cell-satoshis" i18n="dashboard.latest-transactions.amount">Amount</th> | 
					
						
							| 
									
										
										
										
											2023-02-15 16:22:06 +09:00
										 |  |  |               <th class="table-cell-fiat" *ngIf="(network$ | async) === ''">{{ currency }}</th> | 
					
						
							| 
									
										
										
										
											2022-10-13 17:15:17 +04:00
										 |  |  |               <th class="table-cell-fees" i18n="transaction.fee|Transaction fee">Fee</th> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |             </thead> | 
					
						
							| 
									
										
										
										
											2024-01-12 18:08:57 +07:00
										 |  |  |             <tbody *ngIf="transactions$ | async as transactions else recentTransactionsSkeleton"> | 
					
						
							|  |  |  |               <tr *ngFor="let transaction of transactions; let i = index;"> | 
					
						
							| 
									
										
										
										
											2023-01-05 11:01:46 -06:00
										 |  |  |                 <td class="table-cell-txid"> | 
					
						
							|  |  |  |                   <a [routerLink]="['/tx' | relativeUrl, transaction.txid]"> | 
					
						
							| 
									
										
										
										
											2023-01-13 17:03:02 -06:00
										 |  |  |                     <app-truncate [text]="transaction.txid" [lastChars]="5"></app-truncate> | 
					
						
							| 
									
										
										
										
											2023-01-05 11:01:46 -06:00
										 |  |  |                   </a> | 
					
						
							|  |  |  |                 </td> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |                 <td class="table-cell-satoshis"><app-amount *ngIf="(network$ | async) !== 'liquidtestnet'; else liquidAmount" [satoshis]="transaction.value" digitsInfo="1.2-4" [noFiat]="true"></app-amount><ng-template #liquidAmount i18n="shared.confidential">Confidential</ng-template></td> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |                 <td class="table-cell-fiat" *ngIf="(network$ | async) === ''" ><app-fiat [value]="transaction.value" digitsInfo="1.0-0"></app-fiat></td> | 
					
						
							| 
									
										
										
										
											2023-06-15 15:17:32 -04:00
										 |  |  |                 <td class="table-cell-fees"><app-fee-rate [fee]="transaction.fee" [weight]="transaction.vsize * 4"></app-fee-rate></td> | 
					
						
							| 
									
										
										
										
											2022-06-16 09:17:44 +02:00
										 |  |  |               </tr> | 
					
						
							|  |  |  |             </tbody> | 
					
						
							|  |  |  |           </table> | 
					
						
							|  |  |  |           <div class=""> </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2020-09-22 12:50:12 +07:00
										 |  |  | </div> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-13 16:55:02 +01:00
										 |  |  | <ng-template #liquidDashboard> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |   <div class="container-xl dashboard-container" *ngIf="(auditStatus$ | async)?.isAuditSynced; else auditInProgress"> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <div class="row row-cols-1 row-cols-md-2"> | 
					
						
							| 
									
										
										
										
											2024-02-27 16:39:28 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |       <div class="col card-wrapper liquid"> | 
					
						
							|  |  |  |         <div class="main-title" i18n="liquid.federation-holdings">Liquid Federation Holdings</div> | 
					
						
							|  |  |  |         <div class="card"> | 
					
						
							|  |  |  |           <div class="card-body liquid"> | 
					
						
							|  |  |  |             <app-reserves-supply-stats [currentPeg$]="currentPeg$" [currentReserves$]="currentReserves$"></app-reserves-supply-stats> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       <div class="col card-wrapper liquid"> | 
					
						
							| 
									
										
										
										
											2024-03-03 18:31:39 +01:00
										 |  |  |         <div class="main-title" i18n="liquid.federation-expired-utxos">Federation Timelock-Expired UTXOs</div> | 
					
						
							| 
									
										
										
										
											2024-02-27 16:39:28 +01:00
										 |  |  |         <div class="card"> | 
					
						
							|  |  |  |           <div class="card-body liquid"> | 
					
						
							|  |  |  |             <app-expired-utxos-stats [expiredUtxos$]="expiredUtxos$"></app-expired-utxos-stats> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |    | 
					
						
							|  |  |  |       <div class="col"> | 
					
						
							|  |  |  |         <div class="card-liquid card"> | 
					
						
							| 
									
										
										
										
											2024-02-27 16:39:28 +01:00
										 |  |  |           <h5 class="card-title" style="padding-top: 20px;" i18n="dashboard.lbtc-supply-against-btc-holdings">L-BTC Supply Against BTC Holdings</h5> | 
					
						
							| 
									
										
										
										
											2024-02-13 09:36:22 +01:00
										 |  |  |           <div class="card-body pl-0" style="padding-top: 10px;"> | 
					
						
							|  |  |  |             <app-lbtc-pegs-graph [data]="fullHistory$ | async" [height]="lbtcPegGraphHeight"></app-lbtc-pegs-graph> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |       <div class="col" style="margin-bottom: 1.47rem"> | 
					
						
							|  |  |  |         <div class="card-liquid card">  | 
					
						
							| 
									
										
										
										
											2024-02-13 09:36:22 +01:00
										 |  |  |           <div class="card-body"> | 
					
						
							| 
									
										
										
										
											2024-02-27 16:39:28 +01:00
										 |  |  |             <app-reserves-ratio-stats [fullHistory$]="fullHistory$" [emergencyUtxosStats$]="emergencySpentUtxosStats$"></app-reserves-ratio-stats> | 
					
						
							| 
									
										
										
										
											2024-02-13 09:36:22 +01:00
										 |  |  |             <app-reserves-ratio [currentPeg]="currentPeg$ | async" [currentReserves]="currentReserves$ | async"></app-reserves-ratio> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       <div class="col"> | 
					
						
							|  |  |  |         <div class="card card-liquid smaller"> | 
					
						
							|  |  |  |           <div class="card-body"> | 
					
						
							|  |  |  |             <app-recent-pegs-stats [pegsVolume$]="pegsVolume$"></app-recent-pegs-stats> | 
					
						
							|  |  |  |             <app-recent-pegs-list [recentPegsList$]="recentPegsList$" [widget]="true"></app-recent-pegs-list> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       <div class="col" style="margin-bottom: 1.47rem"> | 
					
						
							|  |  |  |         <div class="card-liquid card smaller"> | 
					
						
							|  |  |  |           <div class="card-body"> | 
					
						
							|  |  |  |             <app-federation-addresses-stats [federationAddressesNumber$]="federationAddressesNumber$" [federationUtxosNumber$]="federationUtxosNumber$"></app-federation-addresses-stats> | 
					
						
							|  |  |  |             <app-federation-addresses-list [federationAddresses$]="federationAddresses$" [widget]="true"></app-federation-addresses-list> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2024-02-13 16:55:02 +01:00
										 |  |  | </ng-template> | 
					
						
							| 
									
										
										
										
											2022-02-12 00:15:13 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-12 18:08:57 +07:00
										 |  |  | <ng-template #replacementsSkeleton> | 
					
						
							|  |  |  |   <tbody> | 
					
						
							|  |  |  |     <tr *ngFor="let i of [1,2,3,4,5,6]"> | 
					
						
							|  |  |  |       <td class="table-cell-txid"><div class="skeleton-loader skeleton-loader-transactions"></div></td> | 
					
						
							|  |  |  |       <td class="table-cell-old-fee"><div class="skeleton-loader skeleton-loader-transactions"></div></td> | 
					
						
							|  |  |  |       <td class="table-cell-new-fee"><div class="skeleton-loader skeleton-loader-transactions"></div></td> | 
					
						
							|  |  |  |       <td class="table-cell-badges"><div class="skeleton-loader skeleton-loader-transactions"></div></td> | 
					
						
							|  |  |  |     </tr> | 
					
						
							|  |  |  |   </tbody> | 
					
						
							|  |  |  | </ng-template> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <ng-template #recentTransactionsSkeleton> | 
					
						
							|  |  |  |   <tbody> | 
					
						
							|  |  |  |     <tr *ngFor="let i of [1,2,3,4,5,6]"> | 
					
						
							|  |  |  |       <td class="table-cell-txid"><div class="skeleton-loader skeleton-loader-transactions"></div> </td> | 
					
						
							|  |  |  |       <td class="table-cell-satoshis"><div class="skeleton-loader skeleton-loader-transactions"></div></td> | 
					
						
							|  |  |  |       <td class="table-cell-fiat" *ngIf="(network$ | async) === ''"><div class="skeleton-loader skeleton-loader-transactions"></div></td> | 
					
						
							|  |  |  |       <td class="table-cell-fees"><div class="skeleton-loader skeleton-loader-transactions"></div></td> | 
					
						
							|  |  |  |     </tr> | 
					
						
							|  |  |  |   </tbody> | 
					
						
							|  |  |  | </ng-template> | 
					
						
							| 
									
										
										
										
											2024-02-07 12:41:56 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | <ng-template #blocksSkeleton> | 
					
						
							|  |  |  |   <tbody> | 
					
						
							|  |  |  |     <tr *ngFor="let i of [1,2,3,4,5,6]"> | 
					
						
							|  |  |  |       <td class="table-cell-height"><div class="skeleton-loader skeleton-loader-transactions"></div> </td> | 
					
						
							|  |  |  |       <td class="table-cell-mined"><div class="skeleton-loader skeleton-loader-transactions"></div></td> | 
					
						
							|  |  |  |       <td class="table-cell-transaction-count"><div class="skeleton-loader skeleton-loader-transactions"></div></td> | 
					
						
							|  |  |  |       <td class="table-cell-size"><div class="skeleton-loader skeleton-loader-transactions"></div></td> | 
					
						
							|  |  |  |     </tr> | 
					
						
							|  |  |  |   </tbody> | 
					
						
							|  |  |  | </ng-template> | 
					
						
							| 
									
										
										
										
											2024-01-12 18:08:57 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-26 20:47:08 -03:00
										 |  |  | <ng-template #loadingTransactions> | 
					
						
							|  |  |  |   <div class="skeleton-loader skeleton-loader-transactions"></div> | 
					
						
							|  |  |  | </ng-template> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-22 12:50:12 +07:00
										 |  |  | <ng-template #loading> | 
					
						
							|  |  |  |   <div class="skeleton-loader"></div> | 
					
						
							| 
									
										
										
										
											2020-09-26 02:11:30 +07:00
										 |  |  | </ng-template> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-26 20:47:08 -03:00
										 |  |  | <ng-template #loadingbig> | 
					
						
							|  |  |  |   <span class="skeleton-loader skeleton-loader-big" ></span> | 
					
						
							| 
									
										
										
										
											2021-01-12 16:41:54 +07:00
										 |  |  | </ng-template> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-26 02:11:30 +07:00
										 |  |  | <ng-template #emptyBlock> | 
					
						
							| 
									
										
										
										
											2021-06-06 17:07:04 -03:00
										 |  |  |   <div class="col"> | 
					
						
							| 
									
										
										
										
											2020-09-26 02:11:30 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2020-10-11 19:25:38 +09:00
										 |  |  | </ng-template> | 
					
						
							| 
									
										
										
										
											2020-10-27 02:58:29 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  | <ng-template #mempoolTable let-mempoolInfoData> | 
					
						
							| 
									
										
										
										
											2021-05-03 10:11:30 -03:00
										 |  |  |   <div class="mempool-info-data"> | 
					
						
							|  |  |  |     <div class="item"> | 
					
						
							| 
									
										
										
										
											2023-07-19 11:06:28 +09:00
										 |  |  |       <h5 *ngIf="!mempoolInfoData.value || mempoolInfoData.value.memPoolInfo.mempoolminfee === mempoolInfoData.value.memPoolInfo.minrelaytxfee || (stateService.env.BASE_MODULE === 'liquid' && mempoolInfoData.value.memPoolInfo.mempoolminfee === 0.000001) else purgingText" class="card-title" i18n="dashboard.minimum-fee|Minimum mempool fee">Minimum fee</h5> | 
					
						
							| 
									
										
										
										
											2021-05-03 10:11:30 -03:00
										 |  |  |       <ng-template #purgingText><h5 class="card-title" i18n="dashboard.purging|Purgin below fee">Purging</h5></ng-template> | 
					
						
							| 
									
										
										
										
											2021-07-26 20:47:08 -03:00
										 |  |  |       <p class="card-text" *ngIf="(isLoadingWebSocket$ | async) === false && mempoolInfoData.value; else loading"> | 
					
						
							| 
									
										
										
										
											2023-07-19 11:06:28 +09:00
										 |  |  |         <ng-template [ngIf]="mempoolInfoData.value.memPoolInfo.mempoolminfee !== mempoolInfoData.value.memPoolInfo.minrelaytxfee">< </ng-template><app-fee-rate [fee]="mempoolInfoData.value.memPoolInfo.mempoolminfee * 100000"></app-fee-rate> | 
					
						
							| 
									
										
										
										
											2021-05-03 10:11:30 -03:00
										 |  |  |       </p> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |     <div class="item"> | 
					
						
							|  |  |  |       <h5 class="card-title" i18n="dashboard.unconfirmed|Unconfirmed count">Unconfirmed</h5> | 
					
						
							| 
									
										
										
										
											2021-07-26 20:47:08 -03:00
										 |  |  |       <p class="card-text" *ngIf="(isLoadingWebSocket$ | async) === false && mempoolInfoData.value; else loading"> | 
					
						
							| 
									
										
										
										
											2021-05-03 10:11:30 -03:00
										 |  |  |         {{ mempoolInfoData.value.memPoolInfo.size | number }} <span i18n="dashboard.txs">TXs</span> | 
					
						
							|  |  |  |       </p> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |     <div class="item bar"> | 
					
						
							| 
									
										
										
										
											2023-11-25 17:49:37 +09:00
										 |  |  |       <h5 class="card-title" i18n="dashboard.memory-usage|Memory usage">Memory Usage</h5> | 
					
						
							| 
									
										
										
										
											2021-07-26 20:47:08 -03:00
										 |  |  |       <div class="card-text" *ngIf="(isLoadingWebSocket$ | async) === false && mempoolInfoData.value; else loadingbig"> | 
					
						
							| 
									
										
										
										
											2021-05-03 10:11:30 -03:00
										 |  |  |         <div class="progress"> | 
					
						
							|  |  |  |           <div class="progress-bar {{ mempoolInfoData.value.mempoolSizeProgress }}" role="progressbar" [ngStyle]="{'width': (mempoolInfoData.value.memPoolInfo.usage / mempoolInfoData.value.memPoolInfo.maxmempool * 100) + '%' }"> </div> | 
					
						
							| 
									
										
										
										
											2023-09-28 15:48:37 +01:00
										 |  |  |           <div class="progress-text">‎<span [innerHTML]="mempoolInfoData.value.memPoolInfo.usage | bytes : 2 : 'B' : null : false : 3"></span> / <span [innerHTML]="mempoolInfoData.value.memPoolInfo.maxmempool | bytes"></span></div> | 
					
						
							| 
									
										
										
										
											2021-01-15 21:21:53 +07:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2021-05-03 10:11:30 -03:00
										 |  |  |       </div> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2020-10-27 02:58:29 +07:00
										 |  |  | </ng-template> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  | <ng-template #loadingSkeletonLiquid> | 
					
						
							|  |  |  |   <div class="container-xl dashboard-container"> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <div class="row row-cols-1 row-cols-md-2"> | 
					
						
							| 
									
										
										
										
											2024-02-27 16:39:28 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |       <div class="col card-wrapper liquid"> | 
					
						
							|  |  |  |         <div class="main-title" i18n="liquid.federation-holdings">Liquid Federation Holdings</div> | 
					
						
							|  |  |  |         <div class="card"> | 
					
						
							|  |  |  |           <div class="card-body liquid"> | 
					
						
							|  |  |  |             <app-reserves-supply-stats></app-reserves-supply-stats> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       <div class="col card-wrapper liquid"> | 
					
						
							| 
									
										
										
										
											2024-03-03 18:31:39 +01:00
										 |  |  |         <div class="main-title" i18n="liquid.federation-expired-utxos">Federation Timelock-Expired UTXOs</div> | 
					
						
							| 
									
										
										
										
											2024-02-27 16:39:28 +01:00
										 |  |  |         <div class="card"> | 
					
						
							|  |  |  |           <div class="card-body liquid"> | 
					
						
							|  |  |  |             <app-expired-utxos-stats></app-expired-utxos-stats> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |    | 
					
						
							|  |  |  |       <div class="col"> | 
					
						
							|  |  |  |         <div class="card-liquid card"> | 
					
						
							| 
									
										
										
										
											2024-02-27 16:39:28 +01:00
										 |  |  |           <h5 class="card-title" style="padding-top: 20px;" i18n="dashboard.lbtc-supply-against-btc-holdings">L-BTC Supply Against BTC Holdings</h5> | 
					
						
							|  |  |  |           <div class="card-body pl-0" style="padding-top: 25px;"> | 
					
						
							| 
									
										
										
										
											2024-02-13 09:36:22 +01:00
										 |  |  |             <app-lbtc-pegs-graph [height]="lbtcPegGraphHeight"></app-lbtc-pegs-graph> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |       <div class="col" style="margin-bottom: 1.47rem"> | 
					
						
							|  |  |  |         <div class="card-liquid card">  | 
					
						
							| 
									
										
										
										
											2024-02-13 09:36:22 +01:00
										 |  |  |           <div class="card-body"> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |             <app-reserves-ratio-stats></app-reserves-ratio-stats> | 
					
						
							| 
									
										
										
										
											2024-02-13 09:36:22 +01:00
										 |  |  |             <app-reserves-ratio></app-reserves-ratio> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       <div class="col"> | 
					
						
							|  |  |  |         <div class="card card-liquid smaller"> | 
					
						
							|  |  |  |           <div class="card-body"> | 
					
						
							|  |  |  |             <app-recent-pegs-stats></app-recent-pegs-stats> | 
					
						
							|  |  |  |             <app-recent-pegs-list [widget]="true"></app-recent-pegs-list> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       <div class="col" style="margin-bottom: 1.47rem"> | 
					
						
							|  |  |  |         <div class="card-liquid card smaller"> | 
					
						
							|  |  |  |           <div class="card-body"> | 
					
						
							|  |  |  |             <app-federation-addresses-stats></app-federation-addresses-stats> | 
					
						
							|  |  |  |             <app-federation-addresses-list [widget]="true"></app-federation-addresses-list> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2021-09-25 03:13:07 +04:00
										 |  |  |     </div> | 
					
						
							|  |  |  |   </div> | 
					
						
							|  |  |  | </ng-template> | 
					
						
							| 
									
										
										
										
											2024-02-13 00:39:34 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | <ng-template #auditInProgress> | 
					
						
							|  |  |  |   <ng-container *ngIf="(auditStatus$ | async) as auditStatus; else loadingSkeletonLiquid"> | 
					
						
							|  |  |  |     <div class="in-progress-message" *ngIf="auditStatus.lastBlockAudit && auditStatus.bitcoinHeaders; else loadingSkeletonLiquid"> | 
					
						
							|  |  |  |       <span i18n="liquid.audit-in-progress">Audit in progress: Bitcoin block height #{{ auditStatus.lastBlockAudit }} / #{{ auditStatus.bitcoinHeaders }}</span> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |   </ng-container> | 
					
						
							|  |  |  | </ng-template> |