IERC777Recipient
Interface of the ERC-777 Tokens Recipient standard as defined in the ERC. 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 https://eips.ethereum.org/EIPS/eip-1820[ERC-1820 global registry]. See {IERC1820Registry} and {IERC1820Implementer}.
Functions
tokensReceived
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,
uint256 amount,
bytes calldata userData,
bytes calldata operatorData
) external;