aboutsummaryrefslogtreecommitdiffstats
path: root/contracts/test-utils/src/revert_trace.ts
blob: 3f74fd28b8e650ab649a778dccdc01ad151c7a3d (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 '@0x/dev-utils';
import { RevertTraceSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-cov';
import * as _ from 'lodash';

let revertTraceSubprovider: RevertTraceSubprovider;

export const revertTrace = {
    getRevertTraceSubproviderSingleton(): RevertTraceSubprovider {
        if (_.isUndefined(revertTraceSubprovider)) {
            revertTraceSubprovider = revertTrace._getRevertTraceSubprovider();
        }
        return revertTraceSubprovider;
    },
    _getRevertTraceSubprovider(): RevertTraceSubprovider {
        const defaultFromAddress = devConstants.TESTRPC_FIRST_ADDRESS;
        const solCompilerArtifactAdapter = new SolCompilerArtifactAdapter();
        const isVerbose = true;
        const subprovider = new RevertTraceSubprovider(solCompilerArtifactAdapter, defaultFromAddress, isVerbose);
        return subprovider;
    },
};