aboutsummaryrefslogtreecommitdiffstats
path: root/packages/migrations/src
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-06-12 06:23:48 +0800
committerFabio Berger <me@fabioberger.com>2018-06-12 06:23:48 +0800
commit7e78f5941ad9cb2fd5225899f79823c7376894c0 (patch)
tree13fadf90f821e9fead1373a2e567e6d86fe27e0f /packages/migrations/src
parent20f93185975d16c77492f05eb86dd89695539cd9 (diff)
parentbc0ae6be318a15bf8670a6da9a59d9bdb12cadae (diff)
downloaddexon-sol-tools-7e78f5941ad9cb2fd5225899f79823c7376894c0.tar
dexon-sol-tools-7e78f5941ad9cb2fd5225899f79823c7376894c0.tar.gz
dexon-sol-tools-7e78f5941ad9cb2fd5225899f79823c7376894c0.tar.bz2
dexon-sol-tools-7e78f5941ad9cb2fd5225899f79823c7376894c0.tar.lz
dexon-sol-tools-7e78f5941ad9cb2fd5225899f79823c7376894c0.tar.xz
dexon-sol-tools-7e78f5941ad9cb2fd5225899f79823c7376894c0.tar.zst
dexon-sol-tools-7e78f5941ad9cb2fd5225899f79823c7376894c0.zip
Merge branch 'v2-prototype' into feature/combinatorial-testing
* v2-prototype: (68 commits) Stop exporting ArtifactWriter Fix no-unused-variable tslint rule to include parameters and fix issues Fix linter exclude rule Validate all signature types rather then only ECSignatures Store the instantiated OrderValidationUtils Remove global hooks from tests and deploy contracts from within the specific tests Add EmitStatement to ASTVisitor Fix tslint issues Add back artifacts file Fix a bug in SolCompilerArtifacts adapter config overriding Move OrderValidationUtils (+ tests) and ExchangeTransferSimulator to order-utils export parseECSignature method Export ArtifactWriter from migrations package Remove unused artifact file Pass in generated contract wrapper to orderValidationUtils at instantiation Refactor orderValidationUtils to use the generated contract wrapper instead of the higher-level one Refactor ExchangeTransferSimulator public interface to accet an AbstractBalanceAndProxyAllowanceLazyStore so that this module could be re-used in different contexts. Increase timeout for contract migrations Remove some copy-paste code Await transactions in migrations ...
Diffstat (limited to 'packages/migrations/src')
-rw-r--r--packages/migrations/src/v1/migration.ts81
-rw-r--r--packages/migrations/src/v2/artifacts.ts4
-rw-r--r--packages/migrations/src/v2/migration.ts39
3 files changed, 65 insertions, 59 deletions
diff --git a/packages/migrations/src/v1/migration.ts b/packages/migrations/src/v1/migration.ts
index 7c1cda506..3398537e5 100644
--- a/packages/migrations/src/v1/migration.ts
+++ b/packages/migrations/src/v1/migration.ts
@@ -68,8 +68,13 @@ export const runV1MigrationsAsync = async (provider: Provider, artifactsDir: str
artifactsWriter.saveArtifact(multiSig);
const owner = accounts[0];
- await tokenTransferProxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner });
- await tokenTransferProxy.transferOwnership.sendTransactionAsync(multiSig.address, { from: owner });
+
+ await web3Wrapper.awaitTransactionSuccessAsync(
+ await tokenTransferProxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner }),
+ );
+ await web3Wrapper.awaitTransactionSuccessAsync(
+ await tokenTransferProxy.transferOwnership.sendTransactionAsync(multiSig.address, { from: owner }),
+ );
const addTokenGasEstimate = await tokenReg.addToken.estimateGasAsync(
zrxToken.address,
erc20TokenInfo[0].name,
@@ -80,29 +85,33 @@ export const runV1MigrationsAsync = async (provider: Provider, artifactsDir: str
{ from: owner },
);
const decimals = 18;
- await tokenReg.addToken.sendTransactionAsync(
- zrxToken.address,
- '0x Protocol Token',
- 'ZRX',
- decimals,
- NULL_BYTES,
- NULL_BYTES,
- {
- from: owner,
- gas: addTokenGasEstimate,
- },
+ await web3Wrapper.awaitTransactionSuccessAsync(
+ await tokenReg.addToken.sendTransactionAsync(
+ zrxToken.address,
+ '0x Protocol Token',
+ 'ZRX',
+ decimals,
+ NULL_BYTES,
+ NULL_BYTES,
+ {
+ from: owner,
+ gas: addTokenGasEstimate,
+ },
+ ),
);
- await tokenReg.addToken.sendTransactionAsync(
- etherToken.address,
- 'Ether Token',
- 'WETH',
- decimals,
- NULL_BYTES,
- NULL_BYTES,
- {
- from: owner,
- gas: addTokenGasEstimate,
- },
+ await web3Wrapper.awaitTransactionSuccessAsync(
+ await tokenReg.addToken.sendTransactionAsync(
+ etherToken.address,
+ 'Ether Token',
+ 'WETH',
+ decimals,
+ NULL_BYTES,
+ NULL_BYTES,
+ {
+ from: owner,
+ gas: addTokenGasEstimate,
+ },
+ ),
);
for (const token of erc20TokenInfo) {
const totalSupply = new BigNumber(100000000000000000000);
@@ -115,17 +124,19 @@ export const runV1MigrationsAsync = async (provider: Provider, artifactsDir: str
token.decimals,
totalSupply,
);
- await tokenReg.addToken.sendTransactionAsync(
- dummyToken.address,
- token.name,
- token.symbol,
- token.decimals,
- token.ipfsHash,
- token.swarmHash,
- {
- from: owner,
- gas: addTokenGasEstimate,
- },
+ await web3Wrapper.awaitTransactionSuccessAsync(
+ await tokenReg.addToken.sendTransactionAsync(
+ dummyToken.address,
+ token.name,
+ token.symbol,
+ token.decimals,
+ token.ipfsHash,
+ token.swarmHash,
+ {
+ from: owner,
+ gas: addTokenGasEstimate,
+ },
+ ),
);
}
};
diff --git a/packages/migrations/src/v2/artifacts.ts b/packages/migrations/src/v2/artifacts.ts
index 3079e4d89..31dfc5abb 100644
--- a/packages/migrations/src/v2/artifacts.ts
+++ b/packages/migrations/src/v2/artifacts.ts
@@ -1,11 +1,11 @@
import { ContractArtifact } from '@0xproject/sol-compiler';
+import * as AssetProxyOwner from '../../artifacts/2.0.0/AssetProxyOwner.json';
import * as DummyERC20Token from '../../artifacts/2.0.0/DummyERC20Token.json';
import * as DummyERC721Token from '../../artifacts/2.0.0/DummyERC721Token.json';
import * as ERC20Proxy from '../../artifacts/2.0.0/ERC20Proxy.json';
import * as ERC721Proxy from '../../artifacts/2.0.0/ERC721Proxy.json';
import * as Exchange from '../../artifacts/2.0.0/Exchange.json';
-import * as MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress from '../../artifacts/2.0.0/MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress.json';
import * as WETH9 from '../../artifacts/2.0.0/WETH9.json';
import * as ZRX from '../../artifacts/2.0.0/ZRXToken.json';
@@ -13,7 +13,7 @@ export const artifacts = {
ZRX: (ZRX as any) as ContractArtifact,
DummyERC20Token: (DummyERC20Token as any) as ContractArtifact,
DummyERC721Token: (DummyERC721Token as any) as ContractArtifact,
- MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress: (MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress as any) as ContractArtifact,
+ AssetProxyOwner: (AssetProxyOwner as any) as ContractArtifact,
Exchange: (Exchange as any) as ContractArtifact,
WETH9: (WETH9 as any) as ContractArtifact,
ERC20Proxy: (ERC20Proxy as any) as ContractArtifact,
diff --git a/packages/migrations/src/v2/migration.ts b/packages/migrations/src/v2/migration.ts
index d517486ed..f77063a1b 100644
--- a/packages/migrations/src/v2/migration.ts
+++ b/packages/migrations/src/v2/migration.ts
@@ -6,12 +6,12 @@ import { ArtifactWriter } from '../artifact_writer';
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 { ExchangeContract } from './contract_wrappers/exchange';
-import { MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddressContract } from './contract_wrappers/multi_sig_wallet_with_time_lock_except_remove_authorized_address';
import { WETH9Contract } from './contract_wrappers/weth9';
import { ZRXTokenContract } from './contract_wrappers/zrx_token';
@@ -62,34 +62,29 @@ export const runV2MigrationsAsync = async (provider: Provider, artifactsDir: str
const secondsRequired = new BigNumber(0);
const owner = accounts[0];
- // TODO(leonid) use `AssetProxyOwner` after https://github.com/0xProject/0x-monorepo/pull/571 is merged
- // ERC20 Multisig
- const multiSigERC20 = await MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddressContract.deployFrom0xArtifactAsync(
- artifacts.MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress,
+ // AssetProxyOwner
+ const assetProxyOwner = await AssetProxyOwnerContract.deployFrom0xArtifactAsync(
+ artifacts.AssetProxyOwner,
provider,
txDefaults,
owners,
+ [erc20proxy.address, erc721proxy.address],
confirmationsRequired,
secondsRequired,
- erc20proxy.address,
);
- artifactsWriter.saveArtifact(multiSigERC20);
- await erc20proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner });
- await erc20proxy.transferOwnership.sendTransactionAsync(multiSigERC20.address, { from: owner });
-
- // ERC721 Multisig
- const multiSigERC721 = await MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddressContract.deployFrom0xArtifactAsync(
- artifacts.MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress,
- provider,
- txDefaults,
- owners,
- confirmationsRequired,
- secondsRequired,
- erc721proxy.address,
+ artifactsWriter.saveArtifact(assetProxyOwner);
+ await web3Wrapper.awaitTransactionSuccessAsync(
+ await erc20proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner }),
+ );
+ await web3Wrapper.awaitTransactionSuccessAsync(
+ await erc20proxy.transferOwnership.sendTransactionAsync(assetProxyOwner.address, { from: owner }),
+ );
+ await web3Wrapper.awaitTransactionSuccessAsync(
+ await erc721proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner }),
+ );
+ await web3Wrapper.awaitTransactionSuccessAsync(
+ await erc721proxy.transferOwnership.sendTransactionAsync(assetProxyOwner.address, { from: owner }),
);
- artifactsWriter.saveArtifact(multiSigERC721);
- await erc721proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner });
- await erc721proxy.transferOwnership.sendTransactionAsync(multiSigERC721.address, { from: owner });
// Dummy ERC20 tokens
for (const token of erc20TokenInfo) {