Project early difficulty from sliding window
This commit is contained in:
@@ -49,13 +49,15 @@
|
||||
<div class="item" *ngIf="showHalving">
|
||||
<h5 class="card-title" i18n="difficulty-box.next-halving">Next Halving</h5>
|
||||
<div class="card-text" i18n-ngbTooltip="mining.average-fee" [ngbTooltip]="halvingBlocksLeft" [tooltipContext]="{ epochData: epochData }" placement="bottom">
|
||||
<span>{{ timeUntilHalving | date }}</span>
|
||||
<ng-container *ngTemplateOutlet="epochData.blocksUntilHalving === 1 ? blocksSingular : blocksPlural; context: {$implicit: epochData.blocksUntilHalving }"></ng-container>
|
||||
<ng-template #blocksPlural let-i i18n="shared.blocks">{{ i }} <span class="shared-block">blocks</span></ng-template>
|
||||
<ng-template #blocksSingular let-i i18n="shared.block">{{ i }} <span class="shared-block">block</span></ng-template>
|
||||
<div class="symbol" *ngIf="blocksUntilHalving === 1; else approxTime">
|
||||
<app-time kind="until" [time]="epochData.timeAvg + now" [fastRender]="false" [fixedRender]="true" [precision]="1" minUnit="minute"></app-time>
|
||||
<app-time kind="until" [time]="epochData.adjustedTimeAvg + now" [fastRender]="false" [fixedRender]="true" [precision]="1" minUnit="minute"></app-time>
|
||||
</div>
|
||||
<ng-template #approxTime>
|
||||
<div class="symbol">
|
||||
<app-time kind="until" [time]="timeUntilHalving" [fastRender]="false" [fixedRender]="true" [precision]="0" [numUnits]="2" [units]="['year', 'day', 'hour', 'minute']"></app-time>
|
||||
<span>{{ timeUntilHalving | date }}</span>
|
||||
</div>
|
||||
</ng-template>
|
||||
</div>
|
||||
|
||||
@@ -16,6 +16,7 @@ interface EpochProgress {
|
||||
blocksUntilHalving: number;
|
||||
timeUntilHalving: number;
|
||||
timeAvg: number;
|
||||
adjustedTimeAvg: number;
|
||||
}
|
||||
|
||||
@Component({
|
||||
@@ -85,6 +86,7 @@ export class DifficultyMiningComponent implements OnInit {
|
||||
blocksUntilHalving: this.blocksUntilHalving,
|
||||
timeUntilHalving: this.timeUntilHalving,
|
||||
timeAvg: da.timeAvg,
|
||||
adjustedTimeAvg: da.adjustedTimeAvg,
|
||||
};
|
||||
return data;
|
||||
})
|
||||
|
||||
@@ -19,6 +19,7 @@ interface EpochProgress {
|
||||
blocksUntilHalving: number;
|
||||
timeUntilHalving: number;
|
||||
timeAvg: number;
|
||||
adjustedTimeAvg: number;
|
||||
}
|
||||
|
||||
type BlockStatus = 'mined' | 'behind' | 'ahead' | 'next' | 'remaining';
|
||||
@@ -153,6 +154,7 @@ export class DifficultyComponent implements OnInit {
|
||||
blocksUntilHalving,
|
||||
timeUntilHalving,
|
||||
timeAvg: da.timeAvg,
|
||||
adjustedTimeAvg: da.adjustedTimeAvg,
|
||||
};
|
||||
return data;
|
||||
})
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<app-time kind="until" [time]="(1 * i) + now + 61000" [fastRender]="false" [fixedRender]="true" [precision]="1" minUnit="minute"></app-time>
|
||||
</ng-template>
|
||||
<ng-template #timeDiffMainnet>
|
||||
<app-time kind="until" [time]="da.timeAvg * (i + 1) + now + da.timeOffset" [fastRender]="false" [fixedRender]="true" [precision]="1" minUnit="minute"></app-time>
|
||||
<app-time kind="until" [time]="da.adjustedTimeAvg * (i + 1) + now + da.timeOffset" [fastRender]="false" [fixedRender]="true" [precision]="1" minUnit="minute"></app-time>
|
||||
</ng-template>
|
||||
</div>
|
||||
<ng-template #mergedBlock>
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
</ng-template>
|
||||
<ng-template #timeEstimateDefault>
|
||||
<span class="eta justify-content-end" [class]="(acceleratorAvailable && accelerateCtaType === 'button') ? 'd-flex align-items-center' : ''">
|
||||
<app-time kind="until" *ngIf="(da$ | async) as da;" [time]="da.timeAvg * (this.mempoolPosition.block + 1) + now + da.timeOffset" [fastRender]="false" [fixedRender]="true"></app-time>
|
||||
<app-time kind="until" *ngIf="(da$ | async) as da;" [time]="da.adjustedTimeAvg * (this.mempoolPosition.block + 1) + now + da.timeOffset" [fastRender]="false" [fixedRender]="true"></app-time>
|
||||
<a *ngIf="!tx.acceleration && acceleratorAvailable && accelerateCtaType === 'button' && !tx?.acceleration" [href]="'/services/accelerator/accelerate?txid=' + tx.txid" class="btn btn-sm accelerate btn-small-height" i18n="transaction.accelerate|Accelerate button label" (click)="onAccelerateClicked()">Accelerate</a>
|
||||
</span>
|
||||
</ng-template>
|
||||
|
||||
@@ -155,6 +155,7 @@ export const restApiDocsData = [
|
||||
previousRetarget: -4.807005268478962,
|
||||
nextRetargetHeight: 741888,
|
||||
timeAvg: 302328,
|
||||
adjustedTimeAvg: 302328,
|
||||
timeOffset: 0
|
||||
}`
|
||||
},
|
||||
@@ -171,6 +172,7 @@ export const restApiDocsData = [
|
||||
previousRetarget: -4.807005268478962,
|
||||
nextRetargetHeight: 741888,
|
||||
timeAvg: 302328,
|
||||
adjustedTimeAvg: 302328,
|
||||
timeOffset: 0
|
||||
}`
|
||||
},
|
||||
@@ -187,6 +189,7 @@ export const restApiDocsData = [
|
||||
previousRetarget: -4.807005268478962,
|
||||
nextRetargetHeight: 741888,
|
||||
timeAvg: 302328,
|
||||
adjustedTimeAvg: 302328,
|
||||
timeOffset: 0
|
||||
}`
|
||||
},
|
||||
@@ -203,6 +206,7 @@ export const restApiDocsData = [
|
||||
previousRetarget: -4.807005268478962,
|
||||
nextRetargetHeight: 741888,
|
||||
timeAvg: 302328,
|
||||
adjustedTimeAvg: 302328,
|
||||
timeOffset: 0
|
||||
}`
|
||||
}
|
||||
|
||||
@@ -54,6 +54,7 @@ export interface DifficultyAdjustment {
|
||||
previousTime: number;
|
||||
nextRetargetHeight: number;
|
||||
timeAvg: number;
|
||||
adjustedTimeAvg: number;
|
||||
timeOffset: number;
|
||||
expectedBlocks: number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user