Skip to content

Commit

Permalink
Simplify role assignment for accounts
Browse files Browse the repository at this point in the history
  • Loading branch information
shark0der committed Nov 3, 2022
1 parent 28bed7d commit 94cc491
Show file tree
Hide file tree
Showing 11 changed files with 30 additions and 64 deletions.
3 changes: 1 addition & 2 deletions test/integration/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@ async function setup() {

const CoverUtilsLib = await ethers.getContractFactory('CoverUtilsLib');

const signers = await ethers.getSigners();
const ethersAccounts = getAccounts(signers);
const ethersAccounts = await getAccounts();

// external
const WETH9 = await ethers.getContractFactory('WETH9');
Expand Down
3 changes: 1 addition & 2 deletions test/unit/Assessment/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,7 @@ async function setup() {
await individualClaims.initialize();
await yieldTokenIncidents.initialize();

const signers = await ethers.getSigners();
const accounts = getAccounts(signers);
const accounts = await getAccounts();
await master.enrollGovernance(accounts.governanceContracts[0].address);
for (const member of accounts.members) {
await master.enrollMember(member.address, 1); // Uses a different role value than IMemberRoles
Expand Down
6 changes: 2 additions & 4 deletions test/unit/Cover/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ const { Role } = require('../utils').constants;
const { hex, zeroPadRight } = require('../utils').helpers;

const getDeployAddressAfter = async txCount => {
const signers = await ethers.getSigners();
const { defaultSender } = getAccounts(signers);
const { defaultSender } = await getAccounts();
const transactionCount = await defaultSender.getTransactionCount();
const nextAddress = getContractAddress({
from: defaultSender.address,
Expand Down Expand Up @@ -136,8 +135,7 @@ async function setup() {
await master.setLatestAddress(hex('TC'), tokenController.address);
await master.setLatestAddress(hex('MC'), mcr.address);

const signers = await ethers.getSigners();
const accounts = getAccounts(signers);
const accounts = await getAccounts();

for (const member of accounts.members) {
await master.enrollMember(member.address, Role.Member);
Expand Down
3 changes: 1 addition & 2 deletions test/unit/CoverMigrator/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ async function setup() {
await tx.wait();
}

const signers = await ethers.getSigners();
const accounts = getAccounts(signers);
const accounts = await getAccounts();
await master.enrollGovernance(accounts.governanceContracts[0].address);

this.accounts = accounts;
Expand Down
3 changes: 1 addition & 2 deletions test/unit/IndividualClaims/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,7 @@ async function setup() {
await individualClaims.changeDependentContractAddress();
await individualClaims.initialize();

const signers = await ethers.getSigners();
const accounts = getAccounts(signers);
const accounts = await getAccounts();
await master.enrollGovernance(accounts.governanceContracts[0].address);
for (const member of accounts.members) {
await memberRoles.setRole(member.address, 2);
Expand Down
3 changes: 1 addition & 2 deletions test/unit/MemberRoles/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,7 @@ async function setup() {
]);
await Promise.all(masterInitTxs.map(x => x.wait()));

const signers = await ethers.getSigners();
const accounts = getAccounts(signers);
const accounts = await getAccounts();
await master.enrollGovernance(accounts.governanceContracts[0].address);

await memberRoles.changeMasterAddress(master.address);
Expand Down
3 changes: 1 addition & 2 deletions test/unit/StakingPool/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ async function setup() {
await mcr.deployed();
await mcr.setMCR(parseEther('600000'));

const signers = await ethers.getSigners();
const accounts = getAccounts(signers);
const accounts = await getAccounts();

const cover = await SPCoverProducts.deploy();
await cover.deployed();
Expand Down
3 changes: 1 addition & 2 deletions test/unit/SwapOperator/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ const instances = {};
async function setup() {
const [owner, governance] = await ethers.getSigners();

const signers = await ethers.getSigners();
let accounts = getAccounts(signers);
let accounts = await getAccounts();

const MasterMock = await ethers.getContractFactory('MasterMock');
const Pool = await ethers.getContractFactory('Pool');
Expand Down
3 changes: 1 addition & 2 deletions test/unit/TokenController/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ async function setup() {
const master = await MasterMock.deploy();
await master.deployed();

const signers = await ethers.getSigners();
const accounts = getAccounts(signers);
const accounts = await getAccounts();
const { internalContracts, members } = accounts;
const internal = internalContracts[0];

Expand Down
3 changes: 1 addition & 2 deletions test/unit/YieldTokenIncidents/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,7 @@ async function setup() {
await yieldTokenIncidents.changeDependentContractAddress();
await yieldTokenIncidents.initialize();

const signers = await ethers.getSigners();
const accounts = getAccounts(signers);
const accounts = await getAccounts();
await master.enrollGovernance(accounts.governanceContracts[0].address);
await memberRoles.setRole(accounts.advisoryBoardMembers[0].address, 1);
await memberRoles.setRole(accounts.advisoryBoardMembers[1].address, 1);
Expand Down
61 changes: 19 additions & 42 deletions test/utils/accounts.js
Original file line number Diff line number Diff line change
@@ -1,49 +1,26 @@
const { accounts } = require('hardhat');
const { accounts, ethers } = require('hardhat');

const [defaultSender] = accounts;
const nonMembers = accounts.slice(1, 5);
const members = accounts.slice(5, 10);
const advisoryBoardMembers = accounts.slice(10, 15);
const internalContracts = accounts.slice(15, 20);
const nonInternalContracts = accounts.slice(20, 25);
const governanceContracts = accounts.slice(25, 30);
const stakingPoolManagers = accounts.slice(30, 35);
const generalPurpose = accounts.slice(35); // 65 general purpose addresses
const assingRoles = accounts => ({
defaultSender: accounts[0],
nonMembers: accounts.slice(1, 5),
members: accounts.slice(5, 10),
advisoryBoardMembers: accounts.slice(10, 15),
internalContracts: accounts.slice(15, 20),
nonInternalContracts: accounts.slice(20, 25),
governanceContracts: accounts.slice(25, 30),
stakingPoolManagers: accounts.slice(30, 35),
emergencyAdmin: accounts[35],
generalPurpose: accounts.slice(36),
});

const getAccounts = accounts => {
const [defaultSender] = accounts;
const nonMembers = accounts.slice(1, 5);
const members = accounts.slice(5, 10);
const advisoryBoardMembers = accounts.slice(10, 15);
const internalContracts = accounts.slice(15, 20);
const nonInternalContracts = accounts.slice(20, 25);
const governanceContracts = accounts.slice(25, 30);
const stakingPoolManagers = accounts.slice(30, 35);
const emergencyAdmin = accounts[35];
const generalPurpose = accounts.slice(36); // 65 general purpose addresses
return {
defaultSender,
nonMembers,
members,
advisoryBoardMembers,
internalContracts,
nonInternalContracts,
governanceContracts,
stakingPoolManagers,
generalPurpose,
emergencyAdmin,
};
const getAccounts = async () => {
const accounts = await ethers.getSigners();
return assingRoles(accounts);
};

const accountRoles = assingRoles(accounts);

module.exports = {
getAccounts,
defaultSender,
nonMembers,
members,
advisoryBoardMembers,
internalContracts,
nonInternalContracts,
governanceContracts,
stakingPoolManagers,
generalPurpose,
...accountRoles,
};

0 comments on commit 94cc491

Please sign in to comment.