I don’t fully understand exactly how the loupe functions are implemented. Are they an interface on the diamond itself, or implemented in a facet?
If the loupe functions are provided by a facet:
- Can they be removed by
diamondCut
? - How do they get information from
diamondCut
? Reading the storage during adelegatecall
?