From b11164005cb5d4dfd7250bae36858e1e57b16766 Mon Sep 17 00:00:00 2001 From: natsoni Date: Sun, 10 Mar 2024 16:34:43 +0100 Subject: [PATCH] Add FIAT_PRICE category to backend config --- backend/mempool-config.sample.json | 7 +++++-- .../src/__fixtures__/mempool-config.template.json | 7 +++++-- backend/src/__tests__/config.test.ts | 6 +++++- backend/src/config.ts | 12 ++++++++++-- docker/backend/mempool-config.json | 7 +++++-- docker/backend/start.sh | 10 ++++++++-- 6 files changed, 38 insertions(+), 11 deletions(-) diff --git a/backend/mempool-config.sample.json b/backend/mempool-config.sample.json index 473988651..cac5d2e61 100644 --- a/backend/mempool-config.sample.json +++ b/backend/mempool-config.sample.json @@ -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" } } diff --git a/backend/src/__fixtures__/mempool-config.template.json b/backend/src/__fixtures__/mempool-config.template.json index 1bc4de045..5cbff22a3 100644 --- a/backend/src/__fixtures__/mempool-config.template.json +++ b/backend/src/__fixtures__/mempool-config.template.json @@ -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__" } } diff --git a/backend/src/__tests__/config.test.ts b/backend/src/__tests__/config.test.ts index f382dcefa..e261e2adc 100644 --- a/backend/src/__tests__/config.test.ts +++ b/backend/src/__tests__/config.test.ts @@ -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: '', + }); }); }); diff --git a/backend/src/config.ts b/backend/src/config.ts index fea1150f8..ee3645e58 100644 --- a/backend/src/config.ts +++ b/backend/src/config.ts @@ -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 => { diff --git a/docker/backend/mempool-config.json b/docker/backend/mempool-config.json index 185bea19e..f8935706c 100644 --- a/docker/backend/mempool-config.json +++ b/docker/backend/mempool-config.json @@ -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__" } } diff --git a/docker/backend/start.sh b/docker/backend/start.sh index a71b4b813..50ecc17ab 100755 --- a/docker/backend/start.sh +++ b/docker/backend/start.sh @@ -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