UNPKG

dvf-client-js

Version:

<img src="https://avatars1.githubusercontent.com/u/56512535?s=200&v=4" align="right" />

51 lines (42 loc) 1.21 kB
const fs = require('fs') const path = require('path') const getConfigVar_ = (config, configFileName) => (varName, defaultValue) => { const value = process.env[ varName ] || config[ varName ] || defaultValue if (value) { return value } else { throw new Error( `${varName} is required. Set it in ${configFileName} or via an env var.` ) } } module.exports = (configFileName = 'config.json') => { const configFilePath = path.normalize( path.join(__dirname, '..', configFileName) ) let config = {} try { config = JSON.parse( fs.readFileSync(configFilePath).toString() ) } catch (error) { if (error.code == 'ENOENT') { console.log(`warning: ${configFilePath} not found`) } else { throw error } } const getConfigVar = getConfigVar_(config, configFilePath) const apiUrl = getConfigVar('API_URL', 'https://api.stg.deversifi.com') const ETH_PRIVATE_KEY = getConfigVar('ETH_PRIVATE_KEY') return { RPC_URL: getConfigVar('RPC_URL'), ETH_PRIVATE_KEY, STARK_PRIVATE_KEY: getConfigVar('STARK_PRIVATE_KEY', ETH_PRIVATE_KEY), API_URL: apiUrl, DATA_API_URL: getConfigVar('DATA_API_URL', apiUrl) } }