You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
Solidity
36 lines
1.2 KiB
Solidity
2 years ago
|
// SPDX-License-Identifier: MIT
|
||
|
// OpenZeppelin Contracts v4.4.1 (token/ERC777/IERC777Recipient.sol)
|
||
|
|
||
|
pragma solidity ^0.8.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
|
||
|
* https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry].
|
||
|
*
|
||
|
* 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,
|
||
|
uint256 amount,
|
||
|
bytes calldata userData,
|
||
|
bytes calldata operatorData
|
||
|
) external;
|
||
|
}
|