```\\nfunction drawNumberGrandPrize()\\n    external\\n    payable\\n    whenNotPaused\\n    onlyOwner\\n    requireState(DrawState.Closed)\\n    nonReentrant\\n    returns (bool)\\n{\\n    if(msg.value > 0){\\n        _updateGrandPrizePool(_grandPrizePool.add(msg.value));\\n    }\\n\\n    require(\\n        _grandPrizePool != 0 && address(this).balance.sub(_reserves) >= _grandPrizePool,\\n        "DCBW721: Not enough balance for grand prize"\\n    );\\n\\n    bytes32 reqId = IRNG(_rngContract).request();\\n\\n    _state = DrawState.Open;\\n    draws[_drawsToDate] = DrawData(\\n        _drawsToDate,\\n        uint32(block.timestamp), /* solium-disable-line */\\n        0,\\n        1,\\n        address(0),\\n        0,\\n        _state,\\n        reqId\\n    );\\n\\n    emit DrawInitiated(reqId);\\n\\n    return true;\\n}\\n```\\n