Add FIAT_PRICE category to backend config
This commit is contained in:
		
							parent
							
								
									ccf1121f19
								
							
						
					
					
						commit
						b11164005c
					
				@ -36,8 +36,7 @@
 | 
			
		||||
    "MAX_PUSH_TX_SIZE_WEIGHT": 4000000,
 | 
			
		||||
    "ALLOW_UNREACHABLE": true,
 | 
			
		||||
    "PRICE_UPDATES_PER_HOUR": 1,
 | 
			
		||||
    "MAX_TRACKED_ADDRESSES": 100,
 | 
			
		||||
    "CURRENCY_API_KEY": "your-api-key-from-freecurrencyapi.com"
 | 
			
		||||
    "MAX_TRACKED_ADDRESSES": 100
 | 
			
		||||
  },
 | 
			
		||||
  "CORE_RPC": {
 | 
			
		||||
    "HOST": "127.0.0.1",
 | 
			
		||||
@ -156,5 +155,9 @@
 | 
			
		||||
  "MEMPOOL_SERVICES": {
 | 
			
		||||
    "API": "https://mempool.space/api",
 | 
			
		||||
    "ACCELERATIONS": false
 | 
			
		||||
  },
 | 
			
		||||
  "FIAT_PRICE": {
 | 
			
		||||
    "ENABLED": true,
 | 
			
		||||
    "API_KEY": "your-api-key-from-freecurrencyapi.com"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -37,8 +37,7 @@
 | 
			
		||||
    "MAX_PUSH_TX_SIZE_WEIGHT": 4000000,
 | 
			
		||||
    "ALLOW_UNREACHABLE": true,
 | 
			
		||||
    "PRICE_UPDATES_PER_HOUR": 1,
 | 
			
		||||
    "MAX_TRACKED_ADDRESSES": 1,
 | 
			
		||||
    "CURRENCY_API_KEY": "__MEMPOOL_CURRENCY_API_KEY__"
 | 
			
		||||
    "MAX_TRACKED_ADDRESSES": 1
 | 
			
		||||
  },
 | 
			
		||||
  "CORE_RPC": {
 | 
			
		||||
    "HOST": "__CORE_RPC_HOST__",
 | 
			
		||||
@ -148,5 +147,9 @@
 | 
			
		||||
    "ENABLED": false,
 | 
			
		||||
    "UNIX_SOCKET_PATH": "/tmp/redis.sock",
 | 
			
		||||
    "BATCH_QUERY_BASE_SIZE": 5000
 | 
			
		||||
  },
 | 
			
		||||
  "FIAT_PRICE": {
 | 
			
		||||
    "ENABLED": true,
 | 
			
		||||
    "API_KEY": "__MEMPOOL_CURRENCY_API_KEY__"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -51,7 +51,6 @@ describe('Mempool Backend Config', () => {
 | 
			
		||||
        ALLOW_UNREACHABLE: true,
 | 
			
		||||
        PRICE_UPDATES_PER_HOUR: 1,
 | 
			
		||||
        MAX_TRACKED_ADDRESSES: 1,
 | 
			
		||||
        CURRENCY_API_KEY: ''
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      expect(config.ELECTRUM).toStrictEqual({ HOST: '127.0.0.1', PORT: 3306, TLS_ENABLED: true });
 | 
			
		||||
@ -153,6 +152,11 @@ describe('Mempool Backend Config', () => {
 | 
			
		||||
        UNIX_SOCKET_PATH: '',
 | 
			
		||||
        BATCH_QUERY_BASE_SIZE: 5000,
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      expect(config.FIAT_PRICE).toStrictEqual({
 | 
			
		||||
        ENABLED: true,
 | 
			
		||||
        API_KEY: '',
 | 
			
		||||
      });
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -42,7 +42,6 @@ interface IConfig {
 | 
			
		||||
    ALLOW_UNREACHABLE: boolean;
 | 
			
		||||
    PRICE_UPDATES_PER_HOUR: number;
 | 
			
		||||
    MAX_TRACKED_ADDRESSES: number;
 | 
			
		||||
    CURRENCY_API_KEY: string;
 | 
			
		||||
  };
 | 
			
		||||
  ESPLORA: {
 | 
			
		||||
    REST_API_URL: string;
 | 
			
		||||
@ -159,6 +158,10 @@ interface IConfig {
 | 
			
		||||
    UNIX_SOCKET_PATH: string;
 | 
			
		||||
    BATCH_QUERY_BASE_SIZE: number;
 | 
			
		||||
  },
 | 
			
		||||
  FIAT_PRICE: {
 | 
			
		||||
    ENABLED: boolean;
 | 
			
		||||
    API_KEY: string;
 | 
			
		||||
  },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const defaults: IConfig = {
 | 
			
		||||
@ -201,7 +204,6 @@ const defaults: IConfig = {
 | 
			
		||||
    'ALLOW_UNREACHABLE': true,
 | 
			
		||||
    'PRICE_UPDATES_PER_HOUR': 1,
 | 
			
		||||
    'MAX_TRACKED_ADDRESSES': 1,
 | 
			
		||||
    'CURRENCY_API_KEY': '',
 | 
			
		||||
  },
 | 
			
		||||
  'ESPLORA': {
 | 
			
		||||
    'REST_API_URL': 'http://127.0.0.1:3000',
 | 
			
		||||
@ -318,6 +320,10 @@ const defaults: IConfig = {
 | 
			
		||||
    'UNIX_SOCKET_PATH': '',
 | 
			
		||||
    'BATCH_QUERY_BASE_SIZE': 5000,
 | 
			
		||||
  },
 | 
			
		||||
  'FIAT_PRICE': {
 | 
			
		||||
    'ENABLED': true,
 | 
			
		||||
    'API_KEY': '',
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class Config implements IConfig {
 | 
			
		||||
@ -339,6 +345,7 @@ class Config implements IConfig {
 | 
			
		||||
  REPLICATION: IConfig['REPLICATION'];
 | 
			
		||||
  MEMPOOL_SERVICES: IConfig['MEMPOOL_SERVICES'];
 | 
			
		||||
  REDIS: IConfig['REDIS'];
 | 
			
		||||
  FIAT_PRICE: IConfig['FIAT_PRICE'];
 | 
			
		||||
 | 
			
		||||
  constructor() {
 | 
			
		||||
    const configs = this.merge(configFromFile, defaults);
 | 
			
		||||
@ -360,6 +367,7 @@ class Config implements IConfig {
 | 
			
		||||
    this.REPLICATION = configs.REPLICATION;
 | 
			
		||||
    this.MEMPOOL_SERVICES = configs.MEMPOOL_SERVICES;
 | 
			
		||||
    this.REDIS = configs.REDIS;
 | 
			
		||||
    this.FIAT_PRICE = configs.FIAT_PRICE;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  merge = (...objects: object[]): IConfig => {
 | 
			
		||||
 | 
			
		||||
@ -37,8 +37,7 @@
 | 
			
		||||
    "POOLS_JSON_TREE_URL": "__MEMPOOL_POOLS_JSON_TREE_URL__",
 | 
			
		||||
    "POOLS_JSON_URL": "__MEMPOOL_POOLS_JSON_URL__",
 | 
			
		||||
    "PRICE_UPDATES_PER_HOUR": __MEMPOOL_PRICE_UPDATES_PER_HOUR__,
 | 
			
		||||
    "MAX_TRACKED_ADDRESSES": __MEMPOOL_MAX_TRACKED_ADDRESSES__,
 | 
			
		||||
    "CURRENCY_API_KEY": "__MEMPOOL_CURRENCY_API_KEY__"
 | 
			
		||||
    "MAX_TRACKED_ADDRESSES": __MEMPOOL_MAX_TRACKED_ADDRESSES__
 | 
			
		||||
  },
 | 
			
		||||
  "CORE_RPC": {
 | 
			
		||||
    "HOST": "__CORE_RPC_HOST__",
 | 
			
		||||
@ -154,5 +153,9 @@
 | 
			
		||||
    "ENABLED": __REDIS_ENABLED__,
 | 
			
		||||
    "UNIX_SOCKET_PATH": "__REDIS_UNIX_SOCKET_PATH__",
 | 
			
		||||
    "BATCH_QUERY_BASE_SIZE": __REDIS_BATCH_QUERY_BASE_SIZE__
 | 
			
		||||
  },
 | 
			
		||||
  "FIAT_PRICE": {
 | 
			
		||||
    "ENABLED": __FIAT_PRICE_ENABLED__,
 | 
			
		||||
    "API_KEY": "__FIAT_PRICE_API_KEY__"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -39,7 +39,6 @@ __MEMPOOL_MAX_PUSH_TX_SIZE_WEIGHT__=${MEMPOOL_MAX_PUSH_TX_SIZE_WEIGHT:=4000000}
 | 
			
		||||
__MEMPOOL_ALLOW_UNREACHABLE__=${MEMPOOL_ALLOW_UNREACHABLE:=true}
 | 
			
		||||
__MEMPOOL_PRICE_UPDATES_PER_HOUR__=${MEMPOOL_PRICE_UPDATES_PER_HOUR:=1}
 | 
			
		||||
__MEMPOOL_MAX_TRACKED_ADDRESSES__=${MEMPOOL_MAX_TRACKED_ADDRESSES:=1}
 | 
			
		||||
__MEMPOOL_CURRENCY_API_KEY__=${MEMPOOL_CURRENCY_API_KEY:=""}
 | 
			
		||||
 | 
			
		||||
# CORE_RPC
 | 
			
		||||
__CORE_RPC_HOST__=${CORE_RPC_HOST:=127.0.0.1}
 | 
			
		||||
@ -156,6 +155,10 @@ __REDIS_ENABLED__=${REDIS_ENABLED:=false}
 | 
			
		||||
__REDIS_UNIX_SOCKET_PATH__=${REDIS_UNIX_SOCKET_PATH:=true}
 | 
			
		||||
__REDIS_BATCH_QUERY_BASE_SIZE__=${REDIS_BATCH_QUERY_BASE_SIZE:=5000}
 | 
			
		||||
 | 
			
		||||
# FIAT_PRICE
 | 
			
		||||
__FIAT_PRICE_ENABLED__=${FIAT_PRICE_ENABLED:=true}
 | 
			
		||||
__FIAT_PRICE_API_KEY__=${FIAT_PRICE_API_KEY:=""}
 | 
			
		||||
 | 
			
		||||
mkdir -p "${__MEMPOOL_CACHE_DIR__}"
 | 
			
		||||
 | 
			
		||||
sed -i "s!__MEMPOOL_NETWORK__!${__MEMPOOL_NETWORK__}!g" mempool-config.json
 | 
			
		||||
@ -196,7 +199,6 @@ sed -i "s!__MEMPOOL_MAX_PUSH_TX_SIZE_WEIGHT__!${__MEMPOOL_MAX_PUSH_TX_SIZE_WEIGH
 | 
			
		||||
sed -i "s!__MEMPOOL_ALLOW_UNREACHABLE__!${__MEMPOOL_ALLOW_UNREACHABLE__}!g" mempool-config.json
 | 
			
		||||
sed -i "s!__MEMPOOL_PRICE_UPDATES_PER_HOUR__!${__MEMPOOL_PRICE_UPDATES_PER_HOUR__}!g" mempool-config.json
 | 
			
		||||
sed -i "s!__MEMPOOL_MAX_TRACKED_ADDRESSES__!${__MEMPOOL_MAX_TRACKED_ADDRESSES__}!g" mempool-config.json
 | 
			
		||||
sed -i "s!__MEMPOOL_CURRENCY_API_KEY__!${__MEMPOOL_CURRENCY_API_KEY__}!g" mempool-config.json
 | 
			
		||||
 | 
			
		||||
sed -i "s!__CORE_RPC_HOST__!${__CORE_RPC_HOST__}!g" mempool-config.json
 | 
			
		||||
sed -i "s!__CORE_RPC_PORT__!${__CORE_RPC_PORT__}!g" mempool-config.json
 | 
			
		||||
@ -303,4 +305,8 @@ sed -i "s!__REDIS_ENABLED__!${__REDIS_ENABLED__}!g" mempool-config.json
 | 
			
		||||
sed -i "s!__REDIS_UNIX_SOCKET_PATH__!${__REDIS_UNIX_SOCKET_PATH__}!g" mempool-config.json
 | 
			
		||||
sed -i "s!__REDIS_BATCH_QUERY_BASE_SIZE__!${__REDIS_BATCH_QUERY_BASE_SIZE__}!g" mempool-config.json
 | 
			
		||||
 | 
			
		||||
# FIAT_PRICE
 | 
			
		||||
sed -i "s!__FIAT_PRICE_ENABLED__!${__FIAT_PRICE_ENABLED__}!g" mempool-config.json
 | 
			
		||||
sed -i "s!__FIAT_PRICE_API_KEY__!${__FIAT_PRICE_API_KEY__}!g" mempool-config.json
 | 
			
		||||
 | 
			
		||||
node /backend/package/index.js
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user