function _refundETH(address addr) private {
    require(state == SaleState.REFUND);
    require(storageContract.checkWalletExists(addr));
    require(!storageContract.checkRefund(addr));

    uint uId = storageContract.getContributorId(addr);
    uint ethAmount = storageContract.getEthPaymentContributor(addr);
    assert(uId > 0 && ethAmount > 0 && getETHBalance() >= ethAmount);

    storageContract.setRefund(uId);
    addr.transfer(ethAmount);
    emit Refund(addr);
  }