2021-08-08 21:43:03 -03:00
< ng-container * ngIf = "(loadingBlocks$ | async) === false; else loadingBlocks" >
2022-03-12 14:55:42 +01:00
< div class = "mempool-blocks-container" * ngIf = "(difficultyAdjustments$ | async) as da;" >
2021-11-11 15:49:47 -03:00
< div class = "flashing" >
2021-08-08 21:43:03 -03:00
< ng-template ngFor let-projectedBlock [ ngForOf ] = " mempoolBlocks $ | async " let-i = "index" [ ngForTrackBy ] = " trackByFn " >
2022-07-06 10:00:32 -07:00
< div [ attr . data-cy ] = " ' mempool-block- ' + i " class = "bitcoin-block text-center mempool-block" id = "mempool-block-{{ i }}" [ ngStyle ] = " mempoolBlockStyles [ i ] " [ class . blink-bg ] = " projectedBlock . blink " >
2021-12-19 15:20:21 +09:00
< a draggable = "false" [ routerLink ] = " [ ' / mempool-block / ' | relativeUrl , i ] "
class="blockLink" [ngClass]="{'disabled': (this.stateService.blockScrolling$ | async)}"> < / a >
2021-08-08 21:43:03 -03:00
< div class = "block-body" >
2022-07-06 10:00:32 -07:00
< div [ attr . data-cy ] = " ' mempool-block- ' + i + ' -fees ' " class = "fees" >
2021-08-13 17:16:14 +03:00
~{{ projectedBlock.medianFee | number:feeRounding }} < span i18n = "shared.sat-vbyte|sat/vB" > sat/vB< / span >
2021-08-08 21:43:03 -03:00
< / div >
2022-07-06 10:00:32 -07:00
< div [ attr . data-cy ] = " ' mempool-block- ' + i + ' -fee-span ' " class = "fee-span" >
2021-08-13 17:16:14 +03:00
{{ projectedBlock.feeRange[0] | number:feeRounding }} - {{ projectedBlock.feeRange[projectedBlock.feeRange.length - 1] | number:feeRounding }} < span i18n = "shared.sat-vbyte|sat/vB" > sat/vB< / span >
2021-08-08 21:43:03 -03:00
< / div >
2022-02-22 11:16:18 +09:00
< div * ngIf = "showMiningInfo" class = "block-size" >
2022-07-06 10:00:32 -07:00
< app-amount [ attr . data-cy ] = " ' mempool-block- ' + i + ' -total-fees ' " [ satoshis ] = " projectedBlock . totalFees " digitsInfo = "1.2-3" [ noFiat ] = " true " > < / app-amount >
2022-02-22 11:16:18 +09:00
< / div >
< div * ngIf = "!showMiningInfo" class = "block-size" [ innerHTML ] = " ' & lrm ; ' + ( projectedBlock . blockSize | bytes: 2 ) " > < / div >
2022-07-06 10:00:32 -07:00
< div [ attr . data-cy ] = " ' mempool-block- ' + i + ' -transaction-count ' " class = "transaction-count" >
2021-08-08 21:43:03 -03:00
< ng-container * ngTemplateOutlet = "projectedBlock.nTx === 1 ? transactionsSingular : transactionsPlural; context: {$implicit: projectedBlock.nTx | 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 >
2022-07-06 10:00:32 -07:00
< div [ attr . data-cy ] = " ' mempool-block- ' + i + ' -time ' " class = "time-difference" * ngIf = "projectedBlock.blockVSize <= stateService.blockVSize; else mergedBlock" >
2021-12-27 22:54:45 +04:00
< ng-template [ ngIf ] = " network = == ' liquid ' | | network = == ' liquidtestnet ' " [ ngIfElse ] = " timeDiffMainnet " >
2021-08-08 21:43:03 -03:00
< app-time-until [ time ] = " ( 1 * i ) + now + 61000 " [ fastRender ] = " false " [ fixedRender ] = " true " > < / app-time-until >
< / ng-template >
< ng-template # timeDiffMainnet >
2022-03-12 14:55:42 +01:00
< app-time-until [ time ] = " da . timeAvg * ( i + 1 ) + now + da . timeOffset " [ fastRender ] = " false " [ fixedRender ] = " true " [ forceFloorOnTimeIntervals ] = " [ ' hour ' ] " > < / app-time-until >
2021-08-08 21:43:03 -03:00
< / ng-template >
< / div >
< ng-template # mergedBlock >
2022-07-06 10:00:32 -07:00
< div [ attr . data-cy ] = " ' mempool-block- ' + i + ' -blocks ' " class = "time-difference" >
2021-08-13 17:16:14 +03:00
< b > (< ng-container * ngTemplateOutlet = "blocksPlural; context: {$implicit: projectedBlock.blockVSize / stateService.blockVSize | ceil }" > < / ng-container > )< / b >
2021-08-08 21:43:03 -03:00
< ng-template # blocksPlural let-i i18n = "shared.blocks" > {{ i }} < span class = "shared-block" > blocks< / span > < / ng-template >
< / div >
2020-03-25 21:29:40 +07:00
< / ng-template >
< / div >
2021-08-08 21:43:03 -03:00
< span class = "animated-border" > < / span >
2020-02-16 22:15:07 +07:00
< / div >
2021-08-08 21:43:03 -03:00
< / ng-template >
< / div >
< div * ngIf = "arrowVisible" id = "arrow-up" [ ngStyle ] = " { ' right ' : rightPosition + 75 + ' px ' , transition: transition } " > < / div >
2020-02-16 22:15:07 +07:00
< / div >
2021-08-08 21:43:03 -03:00
< / ng-container >
2020-12-06 23:44:08 +07:00
2021-08-08 21:43:03 -03:00
< ng-template # loadingBlocks >
< div class = "mempool-blocks-container" >
< div class = "flashing" >
< ng-template ngFor let-projectedBlock [ ngForOf ] = " mempoolEmptyBlocks " let-i = "index" [ ngForTrackBy ] = " trackByFn " >
< div class = "bitcoin-block text-center mempool-block" id = "mempool-block-{{ i }}" [ ngStyle ] = " mempoolEmptyBlockStyles [ i ] " > < / div >
< / ng-template >
< / div >
2021-07-10 10:04:15 -03:00
< / div >
2021-08-08 21:43:03 -03:00
< / ng-template >