refactor: don't use env for ofac sources
This commit is contained in:
parent
575a411ea3
commit
74a026dc1b
7 changed files with 18 additions and 52 deletions
|
|
@ -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=
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
}
|
||||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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 }
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue