Fix relevant warnings (#3685)

This commit is contained in:
Francisco
2022-09-07 15:56:18 -03:00
committed by GitHub
parent 5d31ad0eb9
commit 3c552e6e03
4 changed files with 33 additions and 33 deletions

View File

@ -5,7 +5,7 @@ pragma solidity ^0.8.0;
import "../../utils/introspection/IERC165.sol"; import "../../utils/introspection/IERC165.sol";
contract ERC165ReturnBombMock is IERC165 { contract ERC165ReturnBombMock is IERC165 {
function supportsInterface(bytes4 interfaceId) public view override returns (bool) { function supportsInterface(bytes4 interfaceId) public pure override returns (bool) {
if (interfaceId == type(IERC165).interfaceId) { if (interfaceId == type(IERC165).interfaceId) {
assembly { assembly {
mstore(0, 1) mstore(0, 1)

View File

@ -263,7 +263,7 @@ abstract contract ERC20Votes is IVotes, ERC20Permit {
return a - b; return a - b;
} }
function _unsafeAccess(Checkpoint[] storage ckpts, uint256 pos) private view returns (Checkpoint storage result) { function _unsafeAccess(Checkpoint[] storage ckpts, uint256 pos) private pure returns (Checkpoint storage result) {
assembly { assembly {
mstore(0, ckpts.slot) mstore(0, ckpts.slot)
result.slot := add(keccak256(0, 0x20), pos) result.slot := add(keccak256(0, 0x20), pos)

View File

@ -34,8 +34,8 @@ library Checkpoints {
require(blockNumber < block.number, "Checkpoints: block not yet mined"); require(blockNumber < block.number, "Checkpoints: block not yet mined");
uint32 key = SafeCast.toUint32(blockNumber); uint32 key = SafeCast.toUint32(blockNumber);
uint256 length = self._checkpoints.length; uint256 len = self._checkpoints.length;
uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, length); uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, len);
return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value; return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;
} }
@ -49,13 +49,13 @@ library Checkpoints {
require(blockNumber < block.number, "Checkpoints: block not yet mined"); require(blockNumber < block.number, "Checkpoints: block not yet mined");
uint32 key = SafeCast.toUint32(blockNumber); uint32 key = SafeCast.toUint32(blockNumber);
uint256 length = self._checkpoints.length; uint256 len = self._checkpoints.length;
uint256 low = 0; uint256 low = 0;
uint256 high = length; uint256 high = len;
if (length > 5) { if (len > 5) {
uint256 mid = length - Math.sqrt(length); uint256 mid = len - Math.sqrt(len);
if (key < _unsafeAccess(self._checkpoints, mid)._blockNumber) { if (key < _unsafeAccess(self._checkpoints, mid)._blockNumber) {
high = mid; high = mid;
} else { } else {
@ -205,7 +205,7 @@ library Checkpoints {
return high; return high;
} }
function _unsafeAccess(Checkpoint[] storage self, uint256 pos) private view returns (Checkpoint storage result) { function _unsafeAccess(Checkpoint[] storage self, uint256 pos) private pure returns (Checkpoint storage result) {
assembly { assembly {
mstore(0, self.slot) mstore(0, self.slot)
result.slot := add(keccak256(0, 0x20), pos) result.slot := add(keccak256(0, 0x20), pos)
@ -238,17 +238,17 @@ library Checkpoints {
* @dev Returns the value in the oldest checkpoint with key greater or equal than the search key, or zero if there is none. * @dev Returns the value in the oldest checkpoint with key greater or equal than the search key, or zero if there is none.
*/ */
function lowerLookup(Trace224 storage self, uint32 key) internal view returns (uint224) { function lowerLookup(Trace224 storage self, uint32 key) internal view returns (uint224) {
uint256 length = self._checkpoints.length; uint256 len = self._checkpoints.length;
uint256 pos = _lowerBinaryLookup(self._checkpoints, key, 0, length); uint256 pos = _lowerBinaryLookup(self._checkpoints, key, 0, len);
return pos == length ? 0 : _unsafeAccess(self._checkpoints, pos)._value; return pos == len ? 0 : _unsafeAccess(self._checkpoints, pos)._value;
} }
/** /**
* @dev Returns the value in the most recent checkpoint with key lower or equal than the search key. * @dev Returns the value in the most recent checkpoint with key lower or equal than the search key.
*/ */
function upperLookup(Trace224 storage self, uint32 key) internal view returns (uint224) { function upperLookup(Trace224 storage self, uint32 key) internal view returns (uint224) {
uint256 length = self._checkpoints.length; uint256 len = self._checkpoints.length;
uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, length); uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, len);
return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value; return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;
} }
@ -368,7 +368,7 @@ library Checkpoints {
function _unsafeAccess(Checkpoint224[] storage self, uint256 pos) function _unsafeAccess(Checkpoint224[] storage self, uint256 pos)
private private
view pure
returns (Checkpoint224 storage result) returns (Checkpoint224 storage result)
{ {
assembly { assembly {
@ -403,17 +403,17 @@ library Checkpoints {
* @dev Returns the value in the oldest checkpoint with key greater or equal than the search key, or zero if there is none. * @dev Returns the value in the oldest checkpoint with key greater or equal than the search key, or zero if there is none.
*/ */
function lowerLookup(Trace160 storage self, uint96 key) internal view returns (uint160) { function lowerLookup(Trace160 storage self, uint96 key) internal view returns (uint160) {
uint256 length = self._checkpoints.length; uint256 len = self._checkpoints.length;
uint256 pos = _lowerBinaryLookup(self._checkpoints, key, 0, length); uint256 pos = _lowerBinaryLookup(self._checkpoints, key, 0, len);
return pos == length ? 0 : _unsafeAccess(self._checkpoints, pos)._value; return pos == len ? 0 : _unsafeAccess(self._checkpoints, pos)._value;
} }
/** /**
* @dev Returns the value in the most recent checkpoint with key lower or equal than the search key. * @dev Returns the value in the most recent checkpoint with key lower or equal than the search key.
*/ */
function upperLookup(Trace160 storage self, uint96 key) internal view returns (uint160) { function upperLookup(Trace160 storage self, uint96 key) internal view returns (uint160) {
uint256 length = self._checkpoints.length; uint256 len = self._checkpoints.length;
uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, length); uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, len);
return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value; return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;
} }
@ -533,7 +533,7 @@ library Checkpoints {
function _unsafeAccess(Checkpoint160[] storage self, uint256 pos) function _unsafeAccess(Checkpoint160[] storage self, uint256 pos)
private private
view pure
returns (Checkpoint160 storage result) returns (Checkpoint160 storage result)
{ {
assembly { assembly {

View File

@ -49,17 +49,17 @@ function push(
* @dev Returns the value in the oldest checkpoint with key greater or equal than the search key, or zero if there is none. * @dev Returns the value in the oldest checkpoint with key greater or equal than the search key, or zero if there is none.
*/ */
function lowerLookup(${opts.historyTypeName} storage self, ${opts.keyTypeName} key) internal view returns (${opts.valueTypeName}) { function lowerLookup(${opts.historyTypeName} storage self, ${opts.keyTypeName} key) internal view returns (${opts.valueTypeName}) {
uint256 length = self.${opts.checkpointFieldName}.length; uint256 len = self.${opts.checkpointFieldName}.length;
uint256 pos = _lowerBinaryLookup(self.${opts.checkpointFieldName}, key, 0, length); uint256 pos = _lowerBinaryLookup(self.${opts.checkpointFieldName}, key, 0, len);
return pos == length ? 0 : _unsafeAccess(self.${opts.checkpointFieldName}, pos).${opts.valueFieldName}; return pos == len ? 0 : _unsafeAccess(self.${opts.checkpointFieldName}, pos).${opts.valueFieldName};
} }
/** /**
* @dev Returns the value in the most recent checkpoint with key lower or equal than the search key. * @dev Returns the value in the most recent checkpoint with key lower or equal than the search key.
*/ */
function upperLookup(${opts.historyTypeName} storage self, ${opts.keyTypeName} key) internal view returns (${opts.valueTypeName}) { function upperLookup(${opts.historyTypeName} storage self, ${opts.keyTypeName} key) internal view returns (${opts.valueTypeName}) {
uint256 length = self.${opts.checkpointFieldName}.length; uint256 len = self.${opts.checkpointFieldName}.length;
uint256 pos = _upperBinaryLookup(self.${opts.checkpointFieldName}, key, 0, length); uint256 pos = _upperBinaryLookup(self.${opts.checkpointFieldName}, key, 0, len);
return pos == 0 ? 0 : _unsafeAccess(self.${opts.checkpointFieldName}, pos - 1).${opts.valueFieldName}; return pos == 0 ? 0 : _unsafeAccess(self.${opts.checkpointFieldName}, pos - 1).${opts.valueFieldName};
} }
`; `;
@ -73,8 +73,8 @@ function getAtBlock(${opts.historyTypeName} storage self, uint256 blockNumber) i
require(blockNumber < block.number, "Checkpoints: block not yet mined"); require(blockNumber < block.number, "Checkpoints: block not yet mined");
uint32 key = SafeCast.toUint32(blockNumber); uint32 key = SafeCast.toUint32(blockNumber);
uint256 length = self.${opts.checkpointFieldName}.length; uint256 len = self.${opts.checkpointFieldName}.length;
uint256 pos = _upperBinaryLookup(self.${opts.checkpointFieldName}, key, 0, length); uint256 pos = _upperBinaryLookup(self.${opts.checkpointFieldName}, key, 0, len);
return pos == 0 ? 0 : _unsafeAccess(self.${opts.checkpointFieldName}, pos - 1).${opts.valueFieldName}; return pos == 0 ? 0 : _unsafeAccess(self.${opts.checkpointFieldName}, pos - 1).${opts.valueFieldName};
} }
@ -88,13 +88,13 @@ function getAtProbablyRecentBlock(${opts.historyTypeName} storage self, uint256
require(blockNumber < block.number, "Checkpoints: block not yet mined"); require(blockNumber < block.number, "Checkpoints: block not yet mined");
uint32 key = SafeCast.toUint32(blockNumber); uint32 key = SafeCast.toUint32(blockNumber);
uint256 length = self.${opts.checkpointFieldName}.length; uint256 len = self.${opts.checkpointFieldName}.length;
uint256 low = 0; uint256 low = 0;
uint256 high = length; uint256 high = len;
if (length > 5) { if (len > 5) {
uint256 mid = length - Math.sqrt(length); uint256 mid = len - Math.sqrt(len);
if (key < _unsafeAccess(self.${opts.checkpointFieldName}, mid)._blockNumber) { if (key < _unsafeAccess(self.${opts.checkpointFieldName}, mid)._blockNumber) {
high = mid; high = mid;
} else { } else {
@ -248,7 +248,7 @@ function _lowerBinaryLookup(
function _unsafeAccess(${opts.checkpointTypeName}[] storage self, uint256 pos) function _unsafeAccess(${opts.checkpointTypeName}[] storage self, uint256 pos)
private private
view pure
returns (${opts.checkpointTypeName} storage result) returns (${opts.checkpointTypeName} storage result)
{ {
assembly { assembly {