Update docs
This commit is contained in:
@ -267,7 +267,7 @@ function shouldBehaveLikeAccessControlDefaultAdminRules(errorPrefix, delay, defa
|
||||
[0, 'exactly when'],
|
||||
[1, 'after'],
|
||||
]) {
|
||||
it(`returns pending admin and delay ${tag} delay schedule passes if not accepted`, async function () {
|
||||
it(`returns pending admin and schedule ${tag} it passes if not accepted`, async function () {
|
||||
// Wait until schedule + fromSchedule
|
||||
const { schedule: firstSchedule } = await this.accessControl.pendingDefaultAdmin();
|
||||
await time.setNextBlockTimestamp(firstSchedule.toNumber() + fromSchedule);
|
||||
@ -279,7 +279,7 @@ function shouldBehaveLikeAccessControlDefaultAdminRules(errorPrefix, delay, defa
|
||||
});
|
||||
}
|
||||
|
||||
it('returns 0 after delay schedule passes and the transfer was accepted', async function () {
|
||||
it('returns 0 after schedule passes and the transfer was accepted', async function () {
|
||||
// Wait after schedule
|
||||
const { schedule: firstSchedule } = await this.accessControl.pendingDefaultAdmin();
|
||||
await time.setNextBlockTimestamp(firstSchedule.addn(1));
|
||||
@ -621,14 +621,15 @@ function shouldBehaveLikeAccessControlDefaultAdminRules(errorPrefix, delay, defa
|
||||
});
|
||||
|
||||
describe('renounces admin', function () {
|
||||
let expectedSchedule;
|
||||
let delayPassed;
|
||||
let delayNotPassed;
|
||||
|
||||
beforeEach(async function () {
|
||||
await this.accessControl.beginDefaultAdminTransfer(constants.ZERO_ADDRESS, { from: defaultAdmin });
|
||||
delayPassed = web3.utils
|
||||
.toBN(await time.latest())
|
||||
.add(delay)
|
||||
.addn(1);
|
||||
expectedSchedule = web3.utils.toBN(await time.latest()).add(delay);
|
||||
delayNotPassed = expectedSchedule;
|
||||
delayPassed = expectedSchedule.addn(1);
|
||||
});
|
||||
|
||||
it('reverts if caller is not default admin', async function () {
|
||||
@ -639,6 +640,15 @@ function shouldBehaveLikeAccessControlDefaultAdminRules(errorPrefix, delay, defa
|
||||
);
|
||||
});
|
||||
|
||||
it("renouncing the admin role when not an admin doesn't affect the schedule", async function () {
|
||||
await time.setNextBlockTimestamp(delayPassed);
|
||||
await this.accessControl.renounceRole(DEFAULT_ADMIN_ROLE, other, { from: other });
|
||||
|
||||
const { newAdmin, schedule } = await this.accessControl.pendingDefaultAdmin();
|
||||
expect(newAdmin).to.equal(constants.ZERO_ADDRESS);
|
||||
expect(schedule).to.be.bignumber.equal(expectedSchedule);
|
||||
});
|
||||
|
||||
it('keeps defaultAdmin consistent with hasRole if another non-defaultAdmin user renounces the DEFAULT_ADMIN_ROLE', async function () {
|
||||
await time.setNextBlockTimestamp(delayPassed);
|
||||
|
||||
@ -660,6 +670,9 @@ function shouldBehaveLikeAccessControlDefaultAdminRules(errorPrefix, delay, defa
|
||||
account: defaultAdmin,
|
||||
});
|
||||
expect(await this.accessControl.owner()).to.equal(constants.ZERO_ADDRESS);
|
||||
const { newAdmin, schedule } = await this.accessControl.pendingDefaultAdmin();
|
||||
expect(newAdmin).to.eq(ZERO_ADDRESS);
|
||||
expect(schedule).to.be.bignumber.eq(ZERO);
|
||||
});
|
||||
|
||||
it('allows to recover access using the internal _grantRole', async function () {
|
||||
@ -674,12 +687,6 @@ function shouldBehaveLikeAccessControlDefaultAdminRules(errorPrefix, delay, defa
|
||||
});
|
||||
|
||||
describe('schedule not passed', function () {
|
||||
let delayNotPassed;
|
||||
|
||||
beforeEach(function () {
|
||||
delayNotPassed = delayPassed.subn(1);
|
||||
});
|
||||
|
||||
for (const [fromSchedule, tag] of [
|
||||
[-1, 'less'],
|
||||
[0, 'equal'],
|
||||
|
||||
Reference in New Issue
Block a user