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 }