65
backend/src/config.ts
Normal file
65
backend/src/config.ts
Normal file
@@ -0,0 +1,65 @@
|
||||
const configFile = require('../mempool-config.json');
|
||||
|
||||
export interface IConfig {
|
||||
MEMPOOL: {
|
||||
NETWORK: 'mainnet' | 'testnet' | 'liquid';
|
||||
HTTP_PORT: number;
|
||||
MINED_BLOCKS_CACHE: number;
|
||||
SPAWN_CLUSTER_PROCS: number;
|
||||
API_URL_PREFIX: string;
|
||||
WEBSOCKET_REFRESH_RATE_MS: number;
|
||||
};
|
||||
ELECTRS: {
|
||||
REST_API_URL: string;
|
||||
POLL_RATE_MS: number;
|
||||
};
|
||||
DATABASE: {
|
||||
ENABLED: boolean;
|
||||
HOST: string,
|
||||
PORT: number;
|
||||
DATABASE: string;
|
||||
USERNAME: string;
|
||||
PASSWORD: string;
|
||||
};
|
||||
STATISTICS: {
|
||||
ENABLED: boolean;
|
||||
TX_PER_SECOND_SAMPLE_PERIOD: number;
|
||||
};
|
||||
BISQ_BLOCKS: {
|
||||
ENABLED: boolean;
|
||||
DATA_PATH: string;
|
||||
};
|
||||
BISQ_MARKETS: {
|
||||
ENABLED: boolean;
|
||||
DATA_PATH: string;
|
||||
};
|
||||
SPONSORS: {
|
||||
ENABLED: boolean;
|
||||
BTCPAY_URL: string;
|
||||
BTCPAY_AUTH: string;
|
||||
BTCPAY_WEBHOOK_URL: string;
|
||||
TWITTER_BEARER_AUTH: string;
|
||||
};
|
||||
}
|
||||
|
||||
class Config implements IConfig {
|
||||
MEMPOOL: IConfig['MEMPOOL'];
|
||||
ELECTRS: IConfig['ELECTRS'];
|
||||
DATABASE: IConfig['DATABASE'];
|
||||
STATISTICS: IConfig['STATISTICS'];
|
||||
BISQ_BLOCKS: IConfig['BISQ_BLOCKS'];
|
||||
BISQ_MARKETS: IConfig['BISQ_MARKETS'];
|
||||
SPONSORS: IConfig['SPONSORS'];
|
||||
|
||||
constructor() {
|
||||
this.MEMPOOL = configFile.MEMPOOL;
|
||||
this.ELECTRS = configFile.ELECTRS;
|
||||
this.DATABASE = configFile.DATABASE;
|
||||
this.STATISTICS = configFile.STATISTICS;
|
||||
this.BISQ_BLOCKS = configFile.BISQ_BLOCKS;
|
||||
this.BISQ_MARKETS = configFile.BISQ_MARKETS;
|
||||
this.SPONSORS = configFile.SPONSORS;
|
||||
}
|
||||
}
|
||||
|
||||
export default new Config();
|
||||
Reference in New Issue
Block a user