code: function contractIsDeployed(baseContract, stagedContract) {
    // if bytecode and inputs match, then skip with instance
    if (deepEqual(typeof baseContract.address, 'string')
      && deepEqual(baseContract.transactionObject, stagedContract.transactionObject)
      && deepEqual(`0x${stripHexPrefix(baseContract.bytecode)}`, `0x${stripHexPrefix(stagedContract.bytecode)}`)
      && deepEqual(baseContract.inputs, stagedContract.inputs)) {
      return true;
    }
  
    return false;
  }
docs: Determine if the contract has already been deployed.
  
  @method contractIsDeployed
  @param {Object} baseContract the base contracts on which to deploy new ones
  @param {Object} stagedContract the transformed environment
  @return {Boolean} isDeployed has the contract already been deployed