livepeer / livepeer/protocol

Implement the EIP-1167 standard for the deployment of on-chain polls

Open
#561 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
155
Forks
50
PR merge metrics
No merged PRs in 30d

Description

The [EIP-1167](https://eips.ethereum.org/EIPS/eip-1167) is a standard that allows to minimize the deployment cost of child contracts in a factory pattern by specifying a minimal bytecode.
OpenZeppelin provides a [library](https://docs.openzeppelin.com/contracts/4.x/api/proxy#Clones) to easily implement the EIP-1167 standard which we could use to decrease the deployment cost associated to the deployment of [on-chain poll contracts](https://github.com/livepeer/protocol/blob/confluence/contracts/polling/Poll.sol) from the [PollCreator factory](https://github.com/livepeer/protocol/blob/confluence/contracts/polling/PollCreator.sol#L33-L45).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the EIP-1167 specification and OpenZeppelin's Clones library, then inspect contracts/polling/Poll.sol and contracts/polling/PollCreator.sol around the factory deployment. Confirm how PollCreator creates on-chain poll contracts and identify the deployment change needed to use minimal proxies. Done means new polls follow EIP-1167 while retaining the existing poll behavior and reducing deployment cost.

Written by the indexing model from the issue text.

Assessment

Tech stack
solidity
Domain
blockchain
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.