github.com/XinFinOrg/xdcchain@v1.1.0/contracts/randomize/contract/XDCRandomize.sol (about)

     1  pragma solidity ^0.4.21;
     2  
     3  import "./libs/SafeMath.sol";
     4  
     5  contract XDCRandomize {
     6      using SafeMath for uint256;
     7  
     8      mapping (address=>bytes32[]) randomSecret;
     9      mapping (address=>bytes32) randomOpening;
    10  
    11      function XDCRandomize () public {
    12      }
    13  
    14      function setSecret(bytes32[] _secret) public {
    15          uint secretPoint =  block.number % 900;
    16          require(secretPoint >= 800);
    17          require(secretPoint < 850);
    18          randomSecret[msg.sender] = _secret;
    19      }
    20  
    21      function setOpening(bytes32 _opening) public {
    22          uint openingPoint =  block.number % 900;
    23          require(openingPoint >= 850);
    24          randomOpening[msg.sender] = _opening;
    25      }
    26  
    27      function getSecret(address _validator) public view returns(bytes32[]) {
    28          return randomSecret[_validator];
    29      }
    30  
    31      function getOpening(address _validator) public view returns(bytes32) {
    32          return randomOpening[_validator];
    33      }
    34  }