OriginProtocol / OriginProtocol/origin-dollar

Tool for comparing contracts configuration

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

Nobody has claimed this yet.

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

Description

Recently we realized a vault setting (the liquidationThreshold) was not initialized after the relaunch.
It would be nice to have a tool that we can run to compare contracts settings between versions.

We have the hardhat debug task that dumps all the settings.
Some possible approaches:

  1. commit to the repo the output of the debug task after each new deploy OR
  2. modify the debug task to add the capability to run at a specified block number to allow to compare current vs older settings. This might be a bit more challenging since as we upgrade the contracts we add new settings that would not be queryable at older block numbers. Also contract addresses change during upgrades.

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 with contracts/tasks/debug.js, which currently dumps contract settings. Compare the two proposed approaches: committed debug output after each deployment, or a block-number option for comparing current and older settings. Account for settings added later and contract addresses changing during upgrades; done means the tool reliably exposes configuration differences between versions.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.