123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- const { time } = require('@openzeppelin/test-helpers');
- const { MAX_UINT64 } = require('./constants');
- const { artifacts } = require('hardhat');
- function buildBaseRoles() {
- const roles = {
- ADMIN: {
- id: web3.utils.toBN(0),
- },
- SOME_ADMIN: {
- id: web3.utils.toBN(17),
- },
- SOME_GUARDIAN: {
- id: web3.utils.toBN(35),
- },
- SOME: {
- id: web3.utils.toBN(42),
- },
- PUBLIC: {
- id: MAX_UINT64,
- },
- };
- // Names
- Object.entries(roles).forEach(([name, role]) => (role.name = name));
- // Defaults
- for (const role of Object.keys(roles)) {
- roles[role].admin = roles.ADMIN;
- roles[role].guardian = roles.ADMIN;
- }
- // Admins
- roles.SOME.admin = roles.SOME_ADMIN;
- // Guardians
- roles.SOME.guardian = roles.SOME_GUARDIAN;
- return roles;
- }
- const formatAccess = access => [access[0], access[1].toString()];
- const MINSETBACK = time.duration.days(5);
- const EXPIRATION = time.duration.weeks(1);
- let EXECUTION_ID_STORAGE_SLOT = 3n;
- let CONSUMING_SCHEDULE_STORAGE_SLOT = 0n;
- try {
- // Try to get the artifact paths, will throw if it doesn't exist
- artifacts._getArtifactPathSync('AccessManagerUpgradeable');
- artifacts._getArtifactPathSync('AccessManagedUpgradeable');
- // ERC-7201 namespace location for AccessManager
- EXECUTION_ID_STORAGE_SLOT += 0x40c6c8c28789853c7efd823ab20824bbd71718a8a5915e855f6f288c9a26ad00n;
- // ERC-7201 namespace location for AccessManaged
- CONSUMING_SCHEDULE_STORAGE_SLOT += 0xf3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00n;
- } catch (_) {
- // eslint-disable-next-line no-empty
- }
- module.exports = {
- buildBaseRoles,
- formatAccess,
- MINSETBACK,
- EXPIRATION,
- EXECUTION_ID_STORAGE_SLOT,
- CONSUMING_SCHEDULE_STORAGE_SLOT,
- };
|