CheckpointsImplUpgradeable.sol 935 B

12345678910111213141516171819202122232425262728293031
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. import "../utils/CheckpointsUpgradeable.sol";
  4. import "../proxy/utils/Initializable.sol";
  5. contract CheckpointsImplUpgradeable is Initializable {
  6. function __CheckpointsImpl_init() internal onlyInitializing {
  7. __CheckpointsImpl_init_unchained();
  8. }
  9. function __CheckpointsImpl_init_unchained() internal onlyInitializing {
  10. }
  11. using CheckpointsUpgradeable for CheckpointsUpgradeable.History;
  12. CheckpointsUpgradeable.History private _totalCheckpoints;
  13. function latest() public view returns (uint256) {
  14. return _totalCheckpoints.latest();
  15. }
  16. function getAtBlock(uint256 blockNumber) public view returns (uint256) {
  17. return _totalCheckpoints.getAtBlock(blockNumber);
  18. }
  19. function push(uint256 value) public returns (uint256, uint256) {
  20. return _totalCheckpoints.push(value);
  21. }
  22. uint256[49] private __gap;
  23. }