Merge pull request #5449 from mempool/mononaut/non-acc-effective-fee
fix mined acceleration detection logic on tx pages
This commit is contained in:
commit
ef13596b59
@ -293,7 +293,7 @@ export class TrackerComponent implements OnInit, OnDestroy {
|
|||||||
})
|
})
|
||||||
).subscribe((accelerationHistory) => {
|
).subscribe((accelerationHistory) => {
|
||||||
for (const acceleration of accelerationHistory) {
|
for (const acceleration of accelerationHistory) {
|
||||||
if (acceleration.txid === this.txId && (acceleration.status === 'completed' || acceleration.status === 'completed_provisional')) {
|
if (acceleration.txid === this.txId && (acceleration.status === 'completed' || acceleration.status === 'completed_provisional') && acceleration.pools.includes(acceleration.minedByPoolUniqueId)) {
|
||||||
const boostCost = acceleration.boostCost || acceleration.bidBoost;
|
const boostCost = acceleration.boostCost || acceleration.bidBoost;
|
||||||
acceleration.acceleratedFeeRate = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + boostCost) / acceleration.effectiveVsize;
|
acceleration.acceleratedFeeRate = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + boostCost) / acceleration.effectiveVsize;
|
||||||
acceleration.boost = boostCost;
|
acceleration.boost = boostCost;
|
||||||
|
@ -607,15 +607,10 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="td-width" i18n="transaction.fee|Transaction fee">Fee</td>
|
<td class="td-width" i18n="transaction.fee|Transaction fee">Fee</td>
|
||||||
<td class="text-wrap">{{ tx.fee | number }} <span class="symbol" i18n="shared.sat|sat">sat</span>
|
<td class="text-wrap">{{ tx.fee | number }} <span class="symbol" i18n="shared.sat|sat">sat</span>
|
||||||
@if (accelerationInfo?.bidBoost) {
|
@if (accelerationInfo?.bidBoost ?? tx.feeDelta > 0) {
|
||||||
<span class="oobFees" i18n-ngbTooltip="Acceleration Fees" ngbTooltip="Acceleration fees paid out-of-band"> +{{ accelerationInfo.bidBoost | number }} </span><span class="symbol" i18n="shared.sat|sat">sat</span>
|
<span class="oobFees" i18n-ngbTooltip="Acceleration Fees" ngbTooltip="Acceleration fees paid out-of-band"> +{{ accelerationInfo?.bidBoost ?? tx.feeDelta | number }} </span><span class="symbol" i18n="shared.sat|sat">sat</span>
|
||||||
<span class="fiat"><app-fiat [blockConversion]="tx.price" [value]="tx.fee + accelerationInfo.bidBoost"></app-fiat></span>
|
|
||||||
} @else if (tx.feeDelta && !accelerationInfo) {
|
|
||||||
<span class="oobFees" i18n-ngbTooltip="Acceleration Fees" ngbTooltip="Acceleration fees paid out-of-band"> +{{ tx.feeDelta | number }} </span><span class="symbol" i18n="shared.sat|sat">sat</span>
|
|
||||||
<span class="fiat"><app-fiat [blockConversion]="tx.price" [value]="tx.fee + tx.feeDelta"></app-fiat></span>
|
|
||||||
} @else {
|
|
||||||
<span class="fiat"><app-fiat [blockConversion]="tx.price" [value]="tx.fee"></app-fiat></span>
|
|
||||||
}
|
}
|
||||||
|
<span class="fiat"><app-fiat [blockConversion]="tx.price" [value]="tx.fee + ((accelerationInfo?.bidBoost ?? tx.feeDelta) || 0)"></app-fiat></span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
} @else {
|
} @else {
|
||||||
|
@ -358,12 +358,18 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
|
|||||||
}),
|
}),
|
||||||
).subscribe((accelerationHistory) => {
|
).subscribe((accelerationHistory) => {
|
||||||
for (const acceleration of accelerationHistory) {
|
for (const acceleration of accelerationHistory) {
|
||||||
if (acceleration.txid === this.txId && (acceleration.status === 'completed' || acceleration.status === 'completed_provisional')) {
|
if (acceleration.txid === this.txId) {
|
||||||
|
if (acceleration.status === 'completed' || acceleration.status === 'completed_provisional') {
|
||||||
|
if (acceleration.pools.includes(acceleration.minedByPoolUniqueId)) {
|
||||||
const boostCost = acceleration.boostCost || acceleration.bidBoost;
|
const boostCost = acceleration.boostCost || acceleration.bidBoost;
|
||||||
acceleration.acceleratedFeeRate = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + boostCost) / acceleration.effectiveVsize;
|
acceleration.acceleratedFeeRate = Math.max(acceleration.effectiveFee, acceleration.effectiveFee + boostCost) / acceleration.effectiveVsize;
|
||||||
acceleration.boost = boostCost;
|
acceleration.boost = boostCost;
|
||||||
this.tx.acceleratedAt = acceleration.added;
|
this.tx.acceleratedAt = acceleration.added;
|
||||||
this.accelerationInfo = acceleration;
|
this.accelerationInfo = acceleration;
|
||||||
|
} else {
|
||||||
|
this.tx.feeDelta = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
this.waitingForAccelerationInfo = false;
|
this.waitingForAccelerationInfo = false;
|
||||||
this.setIsAccelerated();
|
this.setIsAccelerated();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user