explorer/server/utils/states.ts
2025-05-06 16:14:25 +07:00

66 lines
No EOL
1.4 KiB
TypeScript

interface IBlockInfo {
lastBlock?: number,
daemon_network_state?: number,
height?: number,
tx_pool_size?: number,
alias_count?: number,
alt_blocks_count?: number,
}
export let blockInfo: IBlockInfo = {};
export function setBlockInfo(newBlockInfo: IBlockInfo) {
blockInfo = newBlockInfo;
}
export interface ILastBlock {
height: number,
tx_id: string
}
export let lastBlock: ILastBlock = {
height: -1,
tx_id: '0000000000000000000000000000000000000000000000000000000000000000'
}
export interface PriceData {
price?: number;
usd_24h_change?: number;
lastUpdated?: string;
}
export interface State {
countAliasesDB?: number;
countAltBlocksDB?: number;
countAliasesServer?: number;
countAltBlocksServer?: number;
countTrPoolServer?: number;
statusSyncPool: boolean;
now_delete_offers: boolean;
statusSyncAltBlocks: boolean;
now_blocks_sync: boolean;
serverTimeout: number;
block_array: any[];
pools_array: any[];
priceData: any;
zanoBurned?: number;
}
export let state: State = {
statusSyncPool: false,
now_delete_offers: false,
statusSyncAltBlocks: false,
now_blocks_sync: false,
serverTimeout: 30,
block_array: [],
pools_array: [],
priceData: {}
}
export function setState(newState: State) {
state = newState;
}
export function setLastBlock(lastBlock_: ILastBlock) {
lastBlock = lastBlock_;
}