diff options
Diffstat (limited to 'packages/contract-wrappers/test/utils')
-rw-r--r-- | packages/contract-wrappers/test/utils/migrate.ts | 18 | ||||
-rw-r--r-- | packages/contract-wrappers/test/utils/token_utils.ts | 20 |
2 files changed, 22 insertions, 16 deletions
diff --git a/packages/contract-wrappers/test/utils/migrate.ts b/packages/contract-wrappers/test/utils/migrate.ts new file mode 100644 index 000000000..53319a383 --- /dev/null +++ b/packages/contract-wrappers/test/utils/migrate.ts @@ -0,0 +1,18 @@ +import { ContractAddresses } from '@0xproject/contract-addresses'; +import { devConstants } from '@0xproject/dev-utils'; +import { runMigrationsOnceAsync } from '@0xproject/migrations'; + +import { provider } from './web3_wrapper'; + +/** + * Configures and runs the migrations exactly once. Any subsequent times this is + * called, it returns the cached addresses. + * @returns The addresses of contracts that were deployed during the migrations. + */ +export async function migrateOnceAsync(): Promise<ContractAddresses> { + const txDefaults = { + gas: devConstants.GAS_LIMIT, + from: devConstants.TESTRPC_FIRST_ADDRESS, + }; + return runMigrationsOnceAsync(provider, txDefaults); +} diff --git a/packages/contract-wrappers/test/utils/token_utils.ts b/packages/contract-wrappers/test/utils/token_utils.ts index 06a82ff6e..c9e1e7434 100644 --- a/packages/contract-wrappers/test/utils/token_utils.ts +++ b/packages/contract-wrappers/test/utils/token_utils.ts @@ -1,14 +1,13 @@ +import { DummyERC721TokenContract } from '@0xproject/abi-gen-wrappers'; +import { DummyERC721Token } from '@0xproject/contract-artifacts'; import { generatePseudoRandomSalt } from '@0xproject/order-utils'; import { BigNumber } from '@0xproject/utils'; -import { artifacts } from '../../src/artifacts'; -import { DummyERC721TokenContract } from '../../src/contract_wrappers/generated/dummy_erc721_token'; - -import { constants } from './constants'; import { provider, txDefaults, web3Wrapper } from './web3_wrapper'; // Those addresses come from migrations. They're deterministic so it's relatively safe to hard-code them here. // Before we were fetching them from the TokenRegistry but now we can't as it's deprecated and removed. +// TODO(albrow): Import these from the migrations package instead of hard-coding them. const DUMMY_ERC_20_ADRESSES = [ '0x6dfff22588be9b3ef8cf0ad6dc9b84796f9fb45f', '0xcfc18cec799fbd1793b5c43e773c98d4d61cc2db', @@ -20,12 +19,6 @@ const DUMMY_ERC_20_ADRESSES = [ const DUMMY_ERC_721_ADRESSES = ['0x131855dda0aaff096f6854854c55a4debf61077a']; export const tokenUtils = { - getProtocolTokenAddress(): string { - return artifacts.ZRXToken.networks[constants.TESTRPC_NETWORK_ID].address; - }, - getWethTokenAddress(): string { - return artifacts.EtherToken.networks[constants.TESTRPC_NETWORK_ID].address; - }, getDummyERC20TokenAddresses(): string[] { return DUMMY_ERC_20_ADRESSES; }, @@ -33,12 +26,7 @@ export const tokenUtils = { return DUMMY_ERC_721_ADRESSES; }, async mintDummyERC721Async(address: string, tokenOwner: string): Promise<BigNumber> { - const erc721 = new DummyERC721TokenContract( - artifacts.DummyERC721Token.compilerOutput.abi, - address, - provider, - txDefaults, - ); + const erc721 = new DummyERC721TokenContract(DummyERC721Token.compilerOutput.abi, address, provider, txDefaults); const tokenId = generatePseudoRandomSalt(); const txHash = await erc721.mint.sendTransactionAsync(tokenOwner, tokenId); web3Wrapper.awaitTransactionSuccessAsync(txHash); |