| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  | <div class="blocks-container blockchain-blocks-container" [class.time-ltr]="timeLtr" | 
					
						
							|  |  |  |   [style.left]="static ? (offset || 0) + 'px' : null" | 
					
						
							|  |  |  |   *ngIf="(loadingBlocks$ | async) === false; else loadingBlocksTemplate"> | 
					
						
							| 
									
										
										
										
											2022-12-27 11:33:08 -06:00
										 |  |  |   <div *ngFor="let block of blocks; let i = index; trackBy: trackByBlocksFn"> | 
					
						
							|  |  |  |     <ng-container *ngIf="block && !block.loading && !block.placeholder; else placeholderBlock"> | 
					
						
							| 
									
										
										
										
											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 }}" | 
					
						
							|  |  |  |         id="bitcoin-block-{{ block.height }}" [ngStyle]="blockStyles[i]" | 
					
						
							|  |  |  |         [class.blink-bg]="(specialBlocks[block.height] !== undefined)"> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |         <a draggable="false" [routerLink]="['/block/' | relativeUrl, block.id]" [state]="{ data: { block: block } }" | 
					
						
							|  |  |  |           class="blockLink" [ngClass]="{'disabled': (this.stateService.blockScrolling$ | async)}"> </a> | 
					
						
							|  |  |  |         <div [attr.data-cy]="'bitcoin-block-' + i + '-height'" class="block-height"> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |           <a [routerLink]="['/block/' | relativeUrl, block.id]" [state]="{ data: { block: block } }">{{ block.height | 
					
						
							|  |  |  |             }}</a> | 
					
						
							| 
									
										
										
										
											2020-07-20 11:03:53 +07:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |         <div class="block-body"> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |           <div [attr.data-cy]="'bitcoin-block-offset=' + offset + '-index-' + i + '-fees'" class="fees"> | 
					
						
							|  |  |  |             ~{{ block?.extras?.medianFee | number:feeRounding }} <ng-container | 
					
						
							|  |  |  |               i18n="shared.sat-vbyte|sat/vB">sat/vB</ng-container> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |           <div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + '-fee-span'" class="fee-span" | 
					
						
							|  |  |  |             *ngIf="block?.extras?.feeRange"> | 
					
						
							|  |  |  |             {{ block?.extras?.feeRange?.[1] | number:feeRounding }} - {{ | 
					
						
							|  |  |  |             block?.extras?.feeRange[block?.extras?.feeRange?.length - 1] | number:feeRounding }} <ng-container | 
					
						
							|  |  |  |               i18n="shared.sat-vbyte|sat/vB">sat/vB</ng-container> | 
					
						
							| 
									
										
										
										
											2022-12-27 11:33:08 -06:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |           <div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + '-fee-span'" class="fee-span" | 
					
						
							|  |  |  |             *ngIf="!block?.extras?.feeRange"> | 
					
						
							| 
									
										
										
										
											2022-12-27 11:33:08 -06:00
										 |  |  |               | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |           <div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + '-total-fees'" *ngIf="showMiningInfo" | 
					
						
							|  |  |  |             class="block-size"> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |             <app-amount [satoshis]="block.extras?.totalFees ?? 0" digitsInfo="1.2-3" [noFiat]="true"></app-amount> | 
					
						
							|  |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |           <div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + 'block-size'" *ngIf="!showMiningInfo" | 
					
						
							|  |  |  |             class="block-size" [innerHTML]="'‎' + (block.size | bytes: 2)"></div> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |           <div [attr.data-cy]="'bitcoin-block-' + i + '-transactions'" class="transaction-count"> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |             <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> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |           <div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + '-time'" class="time-difference"> | 
					
						
							|  |  |  |             <app-time-since [time]="block.timestamp" [fastRender]="true"></app-time-since></div> | 
					
						
							| 
									
										
										
										
											2022-02-22 11:16:18 +09:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |         <div class="animated" [class]="showMiningInfo ? 'show' : 'hide'" *ngIf="block.extras?.pool != undefined"> | 
					
						
							| 
									
										
										
										
											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> | 
					
						
							|  |  |  |       <ng-container *ngIf="block && block.placeholder; 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]"> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-27 05:28:57 -06:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2022-12-27 11:33:08 -06:00
										 |  |  |       </ng-container> | 
					
						
							|  |  |  |     </ng-template> | 
					
						
							|  |  |  |     <ng-template #loadingBlock> | 
					
						
							|  |  |  |       <ng-container *ngIf="block && block.loading"> | 
					
						
							|  |  |  |         <div class="flashing"> | 
					
						
							| 
									
										
										
										
											2023-02-13 16:57:39 -08:00
										 |  |  |           <div class="text-center bitcoin-block mined-block" id="bitcoin-block-{{ block.height }}" | 
					
						
							|  |  |  |             [ngStyle]="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> | 
					
						
							| 
									
										
										
										
											2022-09-29 22:45:40 +00:00
										 |  |  |   <div class="blocks-container" [class.time-ltr]="timeLtr"> | 
					
						
							| 
									
										
										
										
											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 }}" | 
					
						
							|  |  |  |           [ngStyle]="emptyBlockStyles[i]"></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> |