diff --git a/README.md b/README.md index 60957b72..cd0759f0 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,23 @@ npm install @oceanprotocol/lib ## 🏄 Quick Start +```js +import { Ocean, ConfigHelper } from '@oceanprotocol/lib' + +const defaultConfig = new ConfigHelper().getConfig('rinkeby', 'YOUR_INFURA_PROJECT_ID') + +const config = { + ...defaultConfig, + metadataStoreUri: 'https://your-metadata-store.com', + providerUri: 'https://your-provider.com' +} + +async function init() { + const ocean = await Ocean.getInstance(config) + return ocean +} +``` + ### Simple Flow This stripped-down flow shows the essence of Ocean. Just downloading, no metadata. diff --git a/src/utils/ConfigHelper.ts b/src/utils/ConfigHelper.ts index 3dfde7cb..b359e1e5 100644 --- a/src/utils/ConfigHelper.ts +++ b/src/utils/ConfigHelper.ts @@ -1,4 +1,5 @@ import Config from '../models/Config' +import { Logger } from '../lib' export declare type ConfigHelperNetworkName = | 'mainnet' @@ -56,10 +57,15 @@ export class ConfigHelper { const filterBy = typeof network === 'string' ? 'network' : 'chainId' const config = configs.find((c) => c[filterBy] === network) + if (!config) { + Logger.error(`No config found for given network '${network}'`) + return null + } + const nodeUri = infuraProjectId ? `${config.nodeUri}/${infuraProjectId}` : config.nodeUri - return config ? { ...config, nodeUri } : null + return { ...config, nodeUri } } } diff --git a/test/unit/utils/ConfigHelper.test.ts b/test/unit/utils/ConfigHelper.test.ts index 8d504587..46468086 100644 --- a/test/unit/utils/ConfigHelper.test.ts +++ b/test/unit/utils/ConfigHelper.test.ts @@ -14,4 +14,16 @@ describe('ConfigHelper', () => { const config = new ConfigHelper().getConfig(network, infuraId) assert(config.nodeUri.includes(infuraId)) }) + + it('should get config based on chain ID', () => { + const network = 4 + const config = new ConfigHelper().getConfig(network) + assert(config.chainId === network) + }) + + it('should return nothing with unknown network', () => { + const network = 'blabla' + const config = new ConfigHelper().getConfig(network) + assert(config === null) + }) })