aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/test/utils/coverage.ts
blob: e3c5be428bdb69d0be3c9809354a53e8a27dec7f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import { devConstants } from '@0xproject/dev-utils';
import { CoverageSubprovider, ZeroExArtifactAdapter } from '@0xproject/sol-cov';
import * as fs from 'fs';
import * as _ from 'lodash';

let coverageSubprovider: CoverageSubprovider;

export const coverage = {
    getCoverageSubproviderSingleton(): CoverageSubprovider {
        if (_.isUndefined(coverageSubprovider)) {
            coverageSubprovider = coverage._getCoverageSubprovider();
        }
        return coverageSubprovider;
    },
    _getCoverageSubprovider(): CoverageSubprovider {
        const defaultFromAddress = devConstants.TESTRPC_FIRST_ADDRESS;
        const config = JSON.parse(fs.readFileSync('compiler.json').toString());
        const zeroExArtifactsAdapter = new ZeroExArtifactAdapter(config.artifactsDir, config.contractsDir);
        return new CoverageSubprovider(zeroExArtifactsAdapter, defaultFromAddress);
    },
};