Events added to Secondary (#1425)
* Update contracts/ownership/Secondary.sol * Update Secondary.sol * Update Secondary.test.js * Update Secondary.test.js * Update Secondary.sol
This commit is contained in:
@ -7,11 +7,16 @@ pragma solidity ^0.4.24;
|
||||
contract Secondary {
|
||||
address private _primary;
|
||||
|
||||
event PrimaryTransferred(
|
||||
address recipient
|
||||
);
|
||||
|
||||
/**
|
||||
* @dev Sets the primary account to the one that is creating the Secondary contract.
|
||||
*/
|
||||
constructor() internal {
|
||||
_primary = msg.sender;
|
||||
emit PrimaryTransferred(_primary);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -22,13 +27,20 @@ contract Secondary {
|
||||
_;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the address of the primary.
|
||||
*/
|
||||
function primary() public view returns (address) {
|
||||
return _primary;
|
||||
}
|
||||
|
||||
/**
|
||||
* @dev Transfers contract to a new primary.
|
||||
* @param recipient The address of new primary.
|
||||
*/
|
||||
function transferPrimary(address recipient) public onlyPrimary {
|
||||
require(recipient != address(0));
|
||||
|
||||
_primary = recipient;
|
||||
emit PrimaryTransferred(_primary);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
const shouldFail = require('../helpers/shouldFail');
|
||||
const expectEvent = require('../helpers/expectEvent');
|
||||
const { ZERO_ADDRESS } = require('../helpers/constants');
|
||||
|
||||
const SecondaryMock = artifacts.require('SecondaryMock');
|
||||
@ -27,7 +28,8 @@ contract('Secondary', function ([_, primary, newPrimary, anyone]) {
|
||||
|
||||
describe('transferPrimary', function () {
|
||||
it('makes the recipient the new primary', async function () {
|
||||
await this.secondary.transferPrimary(newPrimary, { from: primary });
|
||||
const { logs } = await this.secondary.transferPrimary(newPrimary, { from: primary });
|
||||
expectEvent.inLogs(logs, 'PrimaryTransferred', { recipient: newPrimary });
|
||||
(await this.secondary.primary()).should.equal(newPrimary);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user