diff --git a/.sample.env b/.sample.env index 09826711..db66efe7 100644 --- a/.sample.env +++ b/.sample.env @@ -31,15 +31,6 @@ OPERATOR_DATA_DIR= COIN_ATM_RADAR_URL= -## OFAC Sources variables - -# These variables map to each other, similar to a zip HOF. Entries are separated by commas -# Example: -# OFAC_SOURCES_NAMES=name1,name2 -# OFAC_SOURCES_URLS=url1,url2 -OFAC_SOURCES_NAMES= -OFAC_SOURCES_URLS= - ## Misc HOSTNAME= diff --git a/bin/lamassu-ofac-update-sources b/bin/lamassu-ofac-update-sources deleted file mode 100755 index a79e6c0c..00000000 --- a/bin/lamassu-ofac-update-sources +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env node - -'use strict' - -require('../lib/environment-helper') -const setEnvVariable = require('../tools/set-env-var') - -if (!process.env.OFAC_SOURCES_NAMES && !process.env.OFAC_SOURCES_URLS) { - setEnvVariable('OFAC_SOURCES_NAMES', 'sdn_advanced,cons_advanced') - setEnvVariable('OFAC_SOURCES_URLS', 'https://www.treasury.gov/ofac/downloads/sanctions/1.0/sdn_advanced.xml,https://www.treasury.gov/ofac/downloads/sanctions/1.0/cons_advanced.xml') -} diff --git a/docker-compose.yaml b/docker-compose.yaml index bb8cb1ce..29ff0a05 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -27,8 +27,6 @@ services: - FRONT_CAMERA_DIR=/lamassu-data/frontcamera - OPERATOR_DATA_DIR=/lamassu-data/operatordata - COIN_ATM_RADAR_URL=https://coinatmradar.info/api/lamassu/ - - OFAC_SOURCES_NAMES=sdn_advanced,cons_advanced - - OFAC_SOURCES_URLS=https://www.treasury.gov/ofac/downloads/sanctions/1.0/sdn_advanced.xml,https://www.treasury.gov/ofac/downloads/sanctions/1.0/cons_advanced.xml - HOSTNAME=localhost - LOG_LEVEL=info @@ -58,8 +56,6 @@ services: - FRONT_CAMERA_DIR=/lamassu-data/frontcamera - OPERATOR_DATA_DIR=/lamassu-data/operatordata - COIN_ATM_RADAR_URL=https://coinatmradar.info/api/lamassu/ - - OFAC_SOURCES_NAMES=sdn_advanced,cons_advanced - - OFAC_SOURCES_URLS=https://www.treasury.gov/ofac/downloads/sanctions/1.0/sdn_advanced.xml,https://www.treasury.gov/ofac/downloads/sanctions/1.0/cons_advanced.xml - HOSTNAME=172.29.0.3 - LOG_LEVEL=info depends_on: diff --git a/lib/ofac/update.js b/lib/ofac/update.js index d1408687..e7eb5b73 100644 --- a/lib/ofac/update.js +++ b/lib/ofac/update.js @@ -11,13 +11,14 @@ const logger = require('../logger') const DOWNLOAD_DIR = path.resolve('/tmp') const OFAC_DATA_DIR = process.env.OFAC_DATA_DIR -const OFAC_SOURCES_NAMES = process.env.OFAC_SOURCES_NAMES.split(',') -const OFAC_SOURCES_URLS = process.env.OFAC_SOURCES_URLS.split(',') -const ofacSources = _.map( - ([name, url]) => ({ name, url }), - _.zip(OFAC_SOURCES_NAMES, OFAC_SOURCES_URLS) -) +const OFAC_SOURCES = [{ + name: 'sdn_advanced', + url: 'https://sanctionslistservice.ofac.treas.gov/api/download/sdn_advanced.xml' +}, { + name: 'cons_advanced', + url: 'https://sanctionslistservice.ofac.treas.gov/api/download/cons_advanced.xml' +}] const mkdir = path => fs.mkdir(path) @@ -92,39 +93,35 @@ function update () { throw new Error('ofacDataDir must be defined in the environment') } - if (!ofacSources) { - logger.error('ofacSources must be defined in the environment') - } - const OFAC_SOURCES_DIR = path.join(OFAC_DATA_DIR, 'sources') const OFAC_ETAGS_FILE = path.join(OFAC_DATA_DIR, 'etags.json') return mkdir(OFAC_DATA_DIR) .then(() => mkdir(OFAC_SOURCES_DIR)) - .then(() => writeFile(OFAC_ETAGS_FILE, '{}', {encoding: 'utf-8', flag: 'wx'})) + .then(() => writeFile(OFAC_ETAGS_FILE, '{}', { encoding: 'utf-8', flag: 'wx' })) .catch(err => { if (err.code === 'EEXIST') return throw err }) .then(() => { - const promiseOldEtags = readFile(OFAC_ETAGS_FILE, {encoding: 'utf-8'}) - .then(json => JSON.parse(json)) - .catch(_ => { - logger.error('Can\'t parse etags.json, getting new data...') - return {} - }) + const promiseOldEtags = readFile(OFAC_ETAGS_FILE, { encoding: 'utf-8' }) + .then(json => JSON.parse(json)) + .catch(_ => { + logger.error('Can\'t parse etags.json, getting new data...') + return {} + }) - const promiseNewEtags = Promise.resolve(ofacSources || []) + const promiseNewEtags = Promise.resolve(OFAC_SOURCES || []) .then(sources => Promise.all(_.map(promiseGetEtag, sources)) .then(etags => _.map( - ([source, etag]) => _.set('etag', etag, source), + ([source, etag]) => _.set('etag', etag, source), _.zip(sources, etags) )) ) return Promise.all([promiseOldEtags, promiseNewEtags]) .then(([oldEtags, newEtags]) => { - const hasNotChanged = ({name, etag}) => oldEtags[name] === etag + const hasNotChanged = ({ name, etag }) => oldEtags[name] === etag const downloads = _.flow( _.reject(hasNotChanged), @@ -155,4 +152,4 @@ function update () { }) } -module.exports = {update} +module.exports = { update } diff --git a/package.json b/package.json index 8f2bfaa7..1fa71916 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,6 @@ "lamassu-update-to-mnemonic": "./bin/lamassu-update-to-mnemonic", "lamassu-update-wallet-nodes": "./bin/lamassu-update-wallet-nodes", "lamassu-configure-frontcamera": "./bin/lamassu-configure-frontcamera", - "lamassu-ofac-update-sources": "./bin/lamassu-ofac-update-sources", "lamassu-devices": "./bin/lamassu-devices", "lamassu-operator": "./bin/lamassu-operator", "lamassu-coinatmradar": "./bin/lamassu-coinatmradar", diff --git a/tools/build-dev-env.js b/tools/build-dev-env.js index eb72ec90..14c160cb 100644 --- a/tools/build-dev-env.js +++ b/tools/build-dev-env.js @@ -26,9 +26,6 @@ setEnvVariable('ID_PHOTO_CARD_DIR', `${process.env.HOME}/.lamassu/idphotocard`) setEnvVariable('FRONT_CAMERA_DIR', `${process.env.HOME}/.lamassu/frontcamera`) setEnvVariable('OPERATOR_DATA_DIR', `${process.env.HOME}/.lamassu/operatordata`) -setEnvVariable('OFAC_SOURCES_NAMES', 'sdn_advanced,cons_advanced') -setEnvVariable('OFAC_SOURCES_URLS', 'https://www.treasury.gov/ofac/downloads/sanctions/1.0/sdn_advanced.xml,https://www.treasury.gov/ofac/downloads/sanctions/1.0/cons_advanced.xml') - setEnvVariable('BTC_NODE_LOCATION', 'remote') setEnvVariable('BTC_WALLET_LOCATION', 'local') diff --git a/tools/build-prod-env.js b/tools/build-prod-env.js index 41e59aae..59a10ffd 100644 --- a/tools/build-prod-env.js +++ b/tools/build-prod-env.js @@ -36,9 +36,6 @@ setEnvVariable('OPERATOR_DATA_DIR', `/opt/lamassu-server/operatordata`) setEnvVariable('COIN_ATM_RADAR_URL', `https://coinatmradar.info/api/lamassu/`) -setEnvVariable('OFAC_SOURCES_NAMES', 'sdn_advanced,cons_advanced') -setEnvVariable('OFAC_SOURCES_URLS', 'https://www.treasury.gov/ofac/downloads/sanctions/1.0/sdn_advanced.xml,https://www.treasury.gov/ofac/downloads/sanctions/1.0/cons_advanced.xml') - setEnvVariable('BTC_NODE_LOCATION', 'local') setEnvVariable('BTC_WALLET_LOCATION', 'local') setEnvVariable('BCH_NODE_LOCATION', 'local')