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

Implement Access Control Contracts #51

Open
raduciobanu22 opened this issue Dec 11, 2024 · 9 comments · May be fixed by #55
Open

Implement Access Control Contracts #51

raduciobanu22 opened this issue Dec 11, 2024 · 9 comments · May be fixed by #55
Assignees
Labels

Comments

@raduciobanu22
Copy link
Collaborator

Objective
Authorization and permission management are foundational to smart contract security. Access control determines which addresses can execute sensitive operations like managing funds, updating system parameters, or triggering protocol-critical functions. The objective is to implement a set of contracts that allows us to manage access control in safe, easy and flexible way.

References
OpenZeppelin: https://docs.openzeppelin.com/contracts/5.x/access-control

Scope of Work
Implement contracts that cover the following key access concepts:

  1. Ownership
  • Single account based access control for administrative actions
  • Secure ownership transfer mechanism. Optional: two-step process (propose and accept)
  • Ability to renounce ownership with proper safeguards
  1. Role-based access control
  • Support for multiple roles with hierarchical permissions
  • Dynamic role assignment and revocation capabilities
  • Role admin system where each role can have dedicated role managers
  • Events emission for role changes and administrative actions
  1. Time-lock
  • Delayed execution mechanism for sensitive operations
  • Configurable delay periods for different operation types
  • Ability to cancel pending operations before execution
  • Queue management for scheduled operations

Requirements

  • Code should be efficient, modular, and compatible with Ralph's framework to allow for future expansion.
  • Develop a comprehensive test suite covering unit tests, edge cases, and full integration for all core functionalities.
  • Composability is critical
@Jagadeeshftw
Copy link

Hi @raduciobanu22 ,
I’d love to work on this issue. Please assign this to me, and I’ll deliver an efficient and secure PR within 1 day
This is my approach:
I will use OpenZeppelin’s Access Control framework to implement modular contracts for ownership, role-based permissions, and time-lock mechanisms.
comprehensive testing will ensure security, flexibility, and compatibility with Ralph's framework.

@raduciobanu22 raduciobanu22 changed the title Implement Access Control contracts Implement Access Control Contracts Dec 11, 2024
@Tzienom
Copy link

Tzienom commented Dec 12, 2024

Hi. I would love to work on this issue.

@SoarinSkySagar
Copy link

may i work on this issue @raduciobanu22?

This will be my first time writinng ralph contract but I already have experience with other languages with similar syntax so I will get it done.

eta: 5 days

@raduciobanu22
Copy link
Collaborator Author

may i work on this issue @raduciobanu22?

This will be my first time writinng ralph contract but I already have experience with other languages with similar syntax so I will get it done.

eta: 5 days

Good luck!

@SoarinSkySagar
Copy link

may i work on this issue @raduciobanu22?
This will be my first time writinng ralph contract but I already have experience with other languages with similar syntax so I will get it done.
eta: 5 days

Good luck!

thank you @raduciobanu22

@zintarh
Copy link

zintarh commented Dec 12, 2024

I'd like to handle this task.

@Akshola00
Copy link

Hello,
I’m Akinshola Akinniyi, a smart contract developer specializing in security and access control. I prioritize secure access to protect funds and operations.

For ownership, I’ll implement a secure account-based control system with a two-step transfer process and safeguards against accidental ownership renouncement. For role-based access, I'll create multiple roles with hierarchical permissions, dynamic assignment, and revocation, along with event tracking for role changes.

I look forward to efficiently contributing to this project!

@mimisavage
Copy link

Could I grab this task?

@Belloabraham121
Copy link

Hey! I'm Iteooluwakisi.
Member of Web3Bridge. I have contributed before to other projects like:
• CoinSafe
• Scaffold-ETH
• BuidlGuidl

I am a frontend developer, proficient in ReactJS/NextJS, TypeScript, Solidity, and Cairo.

Can I work on this issue?

Plan to Solve the Issue:

Study the codebase to understand the current structure and functionality.
Understand the problem that needs to be solved by thoroughly reading the issue details.
Leverage all provided resources within the issue to get a better grasp of the task at hand.
If I encounter roadblocks, I will ask questions ASAP in the relevant group/chat to move forward effectively.
I will open a PR and wait for your feedback.

@SoarinSkySagar SoarinSkySagar linked a pull request Dec 13, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants