* Curve ERC20Bridge * ERC20BridgeSampler Curve (#2483) * ERC20Sampler Curve * Use Bridge Sources for each Curve * Support multiple versions of the Curve contract * CHANGELOG and redeployed Curve (mainnet) * Fix Market ops utils test * Added Curve DAI USDC USDT TUSD * Bump sampler gas limit default * Decode the Curve in tests * Disable Curve in Buy tests * blockchainTests.fork.resets Curve and Sampler
61 lines
2.4 KiB
TypeScript
61 lines
2.4 KiB
TypeScript
import { devConstants, env, EnvVars, Web3Config, web3Factory } from '@0x/dev-utils';
|
|
import { prependSubprovider, Web3ProviderEngine } from '@0x/subproviders';
|
|
import { logUtils } from '@0x/utils';
|
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
|
import * as _ from 'lodash';
|
|
|
|
import { constants } from './constants';
|
|
import { coverage } from './coverage';
|
|
import { profiler } from './profiler';
|
|
import { revertTrace } from './revert_trace';
|
|
|
|
export const txDefaults = {
|
|
from: devConstants.TESTRPC_FIRST_ADDRESS,
|
|
gas: devConstants.GAS_LIMIT,
|
|
gasPrice: constants.DEFAULT_GAS_PRICE,
|
|
};
|
|
|
|
export let providerConfigs: Web3Config = {
|
|
total_accounts: constants.NUM_TEST_ACCOUNTS,
|
|
shouldUseInProcessGanache: true,
|
|
shouldAllowUnlimitedContractSize: true,
|
|
hardfork: 'istanbul',
|
|
unlocked_accounts: [
|
|
'0x6cc5f688a315f3dc28a7781717a9a798a59fda7b',
|
|
'0x55dc8f21d20d4c6ed3c82916a438a413ca68e335',
|
|
'0x8ed95d1746bf1e4dab58d8ed4724f1ef95b20db0', // ERC20BridgeProxy
|
|
'0xf977814e90da44bfa03b6295a0616a897441acec', // Binance: USDC, TUSD
|
|
],
|
|
};
|
|
|
|
export const provider: Web3ProviderEngine = web3Factory.getRpcProvider(providerConfigs);
|
|
provider.stop();
|
|
const isCoverageEnabled = env.parseBoolean(EnvVars.SolidityCoverage);
|
|
const isProfilerEnabled = env.parseBoolean(EnvVars.SolidityProfiler);
|
|
const isRevertTraceEnabled = env.parseBoolean(EnvVars.SolidityRevertTrace);
|
|
const enabledSubproviderCount = _.filter(
|
|
[isCoverageEnabled, isProfilerEnabled, isRevertTraceEnabled],
|
|
_.identity.bind(_),
|
|
).length;
|
|
if (enabledSubproviderCount > 1) {
|
|
throw new Error(`Only one of coverage, profiler, or revert trace subproviders can be enabled at a time`);
|
|
}
|
|
if (isCoverageEnabled) {
|
|
const coverageSubprovider = coverage.getCoverageSubproviderSingleton();
|
|
prependSubprovider(provider, coverageSubprovider);
|
|
}
|
|
if (isProfilerEnabled) {
|
|
const profilerSubprovider = profiler.getProfilerSubproviderSingleton();
|
|
logUtils.log(
|
|
"By default profilerSubprovider is stopped so that you don't get noise from setup code. Don't forget to start it before the code you want to profile and stop it afterwards",
|
|
);
|
|
profilerSubprovider.stop();
|
|
prependSubprovider(provider, profilerSubprovider);
|
|
}
|
|
if (isRevertTraceEnabled) {
|
|
const revertTraceSubprovider = revertTrace.getRevertTraceSubproviderSingleton();
|
|
prependSubprovider(provider, revertTraceSubprovider);
|
|
}
|
|
|
|
export const web3Wrapper = new Web3Wrapper(provider);
|