This is a very good initiative. For the curious out here, it will be interesting to have a reference of the bytecode savings for switching from old revert strings (for example in ERC20) to error messages.
Thanks for your comments! Actually, I just made a quick repo test for comparing the gas savings.
You can find them here.
Look at the differences between custom errors and short strings vs long strings, which are the majority of the cases
TLDR is that EIP-6093’s custom errors are better in gas usage than general revert strings unless for reverts with empty strings.
In the Rationale section for domain ; perhaps the contract name itself could be suggested to help with the compiler DeclarationError in situations where the ErrorPrefix and Subject are the same.
I see what you mean. Although it can solve the DeclarationError, it’ll also change the error selector depending on the contract name, and that might affect standardization overall (eg. Metamask would need to know the contract name just to calculate the selector and show a proper error message in the UI).
What do you think?