mempool/frontend/src/app/services/state.service.ts

25 lines
927 B
TypeScript
Raw Normal View History

import { Injectable } from '@angular/core';
import { ReplaySubject, BehaviorSubject, Subject } from 'rxjs';
2020-02-23 19:16:50 +07:00
import { Block, Transaction } from '../interfaces/electrs.interface';
2020-02-17 20:39:20 +07:00
import { MempoolBlock, MemPoolState } from '../interfaces/websocket.interface';
2020-02-17 00:26:57 +07:00
import { OptimizedMempoolStats } from '../interfaces/node-api.interface';
@Injectable({
providedIn: 'root'
})
export class StateService {
latestBlockHeight = 0;
blocks$ = new ReplaySubject<Block>(8);
conversions$ = new ReplaySubject<any>(1);
2020-02-17 20:39:20 +07:00
mempoolStats$ = new ReplaySubject<MemPoolState>();
mempoolBlocks$ = new ReplaySubject<MempoolBlock[]>(1);
2020-02-23 19:16:50 +07:00
txConfirmed$ = new Subject<Block>();
mempoolTransactions$ = new Subject<Transaction>();
blockTransactions$ = new Subject<Transaction>();
2020-02-17 00:26:57 +07:00
live2Chart$ = new Subject<OptimizedMempoolStats>();
viewFiat$ = new BehaviorSubject<boolean>(false);
connectionState$ = new BehaviorSubject<0 | 1 | 2>(2);
}