aboutsummaryrefslogtreecommitdiffstats
path: root/packages/migrations/src
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-07-03 20:32:38 +0800
committerGitHub <noreply@github.com>2018-07-03 20:32:38 +0800
commit0e690608d39c010740d9fdb9d8e6c12d7e6c4e80 (patch)
treee03b85876abc0de57755575287b89a79e7824296 /packages/migrations/src
parent518a2da0275632a5dd61f99a105163ff5a074927 (diff)
parent09e921a562bea4fa80ec19ce7a9061bbcffbd580 (diff)
downloaddexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar.gz
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar.bz2
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar.lz
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar.xz
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar.zst
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.zip
Merge pull request #782 from 0xProject/feature/contract-wrappers-v2
@0xproject/contract-wrappers V2 refactor. Part 1
Diffstat (limited to 'packages/migrations/src')
-rw-r--r--packages/migrations/src/v1/migration.ts2
-rw-r--r--packages/migrations/src/v2/migration.ts42
2 files changed, 33 insertions, 11 deletions
diff --git a/packages/migrations/src/v1/migration.ts b/packages/migrations/src/v1/migration.ts
index 3398537e5..6e9f1dae3 100644
--- a/packages/migrations/src/v1/migration.ts
+++ b/packages/migrations/src/v1/migration.ts
@@ -6,7 +6,7 @@ import { ArtifactWriter } from '../artifact_writer';
import { erc20TokenInfo } from '../utils/token_info';
import { artifacts } from './artifacts';
-import { DummyERC20TokenContract } from './contract_wrappers/dummy_e_r_c20_token';
+import { DummyERC20TokenContract } from './contract_wrappers/dummy_erc20_token';
import { Exchange_v1Contract } from './contract_wrappers/exchange_v1';
import { MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddressContract } from './contract_wrappers/multi_sig_wallet_with_time_lock_except_remove_authorized_address';
import { TokenRegistryContract } from './contract_wrappers/token_registry';
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,