When there is enough smart contract functionality that you want at the same address, with different sets of functionality, that access some of the same state variables, then a diamond is useful to organize and implement this.

![]() |
submitted by /u/mudgen [link] [comments] |