mempool/frontend/src/app/interfaces/websocket.interface.ts

90 lines
2.5 KiB
TypeScript
Raw Normal View History

import { ILoadingIndicators } from '../services/state.service';
import { Transaction } from './electrs.interface';
import { BlockExtended, DifficultyAdjustment } from './node-api.interface';
export interface WebsocketResponse {
block?: BlockExtended;
blocks?: BlockExtended[];
conversions?: any;
txConfirmed?: boolean;
historicalDate?: string;
2020-02-17 20:39:20 +07:00
mempoolInfo?: MempoolInfo;
vBytesPerSecond?: number;
previousRetarget?: number;
2020-02-17 20:39:20 +07:00
action?: string;
data?: string[];
tx?: Transaction;
2022-03-08 14:49:25 +01:00
rbfTransaction?: ReplacedTransaction;
txReplaced?: ReplacedTransaction;
utxoSpent?: object;
transactions?: TransactionStripped[];
loadingIndicators?: ILoadingIndicators;
backendInfo?: IBackendInfo;
da?: DifficultyAdjustment;
fees?: Recommendedfees;
'track-tx'?: string;
'track-address'?: string;
2020-04-28 17:10:31 +07:00
'track-asset'?: string;
'track-mempool-block'?: number;
'watch-mempool'?: boolean;
'track-bisq-market'?: string;
}
2022-03-08 14:49:25 +01:00
export interface ReplacedTransaction extends Transaction {
txid: string;
}
export interface MempoolBlock {
2021-11-11 15:49:47 -03:00
blink?: boolean;
height?: number;
blockSize: number;
blockVSize: number;
nTx: number;
medianFee: number;
totalFees: number;
feeRange: number[];
index: number;
2023-03-13 18:10:49 +09:00
isStack?: boolean;
}
2020-02-17 20:39:20 +07:00
export interface MempoolBlockWithTransactions extends MempoolBlock {
transactionIds: string[];
transactions: TransactionStripped[];
}
export interface MempoolBlockDelta {
added: TransactionStripped[],
removed: string[],
}
2020-02-17 20:39:20 +07:00
export interface MempoolInfo {
loaded: boolean; // (boolean) True if the mempool is fully loaded
size: number; // (numeric) Current tx count
bytes: number; // (numeric) Sum of all virtual transaction sizes as defined in BIP 141.
usage: number; // (numeric) Total memory usage for the mempool
maxmempool: number; // (numeric) Maximum memory usage for the mempool
mempoolminfee: number; // (numeric) Minimum fee rate in BTC/kB for tx to be accepted.
minrelaytxfee: number; // (numeric) Current minimum relay fee for transactions
2020-02-17 20:39:20 +07:00
}
export interface TransactionStripped {
txid: string;
fee: number;
vsize: number;
value: number;
2022-11-23 19:07:17 +09:00
status?: 'found' | 'missing' | 'fresh' | 'added' | 'censored' | 'selected';
context?: 'projected' | 'actual';
}
export interface IBackendInfo {
hostname: string;
gitCommit: string;
version: string;
}
export interface Recommendedfees {
fastestFee: number;
halfHourFee: number;
hourFee: number;
minimumFee: number;
economyFee: number;
}