code: async function (showPrompts) {
      logger.step('** Deploying valueCore Contract');
      if (showPrompts) {
        // confirming the important addresses
        logger.info("Deployer Address: " + valueDeployerAddress);
        logger.info("Value Ops Address: " + valueOpsAddress);
        logger.info("Value Registrar Contract: " + valueRegistrarContractAddress);
        logger.info("OpenST Utility Contract: " + openSTUtilityContractAddress);
        logger.info("OpenST Value Contract: " + openSTValueContractAddress);
  
        await new Promise(
          function (onResolve, onReject) {
            prompts.question("Please verify all above details. Do you want to proceed? [Y/N]", function (intent) {
              if ((intent === 'Y') || (intent === 'y')) {
                logger.info('Great! Proceeding deployment.');
                prompts.close();
                onResolve();
              } else {
                logger.error('Exiting deployment scripts. Change the env vars and re-run.');
                process.exit(1);
              }
            });
          }
        );
      } else {
        prompts.close();
      }
  
      const valueCoreContractDeployResponse = await deployHelper.perform(valueCoreContractName, web3Provider,
        valueCoreContractAbi, valueCoreContractBin, valueDeployerName, {gasPrice: VALUE_GAS_PRICE, gas: VALUE_GAS_LIMIT},
        [valueRegistrarContractAddress, VALUE_CHAIN_ID, UTILITY_CHAIN_ID, openSTUtilityContractAddress]);
  
      const valueCoreContractAddress = valueCoreContractDeployResponse.contractAddress;
  
      logger.step('** Calling addCore of Value Registrar Contract');
      await valueRegistrar.addCore(valueOpsName, openSTValueContractAddress, valueCoreContractAddress);
  
      return Promise.resolve(responseHelper.successWithData(
        {contract: 'valueCore', address: valueCoreContractAddress}));
    }
docs: Perform
  
  @param {boolean} showPrompts - Show prompts
  
  @return {promise<result>}