UNPKG

@windingtree/wt-read-api

Version:

API to interact with the Winding Tree platform

73 lines (66 loc) 1.97 kB
const InMemoryAdapter = require('@windingtree/off-chain-adapter-in-memory'); const SwarmAdapter = require('@windingtree/off-chain-adapter-swarm'); const HttpAdapter = require('@windingtree/off-chain-adapter-http'); const { getTrustCluesConfig } = require('../services/trust-clues'); const convertEnvVarToBoolean = (val, defaults) => { if (val === undefined) { return defaults; } switch (val.toLowerCase().trim()) { case '1': case 'true': case 'yes': return true; case '0': case 'false': case 'no': return false; default: return defaults; } }; const offChainAdapters = {}; if (convertEnvVarToBoolean(process.env.ADAPTER_IN_MEMORY, false)) { offChainAdapters['in-memory'] = { create: (options) => { return new InMemoryAdapter(options); }, }; } if (convertEnvVarToBoolean(process.env.ADAPTER_SWARM, true)) { offChainAdapters['bzz-raw'] = { options: { swarmProviderUrl: process.env.ADAPTER_SWARM_GATEWAY, timeoutRead: process.env.ADAPTER_SWARM_READ_TIMEOUT || 1000, }, create: (options) => { return new SwarmAdapter(options); }, }; } if (convertEnvVarToBoolean(process.env.ADAPTER_HTTPS, true)) { offChainAdapters.https = { create: () => { return new HttpAdapter(); }, }; } module.exports = { entrypointAddress: process.env.WT_ENTRYPOINT_ADDRESS, port: process.env.PORT || 3000, baseUrl: process.env.BASE_URL, ethNetwork: process.env.ETH_NETWORK_NAME, checkTrustClues: convertEnvVarToBoolean(process.env.TRUST_CLUES_CHECK, true), checkOrgJsonHash: convertEnvVarToBoolean(process.env.ORG_JSON_HASH_CHECK, true), wtLibsOptions: { onChainDataOptions: { provider: process.env.ETH_NETWORK_PROVIDER, }, offChainDataOptions: { adapters: offChainAdapters, }, trustClueOptions: getTrustCluesConfig(process.env.ETH_NETWORK_PROVIDER, { curatedListAddress: process.env.TRUST_CLUES_CURATED_LIST_ADDRESS, }), }, };