mirror of
https://github.com/mempool/mempool.git
synced 2025-02-24 22:58:30 +01:00
Add fee delta to acceleration data
This commit is contained in:
parent
b3e59c06e9
commit
3d9133c47e
7 changed files with 13 additions and 1 deletions
|
@ -165,6 +165,7 @@ class BitcoinRoutes {
|
||||||
acceleration: tx.acceleration,
|
acceleration: tx.acceleration,
|
||||||
acceleratedBy: tx.acceleratedBy || undefined,
|
acceleratedBy: tx.acceleratedBy || undefined,
|
||||||
acceleratedAt: tx.acceleratedAt || undefined,
|
acceleratedAt: tx.acceleratedAt || undefined,
|
||||||
|
feeDelta: tx.feeDelta || undefined,
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -453,6 +453,7 @@ class MempoolBlocks {
|
||||||
mempoolTx.acceleration = true;
|
mempoolTx.acceleration = true;
|
||||||
mempoolTx.acceleratedBy = isAcceleratedBy[txid] || acceleration?.pools;
|
mempoolTx.acceleratedBy = isAcceleratedBy[txid] || acceleration?.pools;
|
||||||
mempoolTx.acceleratedAt = acceleration?.added;
|
mempoolTx.acceleratedAt = acceleration?.added;
|
||||||
|
mempoolTx.feeDelta = acceleration?.feeDelta;
|
||||||
for (const ancestor of mempoolTx.ancestors || []) {
|
for (const ancestor of mempoolTx.ancestors || []) {
|
||||||
if (!mempool[ancestor.txid].acceleration) {
|
if (!mempool[ancestor.txid].acceleration) {
|
||||||
mempool[ancestor.txid].cpfpDirty = true;
|
mempool[ancestor.txid].cpfpDirty = true;
|
||||||
|
@ -460,6 +461,7 @@ class MempoolBlocks {
|
||||||
mempool[ancestor.txid].acceleration = true;
|
mempool[ancestor.txid].acceleration = true;
|
||||||
mempool[ancestor.txid].acceleratedBy = mempoolTx.acceleratedBy;
|
mempool[ancestor.txid].acceleratedBy = mempoolTx.acceleratedBy;
|
||||||
mempool[ancestor.txid].acceleratedAt = mempoolTx.acceleratedAt;
|
mempool[ancestor.txid].acceleratedAt = mempoolTx.acceleratedAt;
|
||||||
|
mempool[ancestor.txid].feeDelta = mempoolTx.feeDelta;
|
||||||
isAcceleratedBy[ancestor.txid] = mempoolTx.acceleratedBy;
|
isAcceleratedBy[ancestor.txid] = mempoolTx.acceleratedBy;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -823,6 +823,7 @@ class WebsocketHandler {
|
||||||
accelerated: mempoolTx.acceleration || undefined,
|
accelerated: mempoolTx.acceleration || undefined,
|
||||||
acceleratedBy: mempoolTx.acceleratedBy || undefined,
|
acceleratedBy: mempoolTx.acceleratedBy || undefined,
|
||||||
acceleratedAt: mempoolTx.acceleratedAt || undefined,
|
acceleratedAt: mempoolTx.acceleratedAt || undefined,
|
||||||
|
feeDelta: mempoolTx.feeDelta || undefined,
|
||||||
},
|
},
|
||||||
accelerationPositions: memPool.getAccelerationPositions(mempoolTx.txid),
|
accelerationPositions: memPool.getAccelerationPositions(mempoolTx.txid),
|
||||||
};
|
};
|
||||||
|
@ -864,6 +865,7 @@ class WebsocketHandler {
|
||||||
accelerated: mempoolTx.acceleration || undefined,
|
accelerated: mempoolTx.acceleration || undefined,
|
||||||
acceleratedBy: mempoolTx.acceleratedBy || undefined,
|
acceleratedBy: mempoolTx.acceleratedBy || undefined,
|
||||||
acceleratedAt: mempoolTx.acceleratedAt || undefined,
|
acceleratedAt: mempoolTx.acceleratedAt || undefined,
|
||||||
|
feeDelta: mempoolTx.feeDelta || undefined,
|
||||||
};
|
};
|
||||||
if (!mempoolTx.cpfpChecked) {
|
if (!mempoolTx.cpfpChecked) {
|
||||||
calculateMempoolTxCpfp(mempoolTx, newMempool);
|
calculateMempoolTxCpfp(mempoolTx, newMempool);
|
||||||
|
@ -1138,6 +1140,7 @@ class WebsocketHandler {
|
||||||
accelerated: mempoolTx.acceleration || undefined,
|
accelerated: mempoolTx.acceleration || undefined,
|
||||||
acceleratedBy: mempoolTx.acceleratedBy || undefined,
|
acceleratedBy: mempoolTx.acceleratedBy || undefined,
|
||||||
acceleratedAt: mempoolTx.acceleratedAt || undefined,
|
acceleratedAt: mempoolTx.acceleratedAt || undefined,
|
||||||
|
feeDelta: mempoolTx.feeDelta || undefined,
|
||||||
},
|
},
|
||||||
accelerationPositions: memPool.getAccelerationPositions(mempoolTx.txid),
|
accelerationPositions: memPool.getAccelerationPositions(mempoolTx.txid),
|
||||||
});
|
});
|
||||||
|
@ -1160,6 +1163,7 @@ class WebsocketHandler {
|
||||||
accelerated: mempoolTx.acceleration || undefined,
|
accelerated: mempoolTx.acceleration || undefined,
|
||||||
acceleratedBy: mempoolTx.acceleratedBy || undefined,
|
acceleratedBy: mempoolTx.acceleratedBy || undefined,
|
||||||
acceleratedAt: mempoolTx.acceleratedAt || undefined,
|
acceleratedAt: mempoolTx.acceleratedAt || undefined,
|
||||||
|
feeDelta: mempoolTx.feeDelta || undefined,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,6 +126,7 @@ export interface TransactionExtended extends IEsploraApi.Transaction {
|
||||||
acceleration?: boolean;
|
acceleration?: boolean;
|
||||||
acceleratedBy?: number[];
|
acceleratedBy?: number[];
|
||||||
acceleratedAt?: number;
|
acceleratedAt?: number;
|
||||||
|
feeDelta?: number;
|
||||||
replacement?: boolean;
|
replacement?: boolean;
|
||||||
uid?: number;
|
uid?: number;
|
||||||
flags?: number;
|
flags?: number;
|
||||||
|
@ -449,7 +450,7 @@ export interface OptimizedStatistic {
|
||||||
|
|
||||||
export interface TxTrackingInfo {
|
export interface TxTrackingInfo {
|
||||||
replacedBy?: string,
|
replacedBy?: string,
|
||||||
position?: { block: number, vsize: number, accelerated?: boolean, acceleratedBy?: number[], acceleratedAt?: number },
|
position?: { block: number, vsize: number, accelerated?: boolean, acceleratedBy?: number[], acceleratedAt?: number, feeDelta?: number },
|
||||||
cpfp?: {
|
cpfp?: {
|
||||||
ancestors?: Ancestor[],
|
ancestors?: Ancestor[],
|
||||||
bestDescendant?: Ancestor | null,
|
bestDescendant?: Ancestor | null,
|
||||||
|
@ -462,6 +463,7 @@ export interface TxTrackingInfo {
|
||||||
accelerated?: boolean,
|
accelerated?: boolean,
|
||||||
acceleratedBy?: number[],
|
acceleratedBy?: number[],
|
||||||
acceleratedAt?: number,
|
acceleratedAt?: number,
|
||||||
|
feeDelta?: number,
|
||||||
confirmed?: boolean
|
confirmed?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -816,6 +816,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||||
this.tx.acceleration = cpfpInfo.acceleration;
|
this.tx.acceleration = cpfpInfo.acceleration;
|
||||||
this.tx.acceleratedBy = cpfpInfo.acceleratedBy;
|
this.tx.acceleratedBy = cpfpInfo.acceleratedBy;
|
||||||
this.tx.acceleratedAt = cpfpInfo.acceleratedAt;
|
this.tx.acceleratedAt = cpfpInfo.acceleratedAt;
|
||||||
|
this.tx.feeDelta = cpfpInfo.feeDelta;
|
||||||
this.setIsAccelerated(firstCpfp);
|
this.setIsAccelerated(firstCpfp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ export interface Transaction {
|
||||||
acceleration?: boolean;
|
acceleration?: boolean;
|
||||||
acceleratedBy?: number[];
|
acceleratedBy?: number[];
|
||||||
acceleratedAt?: number;
|
acceleratedAt?: number;
|
||||||
|
feeDelta?: number;
|
||||||
deleteAfter?: number;
|
deleteAfter?: number;
|
||||||
_unblinded?: any;
|
_unblinded?: any;
|
||||||
_deduced?: boolean;
|
_deduced?: boolean;
|
||||||
|
|
|
@ -31,6 +31,7 @@ export interface CpfpInfo {
|
||||||
acceleration?: boolean;
|
acceleration?: boolean;
|
||||||
acceleratedBy?: number[];
|
acceleratedBy?: number[];
|
||||||
acceleratedAt?: number;
|
acceleratedAt?: number;
|
||||||
|
feeDelta?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface RbfInfo {
|
export interface RbfInfo {
|
||||||
|
|
Loading…
Add table
Reference in a new issue