mirror of
https://github.com/mempool/mempool.git
synced 2025-01-18 05:12:35 +01:00
Resume transaction tracking after reconnect.
This commit is contained in:
parent
4229b9b3df
commit
35c4d9676c
@ -74,7 +74,7 @@ class ProjectedBlocks {
|
||||
return {
|
||||
blockSize: blockSize,
|
||||
blockWeight: blockWeight,
|
||||
nTx: transactions.length - 1,
|
||||
nTx: transactions.length,
|
||||
minFee: transactions[transactions.length - 1].feePerVsize,
|
||||
maxFee: transactions[0].feePerVsize,
|
||||
minWeightFee: transactions[transactions.length - 1].feePerWeightUnit,
|
||||
|
@ -41,6 +41,10 @@ export class BlockchainComponent implements OnInit, OnDestroy {
|
||||
|
||||
this.route.paramMap
|
||||
.subscribe((params: ParamMap) => {
|
||||
if (this.memPoolService.txTracking$.value.enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
const txId: string | null = params.get('id');
|
||||
if (!txId) {
|
||||
return;
|
||||
@ -52,6 +56,13 @@ export class BlockchainComponent implements OnInit, OnDestroy {
|
||||
this.memPoolService.txIdSearch$
|
||||
.subscribe((txId) => {
|
||||
if (txId) {
|
||||
|
||||
if (this.memPoolService.txTracking$.value.enabled
|
||||
&& this.memPoolService.txTracking$.value.tx
|
||||
&& this.memPoolService.txTracking$.value.tx.txid === txId) {
|
||||
return;
|
||||
}
|
||||
console.log('enabling tracking loading from idSearch!');
|
||||
this.txTrackingLoading = true;
|
||||
this.apiService.webSocketStartTrackTx(txId);
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ export class ApiService {
|
||||
private websocketSubject: Observable<IMempoolDefaultResponse> = webSocket<IMempoolDefaultResponse | any>(WEB_SOCKET_URL);
|
||||
private lastWant: string[] | null = null;
|
||||
private goneOffline = false;
|
||||
private lastTrackedTxId = '';
|
||||
|
||||
constructor(
|
||||
private httpClient: HttpClient,
|
||||
@ -68,7 +69,7 @@ export class ApiService {
|
||||
this.memPoolService.conversions$.next(response.conversions);
|
||||
}
|
||||
|
||||
if (response['track-tx']) {
|
||||
if (response['track-tx'] && !this.goneOffline) {
|
||||
let txTrackingEnabled;
|
||||
let txTrackingBlockHeight;
|
||||
let txTrackingTx = null;
|
||||
@ -104,6 +105,9 @@ export class ApiService {
|
||||
if (this.lastWant) {
|
||||
this.webSocketWant(this.lastWant);
|
||||
}
|
||||
if (this.memPoolService.txTracking$.value.enabled) {
|
||||
this.webSocketStartTrackTx(this.lastTrackedTxId);
|
||||
}
|
||||
}
|
||||
},
|
||||
(err: Error) => {
|
||||
@ -117,6 +121,7 @@ export class ApiService {
|
||||
webSocketStartTrackTx(txId: string) {
|
||||
// @ts-ignore
|
||||
this.websocketSubject.next({'action': 'track-tx', 'txId': txId});
|
||||
this.lastTrackedTxId = txId;
|
||||
}
|
||||
|
||||
webSocketWant(data: string[]) {
|
||||
|
Loading…
Reference in New Issue
Block a user