import { Artifacts } from '../util/artifacts'; import { ContractInstance } from '../util/types'; const { TokenTransferProxy, Exchange, TokenRegistry } = new Artifacts(artifacts); let tokenTransferProxy: ContractInstance; module.exports = (deployer: any) => { deployer .then(async () => { return Promise.all([TokenTransferProxy.deployed(), TokenRegistry.deployed()]); }) .then((instances: ContractInstance[]) => { let tokenRegistry: ContractInstance; [tokenTransferProxy, tokenRegistry] = instances; return tokenRegistry.getTokenAddressBySymbol('ZRX'); }) .then((ptAddress: string) => { return deployer.deploy(Exchange, ptAddress, tokenTransferProxy.address); }) .then(() => { return tokenTransferProxy.addAuthorizedAddress(Exchange.address); }); };