| 
									
										
										
										
											2023-04-19 03:34:13 +09:00
										 |  |  | <div class="blocks-container blockchain-blocks-container" [class.time-ltr]="timeLtr" [class.minimal]="minimal" | 
					
						
							|  |  |  |   [style.left]="static ? (offset || 0) + 'px' : null" [style.--block-size]="blockWidth+'px'" | 
					
						
							| 
									
										
										
										
											2023-02-08 19:07:59 -06:00
										 |  |  |   *ngIf="static || (loadingBlocks$ | async) === false; else loadingBlocksTemplate"> | 
					
						
							| 
									
										
										
										
											2022-12-27 11:33:08 -06:00
										 |  |  |   <div *ngFor="let block of blocks; let i = index; trackBy: trackByBlocksFn"> | 
					
						
							| 
									
										
										
										
											2023-02-14 12:51:41 -06:00
										 |  |  |     <ng-container *ngIf="connected && block && !block.loading && !block.placeholder; else placeholderBlock"> | 
					
						
							| 
									
										
										
										
											2023-05-04 17:50:27 -04:00
										 |  |  |       <div | 
					
						
							|  |  |  |         *ngIf="minimal && spotlight < 0 && chainTip + spotlight + 1 === block.height" | 
					
						
							|  |  |  |         class="spotlight-bottom" | 
					
						
							|  |  |  |         [style.left]="blockStyles[i].left" | 
					
						
							|  |  |  |       ></div> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |       <div [attr.data-cy]="'bitcoin-block-offset-' + offset + '-index-' + i" | 
					
						
							|  |  |  |         class="text-center bitcoin-block mined-block blockchain-blocks-offset-{{ offset }}-index-{{ i }}" | 
					
						
							| 
									
										
										
										
											2023-04-19 03:34:13 +09:00
										 |  |  |         [class.offscreen]="!static && count && i >= count" | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |         id="bitcoin-block-{{ block.height }}" [ngStyle]="blockStyles[i]" | 
					
						
							| 
									
										
										
										
											2023-03-14 16:58:02 +09:00
										 |  |  |         [class.blink-bg]="isSpecial(block.height)"> | 
					
						
							| 
									
										
										
										
											2023-06-05 13:27:17 -04:00
										 |  |  |         <a draggable="false" [routerLink]="[getHref(i, block) | relativeUrl]" [state]="{ data: { block: block } }" | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |           class="blockLink" [ngClass]="{'disabled': (this.stateService.blockScrolling$ | async)}"> </a> | 
					
						
							| 
									
										
										
										
											2023-04-19 03:34:13 +09:00
										 |  |  |         <div *ngIf="!minimal" [attr.data-cy]="'bitcoin-block-' + i + '-height'" class="block-height"> | 
					
						
							| 
									
										
										
										
											2023-06-05 13:27:17 -04:00
										 |  |  |           <a [routerLink]="[getHref(i, block) | relativeUrl]" [state]="{ data: { block: block } }">{{ block.height | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |             }}</a> | 
					
						
							| 
									
										
										
										
											2020-07-20 11:03:53 +07:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |         <div class="block-body"> | 
					
						
							| 
									
										
										
										
											2023-04-19 03:34:13 +09:00
										 |  |  |           <ng-container *ngIf="!minimal"> | 
					
						
							| 
									
										
										
										
											2023-04-19 00:21:02 +09:00
										 |  |  |             <div *ngIf="block?.extras; else emptyfees" [attr.data-cy]="'bitcoin-block-offset=' + offset + '-index-' + i + '-fees'" class="fees"> | 
					
						
							| 
									
										
										
										
											2023-06-15 15:17:32 -04:00
										 |  |  |               ~<app-fee-rate [fee]="block?.extras?.medianFee" unitClass="" rounding="1.0-0"></app-fee-rate> | 
					
						
							| 
									
										
										
										
											2023-02-21 18:09:41 +09:00
										 |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2023-04-19 00:21:02 +09:00
										 |  |  |             <ng-template #emptyfees> | 
					
						
							|  |  |  |               <div [attr.data-cy]="'bitcoin-block-offset=' + offset + '-index-' + i + '-fees'" class="fees"> | 
					
						
							| 
									
										
										
										
											2024-02-07 11:31:22 +01:00
										 |  |  |                 <app-fee-rate unitClass=""></app-fee-rate> | 
					
						
							| 
									
										
										
										
											2023-04-19 00:21:02 +09:00
										 |  |  |               </div> | 
					
						
							|  |  |  |             </ng-template> | 
					
						
							|  |  |  |             <div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + '-fee-span'" class="fee-span" | 
					
						
							| 
									
										
										
										
											2023-06-15 09:45:25 -04:00
										 |  |  |               *ngIf="block?.extras?.minFee != null && block?.extras?.maxFee != null; else emptyfeespan"> | 
					
						
							| 
									
										
										
										
											2023-06-15 15:17:32 -04:00
										 |  |  |               <app-fee-rate [fee]="block?.extras?.minFee" [showUnit]="false" rounding="1.0-0" unitClass=""></app-fee-rate> | 
					
						
							|  |  |  |               - | 
					
						
							|  |  |  |               <app-fee-rate [fee]="block?.extras?.maxFee" rounding="1.0-0" unitClass=""></app-fee-rate> | 
					
						
							| 
									
										
										
										
											2023-02-21 18:09:41 +09:00
										 |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2023-04-19 00:21:02 +09:00
										 |  |  |             <ng-template #emptyfeespan> | 
					
						
							|  |  |  |               <div [attr.data-cy]="'bitcoin-block-offset=' + offset + '-index-' + i + '-fees'" class="fee-span"> | 
					
						
							| 
									
										
										
										
											2024-02-07 11:31:22 +01:00
										 |  |  |                 <app-fee-rate unitClass=""></app-fee-rate> | 
					
						
							| 
									
										
										
										
											2023-04-19 00:21:02 +09:00
										 |  |  |               </div> | 
					
						
							|  |  |  |             </ng-template> | 
					
						
							|  |  |  |             <div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + '-total-fees'" *ngIf="showMiningInfo" | 
					
						
							|  |  |  |               class="block-size"> | 
					
						
							|  |  |  |               <app-amount [satoshis]="block.extras?.totalFees ?? 0" digitsInfo="1.2-3" [noFiat]="true"></app-amount> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + 'block-size'" *ngIf="!showMiningInfo" | 
					
						
							|  |  |  |               class="block-size" [innerHTML]="'‎' + (block.size | bytes: 2)"></div> | 
					
						
							|  |  |  |             <div [attr.data-cy]="'bitcoin-block-' + i + '-transactions'" class="transaction-count"> | 
					
						
							|  |  |  |               <ng-container | 
					
						
							|  |  |  |                 *ngTemplateOutlet="block.tx_count === 1 ? transactionsSingular : transactionsPlural; context: {$implicit: block.tx_count | number}"></ng-container> | 
					
						
							|  |  |  |               <ng-template #transactionsSingular let-i i18n="shared.transaction-count.singular">{{ i }} transaction</ng-template> | 
					
						
							|  |  |  |               <ng-template #transactionsPlural let-i i18n="shared.transaction-count.plural">{{ i }} transactions</ng-template> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + '-time'" class="time-difference"> | 
					
						
							| 
									
										
										
										
											2023-06-29 10:06:03 -04:00
										 |  |  |               <app-time kind="since" [time]="block.timestamp" [fastRender]="true" [precision]="1" minUnit="minute"></app-time></div> | 
					
						
							| 
									
										
										
										
											2023-04-19 00:21:02 +09:00
										 |  |  |           </ng-container> | 
					
						
							| 
									
										
										
										
											2022-02-22 11:16:18 +09:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2024-03-08 19:16:09 +00:00
										 |  |  |         <div class="animated" [class]="markHeight === block.height ? 'hide' : 'show'" *ngIf="block.extras?.pool != undefined && showPools"> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |           <a [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + '-pool'" class="badge badge-primary" | 
					
						
							|  |  |  |             [routerLink]="[('/mining/pool/' + block.extras.pool.slug) | relativeUrl]"> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |             {{ block.extras.pool.name}}</a> | 
					
						
							| 
									
										
										
										
											2020-12-06 23:44:08 +07:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |     </ng-container> | 
					
						
							| 
									
										
										
										
											2022-12-27 11:33:08 -06:00
										 |  |  |     <ng-template #placeholderBlock> | 
					
						
							| 
									
										
										
										
											2023-02-14 12:51:41 -06:00
										 |  |  |       <ng-container *ngIf="block && block.placeholder && connected && !loadingTip; else loadingBlock"> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |         <div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i" | 
					
						
							|  |  |  |           class="text-center bitcoin-block mined-block placeholder-block blockchain-blocks-{{ i }}" | 
					
						
							|  |  |  |           id="bitcoin-block-{{ block.height }}" [ngStyle]="blockStyles[i]"> | 
					
						
							| 
									
										
										
										
											2023-02-08 19:07:59 -06:00
										 |  |  |   | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2022-12-27 11:33:08 -06:00
										 |  |  |       </ng-container> | 
					
						
							|  |  |  |     </ng-template> | 
					
						
							|  |  |  |     <ng-template #loadingBlock> | 
					
						
							| 
									
										
										
										
											2023-02-14 12:51:41 -06:00
										 |  |  |       <ng-container *ngIf="!connected || loadingTip || (block && block.loading)"> | 
					
						
							| 
									
										
										
										
											2023-02-08 19:07:59 -06:00
										 |  |  |         <div class="flashing loading"> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |           <div class="text-center bitcoin-block mined-block" id="bitcoin-block-{{ block.height }}" | 
					
						
							| 
									
										
										
										
											2023-02-23 14:31:01 -06:00
										 |  |  |             [ngStyle]="convertStyleForLoadingBlock(blockStyles[i])"></div> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2022-12-27 11:33:08 -06:00
										 |  |  |       </ng-container> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |     </ng-template> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |   <div [hidden]="!arrowVisible" id="arrow-up" [style.transition]="arrowTransition" | 
					
						
							|  |  |  |     [ngStyle]="{'left': arrowLeftPx + 'px' }"></div> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  | </div> | 
					
						
							| 
									
										
										
										
											2021-07-10 10:04:15 -03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-12 20:24:15 +04:00
										 |  |  | <ng-template #loadingBlocksTemplate> | 
					
						
							| 
									
										
										
										
											2023-04-19 03:34:13 +09:00
										 |  |  |   <div class="blocks-container" [class.time-ltr]="timeLtr" [style.--block-size]="blockWidth+'px'"> | 
					
						
							| 
									
										
										
										
											2021-08-06 08:09:47 -03:00
										 |  |  |     <div class="flashing"> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |       <div *ngFor="let block of emptyBlocks; let i = index; trackBy: trackByBlocksFn"> | 
					
						
							|  |  |  |         <div class="text-center bitcoin-block mined-block" id="bitcoin-block-{{ block.height }}" | 
					
						
							| 
									
										
										
										
											2023-04-19 03:34:13 +09:00
										 |  |  |           [ngStyle]="emptyBlockStyles[i]" [class.offscreen]="!static && count && i >= count"></div> | 
					
						
							| 
									
										
										
										
											2021-08-06 08:09:47 -03:00
										 |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2021-07-10 10:04:15 -03:00
										 |  |  |     </div> | 
					
						
							|  |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2021-08-06 08:09:47 -03:00
										 |  |  | </ng-template> |