Skip to content
11 changes: 6 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* `TransparentUpgradeableProxy`: Removed `admin` and `implementation` getters, which were only callable by the proxy owner and thus not very useful. ([#3820](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3820))
* `ProxyAdmin`: Removed `getProxyAdmin` and `getProxyImplementation` getters. ([#3820](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3820))
* `ERC20`: Deleted `_beforeTokenTransfer` and `_afterTokenTransfer` hooks, added a new internal `_update` function for customizations, and refactored all extensions using those hooks to use `_update` instead. ([#3838](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3838))
* `ERC165Storage`: contract was removed. ([#](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/))
* `ERC165Storage`: Removed this contract in favor of inheritance based approach. ([#3880](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3880))

### How to upgrade from 4.x

Expand All @@ -35,12 +35,13 @@ For example, a contract using `ERC20`'s `_beforeTokenTransfer` hook would have t
```

#### ERC165Storage
As a result of removing the ERC165Storage contracts, users wanting to indicate their support for interfaces should do so by overriding the `supportsInterface` function as seen below:

```
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
Users that were registering EIP-165 interfaces with `_registerInterface` from `ERC165Storage` should instead do so so by overriding the `supportsInterface` function as seen below:

```solidity
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);
}
}
```

## Unreleased
Expand Down
1 change: 0 additions & 1 deletion contracts/utils/introspection/ERC165.sol
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import "./IERC165.sol";
* return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);
* }
* ```
*
*/
abstract contract ERC165 is IERC165 {
/**
Expand Down