Replies: 3 comments 8 replies
-
The last time I discussed this with @zgorizzo69 I pointed out that we should have another solution for our token related contracts, so perhaps UUPS. I think code consistency is nice but it's not clear to me how to use Diamond for token related contracts if they all have similar function signatures. So I guess that leaves UUPS which I also don't know all too much about. |
Beta Was this translation helpful? Give feedback.
-
To keep consistency with the project/codebase I agree in keep developing thru diamonds, and face it's underlying issues, with ideas, ticket issues, and solutions and perhaps give room to a new repo within the org to implement UUPS on some of the contracts, but i think we should not mix both. So the 2nd. makes sense to me! The 1st, since we are not production ready. There's openness for issue tickets, and new repo to implement the tokens on a local dev test env |
Beta Was this translation helpful? Give feedback.
-
Ok, so there is no consensus regarding Diamond vs UUPS. I'm actually ok with both approaches (with UUPS we get simplicity, with Diamond we get code consistency). I remember @zgorizzo69 mentioned some points in favour of UUPS. So the winner seems to be UUPS (2.5 votes vs 1.5 votes) |
Beta Was this translation helpful? Give feedback.
-
Right now we use we diamond proxy pattern for most of our contracts to make them upgradable.
However we can't put all of our contracts in a single diamond because of selector clashing (i.e. diamond proxy supports only unique function names). So some of our contracts are not upgradable right now. This should be fixed.
We have 2 options:
So UUPS is simpler to implement but we end up with code inconsistency when part of our contracts is implementing diamond and the other part is implementing UUPS. I would prefer consistency and use diamond for all of the contracts (i.e. for each of the contracts here create a separate diamond with a single facet).
@zgorizzo69 @0xcodercrane @molecula451 @pavlovcik
What do you think?
Beta Was this translation helpful? Give feedback.
All reactions