ERC-8109: Diamonds, Simplified

This is disappointing because I was building on it. I remain strongly opposed to facet-level inspection and monolithic facets. In particular it should be possible to:

  • uninstall a method from a facet without deploying a new contract
  • install a subset of methods in a facet
  • utilize facets implementing overlapping selectors

It seems I must propose my own DispatchProxy standard. The design goal will be minimalism to promote extensibility while supporting wallets and block explorers with ABI. Perhaps erc-8153 and erc-2535 will be compatible extensions but that will not be the main priority.

Plan:

  • abandon all diamond jargon
  • singular configuration event (SetDelegate)

DM me if you want to collaborate.