feat: init ethereum#3
Conversation
tom2o17
left a comment
There was a problem hiding this comment.
This Looks good to me.
I am curious if we can just have the latest live implementation be in this repo. Eg FrxUSD3 -> FrxUSD similarly with the interfaces
It would be huge if we could have all other dev repos pull the latest commit of this repo and then not have to worry about refactoring deployment scrips/test cases just to change frxUSD3 -> frxUSD4,
Ideally moving forward we will just extend the exiting ABI so it should be fine
|
If we do something like:
Pros:
Cons:
With what you're proposing I see the code for each feature existing in the same contract. In this case we:
Pros:
Cons:
I think my love for inheritances may be getting the best of me here, and that you may be on to something. If we go the route you're proposing, how do you suggest we handle the code being audited which inherits older |
|
@pegahcarter Yes or I am saying that we could just keep the contracts segregated and then just have contract FrxUSD is FrxUSD4 { // }and then we just pin the current prod version so this. We can either do the above or just have FrxUSD be the latest verion. I think it is less important to have each single contract version as opposed to having a single source of truth for the current production version for all downstream repos which will read in this package. EG I do not want to have to edit the tests in the downstream child repo when we update from FrxUSD4 -> FrxUSD5 lmk if that makes sense also happy to open a PR on this branch |
|
I totally agree that we shouldn't have to edit tests in the dowstream child repo. And now I get what you're saying about the single source inheriting the versions. Yeah, take a stab at it with a PR off this branch! I'd like to see what you'll come up with. |
|
Related conflict: FraxFinance/frax-standard-solidity#31 |
tom2o17
left a comment
There was a problem hiding this comment.
Merging init-repo into this branch did not seem to cause any dependency compilation errors.
|
I'm talking about the conflicts that must be resolved. I think we have to bite the bullet with a unpinned OZ import unless you have any other suggestions. |
4bc73a8 to
460155b
Compare
* chore: rm Counter * build: oz 5.3 * build: prb, solmate * chore: mv frxUSD interface to frxUSD dir * feat: sfrxUSD(1-2) * feat: base interfaces dir * chore: rm ITimelock2Step * build: oz 5.3 * chore: mv frxUSD interface to frxUSD dir * feat: base interfaces dir * chore: rm ITimelock2Step * FrxUSD Versioning Suggestion (#5) --------- Co-authored-by: Thomas Clement <88335455+tom2o17@users.noreply.github.com>
Needs your review @FortisFortuna @tom2o17. I went off your suggestion @FortisFortuna in #1 with the interfaces structure for this PR and am a fan. Will likely refactor the other dirs to the same once consensus is reached.