1234567891011121314151617181920212223242526272829303132 |
- pragma solidity ^0.5.0;
- /**
- * @dev Interface of the ERC777TokensRecipient standard as defined in the EIP.
- *
- * Accounts can be notified of `IERC777` tokens being sent to them by having a
- * contract implement this interface (contract holders can be their own
- * implementer) and registering it on the
- * [ERC1820 global registry](https://eips.ethereum.org/EIPS/eip-1820).
- *
- * See `IERC1820Registry` and `ERC1820Implementer`.
- */
- interface IERC777Recipient {
- /**
- * @dev Called by an `IERC777` token contract whenever tokens are being
- * moved or created into a registered account (`to`). The type of operation
- * is conveyed by `from` being the zero address or not.
- *
- * This call occurs _after_ the token contract's state is updated, so
- * `IERC777.balanceOf`, etc., can be used to query the post-operation state.
- *
- * This function may revert to prevent the operation from being executed.
- */
- function tokensReceived(
- address operator,
- address from,
- address to,
- uint amount,
- bytes calldata userData,
- bytes calldata operatorData
- ) external;
- }
|