Vectorized / dn404

Implementation of a co-joined ERC20 and ERC721 pair.
MIT License
476 stars 158 forks source link

Set log handlers as internal virtual instead of private #138

Open fastackl opened 6 months ago

fastackl commented 6 months ago
image

These helpers are very useful and would be great to be able to inherit and optionally override instead of having to rewrite in derived contracts. That contract size limit can sneak up on you.

Unless there's a reason these are set to private instead of internal virtual 🤔

Vectorized commented 6 months ago

These stuff use some extremely dangerous memory tricks tho. It’s like handling super sharp knifes.

fastackl commented 6 months ago

Yup I agree. My use case is I want to fire off mirror transfer events in a derived contract. I don't need to modify the packed log handlers, just access them.

But if I can't inherit these beautiful handlers then the only way to fire these events (other than rewrite something myself) is to copy paste the packed log handlers in my derived contract.

I.e. setting as private doesn't stop devs from handling knives anyway just forces devs to duplicate code 😅