diff options
author | Amir Bandeali <abandeali1@gmail.com> | 2018-06-30 08:49:15 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-30 08:49:15 +0800 |
commit | 762c0143eb10306ca70b0f206e80eb9aed925f99 (patch) | |
tree | 7d94c049696572254cb4207d4312c607936772be /packages/migrations/src/migrate.ts | |
parent | 42b7b0dab907f1ce2caf6a2ea415a247ba31245f (diff) | |
parent | 6c6f34ee72da94b40aac64a3ded73bbf7824c3f0 (diff) | |
download | dexon-sol-tools-762c0143eb10306ca70b0f206e80eb9aed925f99.tar dexon-sol-tools-762c0143eb10306ca70b0f206e80eb9aed925f99.tar.gz dexon-sol-tools-762c0143eb10306ca70b0f206e80eb9aed925f99.tar.bz2 dexon-sol-tools-762c0143eb10306ca70b0f206e80eb9aed925f99.tar.lz dexon-sol-tools-762c0143eb10306ca70b0f206e80eb9aed925f99.tar.xz dexon-sol-tools-762c0143eb10306ca70b0f206e80eb9aed925f99.tar.zst dexon-sol-tools-762c0143eb10306ca70b0f206e80eb9aed925f99.zip |
Merge pull request #770 from 0xProject/feature/migrations/kovan-deploy
Add Kovan migrations
Diffstat (limited to 'packages/migrations/src/migrate.ts')
-rw-r--r-- | packages/migrations/src/migrate.ts | 50 |
1 files changed, 39 insertions, 11 deletions
diff --git a/packages/migrations/src/migrate.ts b/packages/migrations/src/migrate.ts index 5f320ec78..c46d3580a 100644 --- a/packages/migrations/src/migrate.ts +++ b/packages/migrations/src/migrate.ts @@ -1,30 +1,58 @@ #!/usr/bin/env node import { devConstants, web3Factory } from '@0xproject/dev-utils'; import { logUtils } from '@0xproject/utils'; +import { Web3Wrapper } from '@0xproject/web3-wrapper'; import { Provider } from 'ethereum-types'; import * as yargs from 'yargs'; -import { runV1MigrationsAsync } from './v1/migration'; -import { runV2MigrationsAsync } from './v2/migration'; +import { runV1MigrationsAsync } from './1.0.0/migration'; +import { runV2TestnetMigrationsAsync } from './2.0.0-beta-testnet/migration'; +import { runV2MigrationsAsync } from './2.0.0/migration'; + +import { providerFactory } from './utils/provider_factory'; enum ContractVersions { V1 = '1.0.0', V2 = '2.0.0', + V2Testnet = '2.0.0-beta-testnet', } const args = yargs.argv; (async () => { - const txDefaults = { - from: devConstants.TESTRPC_FIRST_ADDRESS, - }; - const providerConfigs = { shouldUseInProcessGanache: false }; - const provider: Provider = web3Factory.getRpcProvider(providerConfigs); const contractsVersion = args.contractsVersion; const artifactsDir = `artifacts/${contractsVersion}`; - if (contractsVersion === ContractVersions.V1) { - await runV1MigrationsAsync(provider, artifactsDir, txDefaults); - } else { - await runV2MigrationsAsync(provider, artifactsDir, txDefaults); + let providerConfigs; + let provider: Provider; + let txDefaults; + switch (contractsVersion) { + case ContractVersions.V1: + providerConfigs = { shouldUseInProcessGanache: false }; + provider = web3Factory.getRpcProvider(providerConfigs); + txDefaults = { + from: devConstants.TESTRPC_FIRST_ADDRESS, + }; + await runV1MigrationsAsync(provider, artifactsDir, txDefaults); + break; + case ContractVersions.V2: + providerConfigs = { shouldUseInProcessGanache: false }; + provider = web3Factory.getRpcProvider(providerConfigs); + txDefaults = { + from: devConstants.TESTRPC_FIRST_ADDRESS, + }; + await runV2MigrationsAsync(provider, artifactsDir, txDefaults); + break; + case ContractVersions.V2Testnet: + provider = await providerFactory.getLedgerProviderAsync(); + const web3Wrapper = new Web3Wrapper(provider); + const accounts = await web3Wrapper.getAvailableAddressesAsync(); + txDefaults = { + from: accounts[0], + gas: devConstants.GAS_LIMIT, + }; + await runV2TestnetMigrationsAsync(provider, artifactsDir, txDefaults); + break; + default: + throw new Error(`Unsupported contract version: ${contractsVersion}`); } process.exit(0); })().catch(err => { |