Remove gas stipend restriction in call to 721 receiver

pull/803/head
Santiago Palladino 7 years ago
parent 3cef880803
commit 6f180a6c5a
  1. 7
      contracts/token/ERC721/ERC721BasicToken.sol
  2. 1
      test/token/ERC721/ERC721BasicToken.behaviour.js

@ -12,9 +12,6 @@ import "../../AddressUtils.sol";
contract ERC721BasicToken is ERC721Basic {
using SafeMath for uint256;
using AddressUtils for address;
// Gas allowed in calls to onERC721Received on safeTransfers
uint256 SAFE_TRANSFER_GAS_STIPEND = 50000;
// Equals to bytes4(keccak256("onERC721Received(address,uint256,bytes)"))
bytes4 ERC721_RECEIVED = 0xf0b9e5ba;
@ -91,7 +88,7 @@ contract ERC721BasicToken is ERC721Basic {
address owner = ownerOf(_tokenId);
require(_to != owner);
require(msg.sender == owner || isApprovedForAll(owner, msg.sender));
if (getApproved(_tokenId) != 0 || _to != 0) {
tokenApprovals[_tokenId] = _to;
Approval(owner, _to, _tokenId);
@ -277,6 +274,6 @@ contract ERC721BasicToken is ERC721Basic {
*/
function checkAndCallSafeTransfer(address _from, address _to, uint256 _tokenId, bytes _data) internal returns (bool) {
return !_to.isContract() ||
(ERC721Receiver(_to).onERC721Received.gas(SAFE_TRANSFER_GAS_STIPEND)(_from, _tokenId, _data) == ERC721_RECEIVED);
(ERC721Receiver(_to).onERC721Received(_from, _tokenId, _data) == ERC721_RECEIVED);
}
}

@ -245,7 +245,6 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) {
log.args._address.should.be.equal(owner);
log.args._tokenId.toNumber().should.be.equal(tokenId);
log.args._data.should.be.equal(data);
log.args._gas.toNumber().should.be.lessThan(50000);
});
});
};

Loading…
Cancel
Save