dodoMysteryBox finish
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
pragma solidity 0.6.9;
|
||||
|
||||
interface IRandomGenerator {
|
||||
function random() external view returns (uint256);
|
||||
function random(uint256 seed) external view returns (uint256);
|
||||
}
|
||||
|
||||
interface IDODOMidPrice {
|
||||
@@ -16,7 +16,7 @@ interface IDODOMidPrice {
|
||||
}
|
||||
|
||||
contract RandomGenerator {
|
||||
address[] internal pools;
|
||||
address[] public pools;
|
||||
|
||||
constructor(address[] memory _pools) public {
|
||||
for (uint256 i = 0; i < pools.length; i++) {
|
||||
@@ -24,11 +24,11 @@ contract RandomGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
function random() external view returns (uint256) {
|
||||
function random(uint256 seed) external view returns (uint256) {
|
||||
uint256 priceSum;
|
||||
for (uint256 i = 0; i < pools.length; i++) {
|
||||
priceSum += IDODOMidPrice(pools[i]).getMidPrice();
|
||||
}
|
||||
return uint256(keccak256(abi.encodePacked(blockhash(block.number-1), priceSum)));
|
||||
return uint256(keccak256(abi.encodePacked(blockhash(block.number-1), priceSum, seed)));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user