OriginProtocol / OriginProtocol/origin-dollar

Repo consolidation for Governance and OUSD contracts

Open
#1,097 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

P4
Dominant language
Solidity
Stars
152
Forks
115
Avg merge
3d 20h
Merged PRs (30d)
17

Description

Having governance contracts in a separate repo from ousd makes the testing harder. We'd like to consolidate all the contracts under the ousd repo.

TODO

  • Move governance contracts over to the OUSD repo
  • Rewrite governance brownie tests to hardhat
  • Use hardhat moving forward for governance contract deploys
  • Verify that storing of storage slot layouts and asserting newly deployed contract storage slots are not colliding works

Caveat: governance and ousd contracts use different versions for

  • Solidity
  • Open Zeppelin contracts
    We'd like to preserve that so that we don't have to re-deploy all the contracts.

Contributor guide

No contributing guide indexed for this repository

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

Start by inventorying the governance contracts, Brownie tests, and deployment entry points that need to move into the OUSD repository. Read contracts/utils/deploy.js, especially its storage-slot handling, and compare the Solidity and OpenZeppelin versions used by governance and OUSD. Done means the contracts are consolidated, governance tests and deploys use Hardhat, and storage layouts remain compatible without redeployment.

Written by the indexing model from the issue text.

Assessment

Tech stack
solidity
Domain
blockchain, build-system
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.