Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(contract): add ScrollOwner #586

Merged
merged 9 commits into from Aug 16, 2023
Merged

feat(contract): add ScrollOwner #586

merged 9 commits into from Aug 16, 2023

Conversation

zimpha
Copy link
Member

@zimpha zimpha commented Jun 19, 2023

Purpose or design rationale of this PR

This PR add a ScrollOwner contract which has multiple roles to manage other scroll contracts.

PR title

Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:

  • build: Changes that affect the build system or external dependencies (example scopes: yarn, eslint, typescript)
  • ci: Changes to our CI configuration files and scripts (example scopes: vercel, github, cypress)
  • docs: Documentation-only changes
  • feat: A new feature
  • fix: A bug fix
  • perf: A code change that improves performance
  • refactor: A code change that doesn't fix a bug, or add a feature, or improves performance
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • test: Adding missing tests or correcting existing tests

Deployment tag versioning

Has tag in common/version.go been updated?

  • No, this PR doesn't involve a new deployment, git tag, docker image tag
  • Yes

Breaking change label

Does this PR have the breaking-change label?

  • No, this PR is not a breaking change
  • Yes

@zimpha zimpha requested review from Thegaram and iczc June 19, 2023 03:54
@github-actions
Copy link

github-actions bot commented Jun 19, 2023

LCOV of commit cbfafa4 during Contracts #1283

Summary coverage rate:
  lines......: 52.7% (914 of 1733 lines)
  functions..: 70.4% (207 of 294 functions)
  branches...: no data found

Files changed coverage rate: n/a

contracts/src/misc/ScrollOwner.sol Show resolved Hide resolved
contracts/src/misc/ScrollOwner.sol Outdated Show resolved Hide resolved
contracts/src/misc/ScrollOwner.sol Outdated Show resolved Hide resolved
contracts/src/misc/ScrollOwner.sol Outdated Show resolved Hide resolved
@icemelon icemelon requested a review from maxwolff June 22, 2023 22:51
@maxwolff
Copy link
Contributor

im not sure what the intention for this contract is, but one way i could see this making sense:

use ScrollOwner to replace the forwarder contract (#528). Have an Owner (admin with no timelock) for low value functions, an Admin (security council multisig behind timelock) and superAdmin (scroll multisig behind timelock, which can also change the other roles). i dont think there should be a seperate DEFAULT_ADMIN, its a very powerful role (change other permissions) and to echo Peter, maybe this role should just be the SuperAdmin.

Other wise i think the permissions per byte4 make sense will review more closely

contracts/src/misc/ScrollOwner.sol Outdated Show resolved Hide resolved
contracts/src/misc/ScrollOwner.sol Outdated Show resolved Hide resolved
@zimpha
Copy link
Member Author

zimpha commented Jul 5, 2023

Now only have two roles: OwnerRole and DefaultAdminRole. The DefaultAdminRole can access all method.

@zimpha zimpha self-assigned this Jul 6, 2023
@icemelon icemelon merged commit 623213a into develop Aug 16, 2023
@icemelon icemelon deleted the feat/contract_owner branch August 16, 2023 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants