Allow overriding of ERC1155 functions (#2263)

* Make receiver functions private

* Make external functions public
pull/2249/head
Nicolás Venturo 5 years ago committed by GitHub
parent 52f7b6e03b
commit 91516b2318
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      contracts/mocks/ERC1155Mock.sol
  2. 24
      contracts/token/ERC1155/ERC1155.sol

@ -24,12 +24,4 @@ contract ERC1155Mock is ERC1155 {
function burnBatch(address owner, uint256[] memory ids, uint256[] memory values) public { function burnBatch(address owner, uint256[] memory ids, uint256[] memory values) public {
_burnBatch(owner, ids, values); _burnBatch(owner, ids, values);
} }
function doSafeTransferAcceptanceCheck(address operator, address from, address to, uint256 id, uint256 value, bytes memory data) public {
_doSafeTransferAcceptanceCheck(operator, from, to, id, value, data);
}
function doSafeBatchTransferAcceptanceCheck(address operator, address from, address to, uint256[] memory ids, uint256[] memory values, bytes memory data) public {
_doSafeBatchTransferAcceptanceCheck(operator, from, to, ids, values, data);
}
} }

@ -99,7 +99,7 @@ contract ERC1155 is ERC165, IERC1155
* @param operator address to set the approval * @param operator address to set the approval
* @param approved representing the status of the approval to be set * @param approved representing the status of the approval to be set
*/ */
function setApprovalForAll(address operator, bool approved) external override virtual { function setApprovalForAll(address operator, bool approved) public virtual override {
require(msg.sender != operator, "ERC1155: cannot set approval status for self"); require(msg.sender != operator, "ERC1155: cannot set approval status for self");
_operatorApprovals[msg.sender][operator] = approved; _operatorApprovals[msg.sender][operator] = approved;
emit ApprovalForAll(msg.sender, operator, approved); emit ApprovalForAll(msg.sender, operator, approved);
@ -130,11 +130,11 @@ contract ERC1155 is ERC165, IERC1155
address to, address to,
uint256 id, uint256 id,
uint256 value, uint256 value,
bytes calldata data bytes memory data
) )
external public
override
virtual virtual
override
{ {
require(to != address(0), "ERC1155: target address must be non-zero"); require(to != address(0), "ERC1155: target address must be non-zero");
require( require(
@ -164,13 +164,13 @@ contract ERC1155 is ERC165, IERC1155
function safeBatchTransferFrom( function safeBatchTransferFrom(
address from, address from,
address to, address to,
uint256[] calldata ids, uint256[] memory ids,
uint256[] calldata values, uint256[] memory values,
bytes calldata data bytes memory data
) )
external public
override
virtual virtual
override
{ {
require(ids.length == values.length, "ERC1155: IDs and values must have same lengths"); require(ids.length == values.length, "ERC1155: IDs and values must have same lengths");
require(to != address(0), "ERC1155: target address must be non-zero"); require(to != address(0), "ERC1155: target address must be non-zero");
@ -275,8 +275,7 @@ contract ERC1155 is ERC165, IERC1155
uint256 value, uint256 value,
bytes memory data bytes memory data
) )
internal private
virtual
{ {
if(to.isContract()) { if(to.isContract()) {
require( require(
@ -295,8 +294,7 @@ contract ERC1155 is ERC165, IERC1155
uint256[] memory values, uint256[] memory values,
bytes memory data bytes memory data
) )
internal private
virtual
{ {
if(to.isContract()) { if(to.isContract()) {
require( require(

Loading…
Cancel
Save