|
|
|
@ -10,18 +10,20 @@ import "../../utils/introspection/IERC165.sol"; |
|
|
|
|
*/ |
|
|
|
|
interface IERC1155Receiver is IERC165 { |
|
|
|
|
/** |
|
|
|
|
@dev Handles the receipt of a single ERC1155 token type. This function is |
|
|
|
|
called at the end of a `safeTransferFrom` after the balance has been updated. |
|
|
|
|
To accept the transfer, this must return |
|
|
|
|
`bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` |
|
|
|
|
(i.e. 0xf23a6e61, or its own function selector). |
|
|
|
|
@param operator The address which initiated the transfer (i.e. msg.sender) |
|
|
|
|
@param from The address which previously owned the token |
|
|
|
|
@param id The ID of the token being transferred |
|
|
|
|
@param value The amount of tokens being transferred |
|
|
|
|
@param data Additional data with no specified format |
|
|
|
|
@return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed |
|
|
|
|
*/ |
|
|
|
|
* @dev Handles the receipt of a single ERC1155 token type. This function is |
|
|
|
|
* called at the end of a `safeTransferFrom` after the balance has been updated. |
|
|
|
|
* |
|
|
|
|
* NOTE: To accept the transfer, this must return |
|
|
|
|
* `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` |
|
|
|
|
* (i.e. 0xf23a6e61, or its own function selector). |
|
|
|
|
* |
|
|
|
|
* @param operator The address which initiated the transfer (i.e. msg.sender) |
|
|
|
|
* @param from The address which previously owned the token |
|
|
|
|
* @param id The ID of the token being transferred |
|
|
|
|
* @param value The amount of tokens being transferred |
|
|
|
|
* @param data Additional data with no specified format |
|
|
|
|
* @return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed |
|
|
|
|
*/ |
|
|
|
|
function onERC1155Received( |
|
|
|
|
address operator, |
|
|
|
|
address from, |
|
|
|
@ -31,18 +33,21 @@ interface IERC1155Receiver is IERC165 { |
|
|
|
|
) external returns (bytes4); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@dev Handles the receipt of a multiple ERC1155 token types. This function |
|
|
|
|
is called at the end of a `safeBatchTransferFrom` after the balances have |
|
|
|
|
been updated. To accept the transfer(s), this must return |
|
|
|
|
`bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` |
|
|
|
|
(i.e. 0xbc197c81, or its own function selector). |
|
|
|
|
@param operator The address which initiated the batch transfer (i.e. msg.sender) |
|
|
|
|
@param from The address which previously owned the token |
|
|
|
|
@param ids An array containing ids of each token being transferred (order and length must match values array) |
|
|
|
|
@param values An array containing amounts of each token being transferred (order and length must match ids array) |
|
|
|
|
@param data Additional data with no specified format |
|
|
|
|
@return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` if transfer is allowed |
|
|
|
|
*/ |
|
|
|
|
* @dev Handles the receipt of a multiple ERC1155 token types. This function |
|
|
|
|
* is called at the end of a `safeBatchTransferFrom` after the balances have |
|
|
|
|
* been updated. |
|
|
|
|
* |
|
|
|
|
* NOTE: To accept the transfer(s), this must return |
|
|
|
|
* `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` |
|
|
|
|
* (i.e. 0xbc197c81, or its own function selector). |
|
|
|
|
* |
|
|
|
|
* @param operator The address which initiated the batch transfer (i.e. msg.sender) |
|
|
|
|
* @param from The address which previously owned the token |
|
|
|
|
* @param ids An array containing ids of each token being transferred (order and length must match values array) |
|
|
|
|
* @param values An array containing amounts of each token being transferred (order and length must match ids array) |
|
|
|
|
* @param data Additional data with no specified format |
|
|
|
|
* @return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` if transfer is allowed |
|
|
|
|
*/ |
|
|
|
|
function onERC1155BatchReceived( |
|
|
|
|
address operator, |
|
|
|
|
address from, |
|
|
|
|