Unverified Commit a7e91856 by Francisco Giordano Committed by GitHub

Update to Truffle 4.1.5 and Ganache 6.1.0 (#876)

* Update to ganache-cli v6.1.0 and truffle v4.1.0

* Update to stable version of ganache-cli

* fix: update event emission warning

- Fix event emission warnings for solidity 4.21 after truffle has been
updated to use this version

* fix pr review comments

* update to truffle v4.1.5

* update package-lock

* add additional emit keywords

* update solidity-coverage to 0.4.15

* update to solium 1.1.6

* fix MerkleProof coverage analysis by testing through wrapper

* change version pragma to ^0.4.21

* fix solium linting errors
parent 06666be9
......@@ -12,7 +12,7 @@
Next, we need to know what your environment looks like.
- Which version of OpenZeppelin are you using?
- What network are you deploying to? testrpc? Ganache? Ropsten?
- What network are you deploying to? Ganache? Ropsten?
- How are you deploying your OpenZeppelin-backed contracts? truffle? Remix? Let us know!
## 📝 Details
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./payment/PullPayment.sol";
......@@ -30,7 +30,7 @@ contract Bounty is PullPayment, Destructible {
function createTarget() public returns(Target) {
Target target = Target(deployContract());
researchers[target] = msg.sender;
TargetCreated(target);
emit TargetCreated(target);
return target;
}
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/*
......@@ -14,7 +14,7 @@ library MerkleProof {
* @param _root Merkle root
* @param _leaf Leaf of Merkle tree
*/
function verifyProof(bytes32[] _proof, bytes32 _root, bytes32 _leaf) public pure returns (bool) {
function verifyProof(bytes32[] _proof, bytes32 _root, bytes32 _leaf) internal pure returns (bool) {
bytes32 computedHash = _leaf;
for (uint256 i = 0; i < _proof.length; i++) {
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/ERC20.sol";
import "../math/SafeMath.sol";
......@@ -82,7 +82,7 @@ contract Crowdsale {
weiRaised = weiRaised.add(weiAmount);
_processPurchase(_beneficiary, tokens);
TokenPurchase(msg.sender, _beneficiary, weiAmount, tokens);
emit TokenPurchase(msg.sender, _beneficiary, weiAmount, tokens);
_updatePurchasingState(_beneficiary, weiAmount);
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../../math/SafeMath.sol";
import "../../ownership/Ownable.sol";
......@@ -26,7 +26,7 @@ contract FinalizableCrowdsale is TimedCrowdsale, Ownable {
require(hasClosed());
finalization();
Finalized();
emit Finalized();
isFinalized = true;
}
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../validation/TimedCrowdsale.sol";
import "../../token/ERC20/ERC20.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../../math/SafeMath.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../../../math/SafeMath.sol";
import "../../../ownership/Ownable.sol";
......@@ -43,14 +43,14 @@ contract RefundVault is Ownable {
function close() onlyOwner public {
require(state == State.Active);
state = State.Closed;
Closed();
emit Closed();
wallet.transfer(this.balance);
}
function enableRefunds() onlyOwner public {
require(state == State.Active);
state = State.Refunding;
RefundsEnabled();
emit RefundsEnabled();
}
/**
......@@ -61,6 +61,6 @@ contract RefundVault is Ownable {
uint256 depositedValue = deposited[investor];
deposited[investor] = 0;
investor.transfer(depositedValue);
Refunded(investor, depositedValue);
emit Refunded(investor, depositedValue);
}
}
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../Crowdsale.sol";
import "../../token/ERC20/ERC20.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../Crowdsale.sol";
import "../../token/ERC20/MintableToken.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../validation/TimedCrowdsale.sol";
import "../../math/SafeMath.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../../math/SafeMath.sol";
import "../Crowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../../math/SafeMath.sol";
import "../Crowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../../math/SafeMath.sol";
import "../Crowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../Crowdsale.sol";
import "../../ownership/Ownable.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../crowdsale/validation/CappedCrowdsale.sol";
import "../crowdsale/distribution/RefundableCrowdsale.sol";
......
pragma solidity ^0.4.11;
pragma solidity ^0.4.21;
import "../ownership/Heritable.sol";
......@@ -25,7 +25,7 @@ contract SimpleSavingsWallet is Heritable {
* @dev wallet can receive funds.
*/
function () public payable {
Received(msg.sender, msg.value, this.balance);
emit Received(msg.sender, msg.value, this.balance);
}
/**
......@@ -35,6 +35,6 @@ contract SimpleSavingsWallet is Heritable {
require(payee != 0 && payee != address(this));
require(amount > 0);
payee.transfer(amount);
Sent(payee, amount, this.balance);
emit Sent(payee, amount, this.balance);
}
}
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/StandardToken.sol";
......@@ -24,7 +24,7 @@ contract SimpleToken is StandardToken {
function SimpleToken() public {
totalSupply_ = INITIAL_SUPPLY;
balances[msg.sender] = INITIAL_SUPPLY;
Transfer(0x0, msg.sender, INITIAL_SUPPLY);
emit Transfer(0x0, msg.sender, INITIAL_SUPPLY);
}
}
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../ownership/Ownable.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../ownership/Ownable.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../ownership/Ownable.sol";
......@@ -36,7 +36,7 @@ contract Pausable is Ownable {
*/
function pause() onlyOwner whenNotPaused public {
paused = true;
Pause();
emit Pause();
}
/**
......@@ -44,6 +44,6 @@ contract Pausable is Ownable {
*/
function unpause() onlyOwner whenPaused public {
paused = false;
Unpause();
emit Unpause();
}
}
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../ownership/Ownable.sol";
import "../token/ERC20/ERC20Basic.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/ERC20.sol";
import "../crowdsale/emission/AllowanceCrowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/BasicToken.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/BurnableToken.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/ERC20.sol";
import "../crowdsale/validation/CappedCrowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../../contracts/DayLimit.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/StandardToken.sol";
import "../token/ERC20/DetailedERC20.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../ECRecovery.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/BasicToken.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC721/ERC721BasicToken.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC721/ERC721Receiver.sol";
......@@ -16,7 +16,7 @@ contract ERC721ReceiverMock is ERC721Receiver {
function onERC721Received(address _address, uint256 _tokenId, bytes _data) public returns(bytes4) {
require(!reverts);
Received(_address, _tokenId, _data, msg.gas);
emit Received(_address, _tokenId, _data, msg.gas);
return retval;
}
}
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC721/ERC721Token.sol";
......
pragma solidity ^0.4.13;
pragma solidity ^0.4.21;
import "../token/ERC827/ERC827Token.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/MintableToken.sol";
import "../crowdsale/distribution/FinalizableCrowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
// @title Force Ether into a contract.
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../../contracts/ownership/HasNoEther.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../crowdsale/price/IncreasingPriceCrowdsale.sol";
import "../math/SafeMath.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/ERC20.sol";
import "../crowdsale/validation/IndividuallyCappedCrowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import {Bounty, Target} from "../../contracts/Bounty.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../LimitBalance.sol";
......
pragma solidity ^0.4.21;
import { MerkleProof } from "../MerkleProof.sol";
contract MerkleProofWrapper {
function verifyProof(bytes32[] _proof, bytes32 _root, bytes32 _leaf) public pure returns (bool) {
return MerkleProof.verifyProof(_proof, _root, _leaf);
}
}
pragma solidity ^0.4.11;
pragma solidity ^0.4.21;
contract MessageHelper {
......@@ -6,7 +6,7 @@ contract MessageHelper {
event Show(bytes32 b32, uint256 number, string text);
function showMessage( bytes32 message, uint256 number, string text ) public returns (bool) {
Show(message, number, text);
emit Show(message, number, text);
return true;
}
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/MintableToken.sol";
import "../crowdsale/emission/MintedCrowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../lifecycle/Pausable.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/PausableToken.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/ERC20.sol";
import "../crowdsale/distribution/PostDeliveryCrowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../payment/PullPayment.sol";
......
pragma solidity ^0.4.8;
pragma solidity ^0.4.21;
import "../ownership/rbac/RBACWithAdmin.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
contract ReentrancyAttack {
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../ReentrancyGuard.sol";
import "./ReentrancyAttack.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/MintableToken.sol";
import "../crowdsale/distribution/RefundableCrowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/ERC20.sol";
import "../token/ERC20/SafeERC20.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../math/SafeMath.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import {Bounty, Target} from "../../contracts/Bounty.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/StandardToken.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/ERC20.sol";
import "../crowdsale/validation/TimedCrowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../ownership/Whitelist.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../token/ERC20/ERC20.sol";
import "../crowdsale/validation/WhitelistedCrowdsale.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./Ownable.sol";
import "../token/ERC20/ERC20Basic.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./Ownable.sol";
......@@ -32,7 +32,7 @@ contract Claimable is Ownable {
* @dev Allows the pendingOwner address to finalize the transfer.
*/
function claimOwnership() onlyPendingOwner public {
OwnershipTransferred(owner, pendingOwner);
emit OwnershipTransferred(owner, pendingOwner);
owner = pendingOwner;
pendingOwner = address(0);
}
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./Ownable.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./Claimable.sol";
......@@ -31,7 +31,7 @@ contract DelayedClaimable is Claimable {
*/
function claimOwnership() onlyPendingOwner public {
require((block.number <= end) && (block.number >= start));
OwnershipTransferred(owner, pendingOwner);
emit OwnershipTransferred(owner, pendingOwner);
owner = pendingOwner;
pendingOwner = address(0);
end = 0;
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./Ownable.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./Ownable.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./CanReclaimToken.sol";
......
pragma solidity ^0.4.11;
pragma solidity ^0.4.21;
import "./Ownable.sol";
......@@ -46,7 +46,7 @@ contract Heritable is Ownable {
function setHeir(address newHeir) public onlyOwner {
require(newHeir != owner);
heartbeat();
HeirChanged(owner, newHeir);
emit HeirChanged(owner, newHeir);
heir_ = newHeir;
}
......@@ -80,7 +80,7 @@ contract Heritable is Ownable {
*/
function proclaimDeath() public onlyHeir {
require(ownerLives());
OwnerProclaimedDead(owner, heir_, timeOfDeath_);
emit OwnerProclaimedDead(owner, heir_, timeOfDeath_);
timeOfDeath_ = block.timestamp;
}
......@@ -88,7 +88,7 @@ contract Heritable is Ownable {
* @dev Owner can send a heartbeat if they were mistakenly pronounced dead.
*/
function heartbeat() public onlyOwner {
OwnerHeartbeated(owner);
emit OwnerHeartbeated(owner);
timeOfDeath_ = 0;
}
......@@ -98,8 +98,8 @@ contract Heritable is Ownable {
function claimHeirOwnership() public onlyHeir {
require(!ownerLives());
require(block.timestamp >= timeOfDeath_ + heartbeatTimeout_);
OwnershipTransferred(owner, heir_);
HeirOwnershipClaimed(owner, heir_);
emit OwnershipTransferred(owner, heir_);
emit HeirOwnershipClaimed(owner, heir_);
owner = heir_;
timeOfDeath_ = 0;
}
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./HasNoEther.sol";
import "./HasNoTokens.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......@@ -35,7 +35,7 @@ contract Ownable {
*/
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
OwnershipTransferred(owner, newOwner);
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./Ownable.sol";
......@@ -31,7 +31,7 @@ contract Whitelist is Ownable {
function addAddressToWhitelist(address addr) onlyOwner public returns(bool success) {
if (!whitelist[addr]) {
whitelist[addr] = true;
WhitelistedAddressAdded(addr);
emit WhitelistedAddressAdded(addr);
success = true;
}
}
......@@ -59,7 +59,7 @@ contract Whitelist is Ownable {
function removeAddressFromWhitelist(address addr) onlyOwner public returns(bool success) {
if (whitelist[addr]) {
whitelist[addr] = false;
WhitelistedAddressRemoved(addr);
emit WhitelistedAddressRemoved(addr);
success = true;
}
}
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./Roles.sol";
......@@ -58,7 +58,7 @@ contract RBAC {
internal
{
roles[roleName].add(addr);
RoleAdded(addr, roleName);
emit RoleAdded(addr, roleName);
}
/**
......@@ -70,7 +70,7 @@ contract RBAC {
internal
{
roles[roleName].remove(addr);
RoleRemoved(addr, roleName);
emit RoleRemoved(addr, roleName);
}
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./RBAC.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../math/SafeMath.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "../math/SafeMath.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./ERC20Basic.sol";
......@@ -34,7 +34,7 @@ contract BasicToken is ERC20Basic {
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
Transfer(msg.sender, _to, _value);
emit Transfer(msg.sender, _to, _value);
return true;
}
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./BasicToken.sol";
......@@ -23,7 +23,7 @@ contract BurnableToken is BasicToken {
address burner = msg.sender;
balances[burner] = balances[burner].sub(_value);
totalSupply_ = totalSupply_.sub(_value);
Burn(burner, _value);
Transfer(burner, address(0), _value);
emit Burn(burner, _value);
emit Transfer(burner, address(0), _value);
}
}
pragma solidity ^0.4.11;
pragma solidity ^0.4.21;
import "./MintableToken.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./ERC20.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./ERC20Basic.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./StandardToken.sol";
import "../../ownership/Ownable.sol";
......@@ -31,8 +31,8 @@ contract MintableToken is StandardToken, Ownable {
function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
totalSupply_ = totalSupply_.add(_amount);
balances[_to] = balances[_to].add(_amount);
Mint(_to, _amount);
Transfer(address(0), _to, _amount);
emit Mint(_to, _amount);
emit Transfer(address(0), _to, _amount);
return true;
}
......@@ -42,7 +42,7 @@ contract MintableToken is StandardToken, Ownable {
*/
function finishMinting() onlyOwner canMint public returns (bool) {
mintingFinished = true;
MintFinished();
emit MintFinished();
return true;
}
}
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./StandardToken.sol";
import "../../lifecycle/Pausable.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./ERC20Basic.sol";
import "./ERC20.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./BasicToken.sol";
import "./ERC20.sol";
......@@ -30,7 +30,7 @@ contract StandardToken is ERC20, BasicToken {
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
Transfer(_from, _to, _value);
emit Transfer(_from, _to, _value);
return true;
}
......@@ -46,7 +46,7 @@ contract StandardToken is ERC20, BasicToken {
*/
function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
emit Approval(msg.sender, _spender, _value);
return true;
}
......@@ -72,7 +72,7 @@ contract StandardToken is ERC20, BasicToken {
*/
function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
......@@ -93,7 +93,7 @@ contract StandardToken is ERC20, BasicToken {
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./SafeERC20.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./ERC20Basic.sol";
import "./SafeERC20.sol";
......@@ -72,7 +72,7 @@ contract TokenVesting is Ownable {
token.safeTransfer(beneficiary, unreleased);
Released(unreleased);
emit Released(unreleased);
}
/**
......@@ -93,7 +93,7 @@ contract TokenVesting is Ownable {
token.safeTransfer(owner, refund);
Revoked();
emit Revoked();
}
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./ERC721.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./ERC721Basic.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./ERC721Basic.sol";
import "./ERC721Receiver.sol";
......@@ -94,7 +94,7 @@ contract ERC721BasicToken is ERC721Basic {
if (getApproved(_tokenId) != address(0) || _to != address(0)) {
tokenApprovals[_tokenId] = _to;
Approval(owner, _to, _tokenId);
emit Approval(owner, _to, _tokenId);
}
}
......@@ -116,7 +116,7 @@ contract ERC721BasicToken is ERC721Basic {
function setApprovalForAll(address _to, bool _approved) public {
require(_to != msg.sender);
operatorApprovals[msg.sender][_to] = _approved;
ApprovalForAll(msg.sender, _to, _approved);
emit ApprovalForAll(msg.sender, _to, _approved);
}
/**
......@@ -145,7 +145,7 @@ contract ERC721BasicToken is ERC721Basic {
removeTokenFrom(_from, _tokenId);
addTokenTo(_to, _tokenId);
Transfer(_from, _to, _tokenId);
emit Transfer(_from, _to, _tokenId);
}
/**
......@@ -216,7 +216,7 @@ contract ERC721BasicToken is ERC721Basic {
function _mint(address _to, uint256 _tokenId) internal {
require(_to != address(0));
addTokenTo(_to, _tokenId);
Transfer(address(0), _to, _tokenId);
emit Transfer(address(0), _to, _tokenId);
}
/**
......@@ -227,7 +227,7 @@ contract ERC721BasicToken is ERC721Basic {
function _burn(address _owner, uint256 _tokenId) internal {
clearApproval(_owner, _tokenId);
removeTokenFrom(_owner, _tokenId);
Transfer(_owner, address(0), _tokenId);
emit Transfer(_owner, address(0), _tokenId);
}
/**
......@@ -240,7 +240,7 @@ contract ERC721BasicToken is ERC721Basic {
require(ownerOf(_tokenId) == _owner);
if (tokenApprovals[_tokenId] != address(0)) {
tokenApprovals[_tokenId] = address(0);
Approval(_owner, address(0), _tokenId);
emit Approval(_owner, address(0), _tokenId);
}
}
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
import "./ERC721Receiver.sol";
......
pragma solidity ^0.4.18;
pragma solidity ^0.4.21;
/**
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment