diff options
Diffstat (limited to 'packages/migrations/src/v2/migration.ts')
-rw-r--r-- | packages/migrations/src/v2/migration.ts | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/packages/migrations/src/v2/migration.ts b/packages/migrations/src/v2/migration.ts index f77063a1b..168e47a19 100644 --- a/packages/migrations/src/v2/migration.ts +++ b/packages/migrations/src/v2/migration.ts @@ -1,3 +1,4 @@ +import { assetProxyUtils, constants } from '@0xproject/order-utils'; import { BigNumber } from '@0xproject/utils'; import { Web3Wrapper } from '@0xproject/web3-wrapper'; import { Provider, TxData } from 'ethereum-types'; @@ -7,10 +8,10 @@ import { erc20TokenInfo, erc721TokenInfo } from '../utils/token_info'; import { artifacts } from './artifacts'; import { AssetProxyOwnerContract } from './contract_wrappers/asset_proxy_owner'; -import { DummyERC20TokenContract } from './contract_wrappers/dummy_e_r_c20_token'; -import { DummyERC721TokenContract } from './contract_wrappers/dummy_e_r_c721_token'; -import { ERC20ProxyContract } from './contract_wrappers/e_r_c20_proxy'; -import { ERC721ProxyContract } from './contract_wrappers/e_r_c721_proxy'; +import { DummyERC20TokenContract } from './contract_wrappers/dummy_erc20_token'; +import { DummyERC721TokenContract } from './contract_wrappers/dummy_erc721_token'; +import { ERC20ProxyContract } from './contract_wrappers/erc20_proxy'; +import { ERC721ProxyContract } from './contract_wrappers/erc721_proxy'; import { ExchangeContract } from './contract_wrappers/exchange'; import { WETH9Contract } from './contract_wrappers/weth9'; import { ZRXTokenContract } from './contract_wrappers/zrx_token'; @@ -51,7 +52,7 @@ export const runV2MigrationsAsync = async (provider: Provider, artifactsDir: str artifacts.Exchange, provider, txDefaults, - zrxToken.address, + assetProxyUtils.encodeERC20AssetData(zrxToken.address), ); artifactsWriter.saveArtifact(exchange); @@ -74,21 +75,42 @@ export const runV2MigrationsAsync = async (provider: Provider, artifactsDir: str ); artifactsWriter.saveArtifact(assetProxyOwner); await web3Wrapper.awaitTransactionSuccessAsync( - await erc20proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner }), + await erc20proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { + from: owner, + }), ); await web3Wrapper.awaitTransactionSuccessAsync( - await erc20proxy.transferOwnership.sendTransactionAsync(assetProxyOwner.address, { from: owner }), + await erc20proxy.transferOwnership.sendTransactionAsync(assetProxyOwner.address, { + from: owner, + }), ); await web3Wrapper.awaitTransactionSuccessAsync( - await erc721proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner }), + await erc721proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { + from: owner, + }), ); await web3Wrapper.awaitTransactionSuccessAsync( - await erc721proxy.transferOwnership.sendTransactionAsync(assetProxyOwner.address, { from: owner }), + await erc721proxy.transferOwnership.sendTransactionAsync(assetProxyOwner.address, { + from: owner, + }), + ); + + // Register the Asset Proxies to the Exchange + // HACK: These are exposed in the types package but migrations currently uses an older version + // but we can pull the asset data id from the proxies + const erc20ProxyId = await erc20proxy.getProxyId.callAsync(); + const erc721ProxyId = await erc721proxy.getProxyId.callAsync(); + const oldAddress = constants.NULL_ADDRESS; + await web3Wrapper.awaitTransactionSuccessAsync( + await exchange.registerAssetProxy.sendTransactionAsync(erc20ProxyId, erc20proxy.address, oldAddress), + ); + await web3Wrapper.awaitTransactionSuccessAsync( + await exchange.registerAssetProxy.sendTransactionAsync(erc721ProxyId, erc721proxy.address, oldAddress), ); // Dummy ERC20 tokens for (const token of erc20TokenInfo) { - const totalSupply = new BigNumber(100000000000000000000); + const totalSupply = new BigNumber(1000000000000000000000000000); // tslint:disable-next-line:no-unused-variable const dummyErc20Token = await DummyERC20TokenContract.deployFrom0xArtifactAsync( artifacts.DummyERC20Token, |