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

Add Access Control to wager contract #21

Open
manlikeHB opened this issue Jan 21, 2025 · 36 comments
Open

Add Access Control to wager contract #21

manlikeHB opened this issue Jan 21, 2025 · 36 comments
Labels
Cairo language Contract difficulty: easy help wanted Extra attention is needed

Comments

@manlikeHB
Copy link
Contributor

Description:

Integrate OpenZeppelin's Access Control component to manage access to critical functions in the contract.

Requirements:

  • Add roles to the contract, such as ADMIN_ROLE.
  • Restrict access to the set_escrow_address function.
@beeguy74
Copy link

Hi, I am a beginner Cairo developer from Paris.
Closed 3 tasks totally on cairo during previos ODHACK 11.
I don't promise to finish the issue quickly because your project is new to me =)
But I intend to do a decent job and at least do the draft PR within 24 hours.
Could I try solving this?

@armaanansari121
Copy link

Hey, can I take this up? I've built various smart contracts which use the Ownable component.

ETA: 24 Hrs

@bitfalt
Copy link

bitfalt commented Jan 22, 2025

Hi! I'd love to work on this issue. I have experience using Cairo, finished a Starknet Bootcamp, Starklings and participated in a Starknet HackerHouse. I also have experience using RBAC (Role Based Access Control) with the OpenZeppelin library on Cairo as seen in the following PR: carbonable-labs/carbon-protocol-v3#78

@Macnelson9
Copy link

Is it okay if I take this?

@chiscookeke11
Copy link

I’d like to work on this.

@Akshola00
Copy link

Can I contribute to this one?
I have worked with open Zeppelin access control and ownership
I'm confident I can handle this
Pls assign

@wheval
Copy link

wheval commented Jan 22, 2025

Hello manlikeHB, I'm Wheval, I would love to contribute to StarkWager. I have experience in frontend development and also have been learning to write contracts and tests in Cairo.

I have written a couple contracts and tests in Cairo before.
I would add access control to the contract using OpenZeppellins library.

ETA is 1 day.

@omsant02
Copy link

i would like to take this issue

i will use openzeppelin's access control functionality

ETA : 1 day

@Jagadeeshftw
Copy link

Proposal to Work on the Issue

I am eager to contribute to this issue and believe I am well-suited for the task, given my extensive experience in Cairo programming and building decentralized applications on StarkNet. My expertise spans across multiple domains crucial for this implementation:

  • Smart Contracts & Blockchain Development: Proven expertise in StarkNet, Stellar, and Rust, with hands-on experience in developing secure and efficient smart contracts, blockchain integrations, and high-performance backend systems.
  • Backend Engineering: Strong background in designing and managing scalable APIs, handling server-side operations, and ensuring robust backend performance for blockchain applications.
  • Frontend Development: Proficient in building intuitive and responsive frontend interfaces using React and Next.js, ensuring seamless interaction between users and blockchain-based applications.

Why Assign This to Me?

I have a track record of delivering high-quality solutions efficiently, with a deep understanding of smart contract security, decentralized architectures, and full-stack development. My ability to bridge frontend, backend, and blockchain components ensures a well-rounded, optimized solution.

Estimated Timeline

I anticipate delivering a fully functional solution within 24 hours. Please let me know if I can proceed.

I am excited about the opportunity to contribute and look forward to collaborating!

Best regards,
Jagadeesh B

@ryzen-xp
Copy link

Can I handle this task?

@1nonlypiece
Copy link

Application for Contribution

I am excited about the opportunity to contribute to this issue and am confident that my expertise aligns well with the requirements. With a strong background in Cairo programming and decentralized application development on StarkNet, I bring a well-rounded skill set to deliver an effective solution.

Relevant Expertise

  • Blockchain & Smart Contracts: Extensive experience with StarkNet, Stellar, and Rust, specializing in developing secure and optimized smart contracts, blockchain integrations, and high-performance backend infrastructure.
  • Backend Development: Well-versed in API design, server-side logic, and scalable system architecture, ensuring efficient and seamless backend performance.
  • Frontend Engineering: Skilled in crafting interactive and responsive UI components using React and Next.js, enhancing the user experience for blockchain-based platforms.

Why Consider My Application?

My proven track record of delivering high-quality, optimized solutions in blockchain and full-stack development sets me apart. I have a deep understanding of smart contract security, decentralized architectures, and the synergy between frontend, backend, and blockchain layers—ensuring a seamless and efficient implementation.

ETA

I expect to have a working solution ready within 48 hours. Please let me know if I can proceed with the implementation.

@ShantelPeters
Copy link

I’d like to resolve this.

@suhas-sensei
Copy link

Can I try solving this issue i have experience in writing in cairo and would love to work on this.

@Supa-mega
Copy link
Contributor

Can I attempt this issue?

@codebestia
Copy link

Can i work on this? @manlikeHB
I am a blockchain developer with good experience with cairo, rust and solidity.

How i will handle this

  • Fork this repo and create a branch for this issue.
  • I will integrate the openzepplin access control component to manage access control to specific functions.
  • I will add the admin role to the contract ie const ADMIN_ROLE: felt252 = selector!("ADMIN");
  • I will restrict access to set_escrow_address function by calling in the function self.accesscontrol.assert_only_role(ADMIN_ROLE); which raises an error if the caller does not have the ADMIN_ROLE.
  • I will test to ensure the implementation works properly.
  • I will Open a PR within 12 hours of assignment.

@LaGodxy
Copy link

LaGodxy commented Jan 23, 2025

Hello, @manlikeHB , I am a skilled software developer with expertise in smart contract development and blockchain integration. I have hands-on experience working on Cairo contracts and am currently integrating OpenZeppelin components for secure access control. My experience includes adding role-based access management, such as ADMIN_ROLE, and restricting critical functions like set_escrow_address to authorized users. With a strong foundation in both front-end and back-end development, including React, Node.js, and SQL databases, I am well-equipped to efficiently implement this task while ensuring precision and professionalism.

ETA: 6hrs after being assigned.

@LaGodxy

@caxtonacollins
Copy link

I'd love to work on this!

@greatest0fallt1me
Copy link

Proposal to Address the Issue

Hello! I’m thrilled at the opportunity to work on this issue and am confident that I can provide a solution that not only addresses the requirements but also adds value to the project. My experience in blockchain development and StarkNet ecosystems equips me to deliver a robust and efficient implementation.

My Unique Edge

  • Cairo Proficiency:
    Having worked extensively with Cairo, I excel at crafting gas-efficient, secure, and modular smart contracts, tailored for StarkNet’s scalability.

  • End-to-End Development:
    My expertise bridges the gap between smart contract engineering and full-stack application development, ensuring seamless blockchain integration.

  • Team Collaboration:
    I have a history of working closely with maintainers, adapting to project standards, and contributing to long-term maintainability.

Why This Matters to Me

I’m passionate about the innovative potential of StarkNet and the broader blockchain space. This issue aligns perfectly with my skills and interests, and I’m committed to delivering a solution that will enhance the project’s impact.

Immediate Action Plan

If assigned, I’ll initiate work immediately and aim to deliver the first draft within 36 hours. I’m flexible and open to feedback to ensure the solution aligns with project expectations.

Looking forward to your approval and the chance to contribute!

@mimiprosper
Copy link

I would like to take this task. Am a web 2 frontend developer, a technical writer, a solidity smart contract developer/auditor and a cairo smart contract developer. Am a graduate of Starknet Cairo Bootcamp. I also write Rust programs. I have successfully done tasks assigned to me in OnlyDust.
If assigned this i would complete it within 2 days.

Here are some articles i have written: https://medium.com/@emma.onyedika.okeke

@Joewizy
Copy link

Joewizy commented Jan 24, 2025

I would love to contribute on this project and I am very familiar with using popular libraries like openZeppelin

@Xaxxoo
Copy link
Contributor

Xaxxoo commented Jan 25, 2025

Hi,

I am a backend developer with so much live for expressjs. I have 6 years experience in backend programming and I would like to handle this issue.

Thank you.

ETA: 36 hours

@Nityam573
Copy link

Can I attempt this issue?

@ekumamatthew
Copy link

Could I take over this issue?

@ussyalfaks
Copy link

Can I take on the task of integrating OpenZeppelin's Access Control component into the contract to manage access to critical functions? I will define roles such as ADMIN_ROLE and restrict access to specific functions, like set_escrow_address, to ensure proper permissions.

@savagechucks
Copy link

Let me try this one!
I'm confident I can take on this issue. Assign me!!

@Yunusabdul38
Copy link

I'd be happy to do this.

@od-hunter
Copy link
Contributor

Hi, please can I be assigned this please? I would love to be the given the opportunity to solve this issue please. I have experience in html, css, JavaScript, TypeScript and cairo.

@Cyber-Mitch
Copy link

Hi, my name is Reentrancy. I’m a software engineer and blockchain developer with experience in Cairo, Solidity, JavaScript, TypeScript, Rust, and Java. I’m also a security researcher, and this is my first time contributing on OnlyDust. I’m excited to work on this project and contribute to the StarkWager contracts.

To solve this issue, I’ll integrate OpenZeppelin’s Access Control component to manage roles and permissions. First, I’ll define the ADMIN_ROLE using OpenZeppelin’s role management system and initialize it in the contract’s constructor, assigning it to the deployer address. Next, I’ll restrict access to the set_escrow_address function by adding the onlyRole(ADMIN_ROLE) modifier, ensuring only addresses with the ADMIN_ROLE can call this function.

@michojekunle
Copy link

Hi, I'm a new contributor here

Can I attempt this issue?

I have experience writing cairo smart contracts

ETA: 24 hours

@khingdave
Copy link

I’d like to help with this.

@Birdmannn
Copy link
Contributor

Can I attempt this issue?

@TobieTom
Copy link

Could I take over this issue? I am relatively new and eager to add on to my current experience

@Snehagupta1907
Copy link

Can I take care of this issue?

@B-uchi
Copy link

B-uchi commented Feb 9, 2025

Let me handle this issue!

@enyinnaya1234
Copy link

Hi, My name is Enyinnaya Wisdom. I am very proficient in javascript and typescript with years of experience solving problems using both languages. This is my first time contributing on this platform, but i am very confident that i can solve this task. Can you please assign

@jaiminRaiyani
Copy link
Contributor

Could I be assigned to this?

@manlikeHB manlikeHB added help wanted Extra attention is needed and removed ODBoost labels Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Cairo language Contract difficulty: easy help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests