func: function requestNumber(address _requestor, uint256 _max, uint8 _waitTime)
      payable 
      public {
          
          
          
          if (!whiteList[msg.sender]) {
              require(!(msg.value < cost));
          }
  
          
          
          assert(!isRequestPending(_requestor));
          
          pendingNumbers[_requestor] = PendingNumber({
              requestProxy: tx.origin, 
              renderedNumber: 0,
              max: max,
              originBlock: block.number,
              waitTime: waitTime
          });
          if (_max > 1) {
              pendingNumbers[_requestor].max = _max;
          }
          
          
          
          
          if (_waitTime > 0 && _waitTime < 250) {
              pendingNumbers[_requestor].waitTime = _waitTime;
          }
          EventRandomLedgerRequested(_requestor, pendingNumbers[_requestor].max, pendingNumbers[_requestor].originBlock, pendingNumbers[_requestor].waitTime, pendingNumbers[_requestor].requestProxy);
      }