Mark ERC777 and ERC1820 as deprecated (#4066)
This commit is contained in:
@ -9,6 +9,8 @@
|
||||
|
||||
- `ERC20Permit`: Added the file `IERC20Permit.sol` and `ERC20Permit.sol` and deprecated `draft-IERC20Permit.sol` and `draft-ERC20Permit.sol` since [EIP-2612](https://eips.ethereum.org/EIPS/eip-2612) is no longer a Draft. Developers are encouraged to update their imports. ([#3793](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3793))
|
||||
- `Timers`: The `Timers` library is now deprecated and will be removed in the next major release. ([#4062](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4062))
|
||||
- `ERC777`: The `ERC777` token standard is no longer supported by OpenZeppelin. Our implementation is now deprecated and will be removed in the next major release. The corresponding standard interfaces remain available. ([#4066](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4066))
|
||||
- `ERC1820Implementer`: The `ERC1820` pseudo-introspection mechanism is no longer supported by OpenZeppelin. Our implementation is now deprecated and will be removed in the next major release. The corresponding standard interfaces remain available. ([#4066](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4066))
|
||||
|
||||
## 4.8.1 (2023-01-12)
|
||||
|
||||
|
||||
@ -25,6 +25,8 @@ import "../../utils/introspection/IERC1820Registry.sol";
|
||||
* Additionally, the {IERC777-granularity} value is hard-coded to `1`, meaning that there
|
||||
* are no special restrictions in the amount of tokens that created, moved, or
|
||||
* destroyed. This makes integration with ERC20 applications seamless.
|
||||
*
|
||||
* CAUTION: This file is deprecated as of v4.9 and will be removed in the next major release.
|
||||
*/
|
||||
contract ERC777 is Context, IERC777, IERC20 {
|
||||
using Address for address;
|
||||
|
||||
@ -3,6 +3,8 @@
|
||||
[.readme-notice]
|
||||
NOTE: This document is better viewed at https://docs.openzeppelin.com/contracts/api/token/erc777
|
||||
|
||||
CAUTION: As of v4.9, OpenZeppelin's implementation of ERC-777 is deprecated and will be removed in the next major release.
|
||||
|
||||
This set of interfaces and contracts are all related to the https://eips.ethereum.org/EIPS/eip-777[ERC777 token standard].
|
||||
|
||||
TIP: For an overview of ERC777 tokens and a walk through on how to create a token contract read our xref:ROOT:erc777.adoc[ERC777 guide].
|
||||
|
||||
@ -12,6 +12,8 @@ import "./IERC1820Implementer.sol";
|
||||
* declare their willingness to be implementers.
|
||||
* {IERC1820Registry-setInterfaceImplementer} should then be called for the
|
||||
* registration to be complete.
|
||||
*
|
||||
* CAUTION: This file is deprecated as of v4.9 and will be removed in the next major release.
|
||||
*/
|
||||
contract ERC1820Implementer is IERC1820Implementer {
|
||||
bytes32 private constant _ERC1820_ACCEPT_MAGIC = keccak256("ERC1820_ACCEPT_MAGIC");
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
= ERC777
|
||||
|
||||
CAUTION: As of v4.9, OpenZeppelin's implementation of ERC-777 is deprecated and will be removed in the next major release.
|
||||
|
||||
Like xref:erc20.adoc[ERC20], ERC777 is a standard for xref:tokens.adoc#different-kinds-of-tokens[_fungible_ tokens], and is focused around allowing more complex interactions when trading tokens. More generally, it brings tokens and Ether closer together by providing the equivalent of a `msg.value` field, but for tokens.
|
||||
|
||||
The standard also brings multiple quality-of-life improvements, such as getting rid of the confusion around `decimals`, minting and burning with proper events, among others, but its killer feature is *receive hooks*. A hook is simply a function in a contract that is called when tokens are sent to it, meaning *accounts and contracts can react to receiving tokens*.
|
||||
|
||||
Reference in New Issue
Block a user