96cad7de9c
* tests: reorganize testing packages * gitignore and minor changes
48 lines
1.4 KiB
Solidity
48 lines
1.4 KiB
Solidity
// Brought from https://github.com/aragon/aragonOS/blob/v4.3.0/contracts/common/TimeHelpers.sol
|
|
// Adapted to use pragma ^0.5.8 and satisfy our linter rules
|
|
|
|
pragma solidity ^0.5.8;
|
|
|
|
import "./Uint256Helpers.sol";
|
|
|
|
|
|
contract TimeHelpers {
|
|
using Uint256Helpers for uint256;
|
|
|
|
/**
|
|
* @dev Returns the current block number.
|
|
* Using a function rather than `block.number` allows us to easily mock the block number in
|
|
* tests.
|
|
*/
|
|
function getBlockNumber() internal view returns (uint256) {
|
|
return block.number;
|
|
}
|
|
|
|
/**
|
|
* @dev Returns the current block number, converted to uint64.
|
|
* Using a function rather than `block.number` allows us to easily mock the block number in
|
|
* tests.
|
|
*/
|
|
function getBlockNumber64() internal view returns (uint64) {
|
|
return getBlockNumber().toUint64();
|
|
}
|
|
|
|
/**
|
|
* @dev Returns the current timestamp.
|
|
* Using a function rather than `block.timestamp` allows us to easily mock it in
|
|
* tests.
|
|
*/
|
|
function getTimestamp() internal view returns (uint256) {
|
|
return block.timestamp; // solium-disable-line security/no-block-members
|
|
}
|
|
|
|
/**
|
|
* @dev Returns the current timestamp, converted to uint64.
|
|
* Using a function rather than `block.timestamp` allows us to easily mock it in
|
|
* tests.
|
|
*/
|
|
function getTimestamp64() internal view returns (uint64) {
|
|
return getTimestamp().toUint64();
|
|
}
|
|
}
|