From a811a0be288ae5344ff51f2889022290e6e1dbce Mon Sep 17 00:00:00 2001 From: Aniket <30843294+Aniket-Engg@users.noreply.github.com> Date: Tue, 9 Oct 2018 22:02:45 +0530 Subject: [PATCH] Improves Ownable events (#1397) * signing prefix added * Minor improvement * Tests changed * Successfully tested * Minor improvements * Minor improvements * Revert "Dangling commas are now required. (#1359)" This reverts commit a6889776f46adca374b6ebf014aa7b0038112a9d. * updates * fixes #1392 * event tests added * constructor event added (cherry picked from commit af42c39e6cb835b220c2ce8ef6247f074707baf7) --- contracts/ownership/Ownable.sol | 5 ++--- test/ownership/Ownable.behavior.js | 8 ++++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/contracts/ownership/Ownable.sol b/contracts/ownership/Ownable.sol index e7d2810de..742321b50 100644 --- a/contracts/ownership/Ownable.sol +++ b/contracts/ownership/Ownable.sol @@ -9,8 +9,6 @@ pragma solidity ^0.4.24; contract Ownable { address private _owner; - - event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner @@ -23,6 +21,7 @@ contract Ownable { */ constructor() public { _owner = msg.sender; + emit OwnershipTransferred(address(0), _owner); } /** @@ -54,7 +53,7 @@ contract Ownable { * modifier anymore. */ function renounceOwnership() public onlyOwner { - emit OwnershipRenounced(_owner); + emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } diff --git a/test/ownership/Ownable.behavior.js b/test/ownership/Ownable.behavior.js index eac3c10ce..baf609c57 100644 --- a/test/ownership/Ownable.behavior.js +++ b/test/ownership/Ownable.behavior.js @@ -1,5 +1,6 @@ const { expectThrow } = require('../helpers/expectThrow'); const { EVMRevert } = require('../helpers/EVMRevert'); +const expectEvent = require('../helpers/expectEvent'); const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; @@ -14,7 +15,8 @@ function shouldBehaveLikeOwnable (owner, [anyone]) { it('changes owner after transfer', async function () { (await this.ownable.isOwner({ from: anyone })).should.be.equal(false); - await this.ownable.transferOwnership(anyone, { from: owner }); + const { logs } = await this.ownable.transferOwnership(anyone, { from: owner }); + expectEvent.inLogs(logs, 'OwnershipTransferred'); (await this.ownable.owner()).should.equal(anyone); (await this.ownable.isOwner({ from: anyone })).should.be.equal(true); @@ -29,7 +31,9 @@ function shouldBehaveLikeOwnable (owner, [anyone]) { }); it('loses owner after renouncement', async function () { - await this.ownable.renounceOwnership({ from: owner }); + const { logs } = await this.ownable.renounceOwnership({ from: owner }); + expectEvent.inLogs(logs, 'OwnershipTransferred'); + (await this.ownable.owner()).should.equal(ZERO_ADDRESS); });