aboutsummaryrefslogtreecommitdiffstats
path: root/packages/metacoin/test/utils/profiler.ts
blob: 6e6fc309f408c34d1a0ba0ebf5e948fe5e256a5e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { devConstants } from '@0x/dev-utils';
import { ProfilerSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-profiler';
import * as _ from 'lodash';

import { config } from './config';

let profilerSubprovider: ProfilerSubprovider;

export const profiler = {
    start(): void {
        profiler.getProfilerSubproviderSingleton().start();
    },
    stop(): void {
        profiler.getProfilerSubproviderSingleton().stop();
    },
    getProfilerSubproviderSingleton(): ProfilerSubprovider {
        if (_.isUndefined(profilerSubprovider)) {
            profilerSubprovider = profiler._getProfilerSubprovider();
        }
        return profilerSubprovider;
    },
    _getProfilerSubprovider(): ProfilerSubprovider {
        const defaultFromAddress = devConstants.TESTRPC_FIRST_ADDRESS;
        const zeroExArtifactsAdapter = new SolCompilerArtifactAdapter(config.artifactsDir, config.contractsDir);
        return new ProfilerSubprovider(zeroExArtifactsAdapter, defaultFromAddress);
    },
};