Unverified Commit 6be0b410 by Alex Beregszaszi Committed by GitHub

Use explicit conversions between addresses and numbers (#2439)

Co-authored-by: hrkrshnn <webmail.hari@gmail.com>
Co-authored-by: cameel <cameel2@gmail.com>
parent 051d3401
......@@ -11,8 +11,8 @@ import "../../introspection/ERC165.sol";
abstract contract ERC1155Receiver is ERC165, IERC1155Receiver {
constructor() internal {
_registerInterface(
ERC1155Receiver(0).onERC1155Received.selector ^
ERC1155Receiver(0).onERC1155BatchReceived.selector
ERC1155Receiver(address(0)).onERC1155Received.selector ^
ERC1155Receiver(address(0)).onERC1155BatchReceived.selector
);
}
}
......@@ -54,6 +54,6 @@ library Create2 {
bytes32 _data = keccak256(
abi.encodePacked(bytes1(0xff), deployer, salt, bytecodeHash)
);
return address(uint256(_data));
return address(uint160(uint256(_data)));
}
}
......@@ -177,7 +177,7 @@ library EnumerableMap {
* already present.
*/
function set(UintToAddressMap storage map, uint256 key, address value) internal returns (bool) {
return _set(map._inner, bytes32(key), bytes32(uint256(value)));
return _set(map._inner, bytes32(key), bytes32(uint256(uint160(value))));
}
/**
......@@ -214,7 +214,7 @@ library EnumerableMap {
*/
function at(UintToAddressMap storage map, uint256 index) internal view returns (uint256, address) {
(bytes32 key, bytes32 value) = _at(map._inner, index);
return (uint256(key), address(uint256(value)));
return (uint256(key), address(uint160(uint256(value))));
}
/**
......@@ -225,13 +225,13 @@ library EnumerableMap {
* - `key` must be in the map.
*/
function get(UintToAddressMap storage map, uint256 key) internal view returns (address) {
return address(uint256(_get(map._inner, bytes32(key))));
return address(uint160(uint256(_get(map._inner, bytes32(key)))));
}
/**
* @dev Same as {get}, with a custom error message when `key` is not in the map.
*/
function get(UintToAddressMap storage map, uint256 key, string memory errorMessage) internal view returns (address) {
return address(uint256(_get(map._inner, bytes32(key), errorMessage)));
return address(uint160(uint256(_get(map._inner, bytes32(key), errorMessage))));
}
}
......@@ -199,7 +199,7 @@ library EnumerableSet {
* already present.
*/
function add(AddressSet storage set, address value) internal returns (bool) {
return _add(set._inner, bytes32(uint256(value)));
return _add(set._inner, bytes32(uint256(uint160(value))));
}
/**
......@@ -209,14 +209,14 @@ library EnumerableSet {
* present.
*/
function remove(AddressSet storage set, address value) internal returns (bool) {
return _remove(set._inner, bytes32(uint256(value)));
return _remove(set._inner, bytes32(uint256(uint160(value))));
}
/**
* @dev Returns true if the value is in the set. O(1).
*/
function contains(AddressSet storage set, address value) internal view returns (bool) {
return _contains(set._inner, bytes32(uint256(value)));
return _contains(set._inner, bytes32(uint256(uint160(value))));
}
/**
......@@ -237,7 +237,7 @@ library EnumerableSet {
* - `index` must be strictly less than {length}.
*/
function at(AddressSet storage set, uint256 index) internal view returns (address) {
return address(uint256(_at(set._inner, index)));
return address(uint160(uint256(_at(set._inner, index))));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment