After over 6 years at @OpenZeppelin, I've decided to move on from my role as lead developer of OpenZeppelin Contracts. It's been incredibly fun and a privilege to take part! I hope my work has made a positive impact. Enjoying a break for now before exploring new directions. 🫡
frangio
661 posts
Smart contracts. Prev @OpenZeppelin
Joined January 2011
- New @OpenZeppelin library for generating merkle trees and merkle proofs. Super simple interface, designed specifically for use with smart contracts. Should be very easy to use and work out of the box, in backend and frontend alike.
- A new upgradeable proxy with minimal overhead. Using CREATE2 for upgradeability has been explored before. This design follows that tradition and improves on prior attempts in two ways: it's more robust, and it turns out to be even cheaper (optimal?).
- Immutable variables in Solidity are cheap and great, but strings are not supported. We can work around this for short strings like token name and symbol because they can fit into an immutable bytes32, and convert them back in the view function. Demo:
- A new double ended queue data structure will be included in the next version of OpenZeppelin Contracts. Plenty of unchecked for yall addicts. github.com/OpenZeppelin/o…
- Reentrancy is becoming unavoidable in post-Istanbul world. 😩 I wrote an article explaining how you can protect your contracts against it. 🤺 👇
- OpenZeppelin 2.1 is finally out! Ready to fulfil all your Solidity 0.5 needs. 🍾🥂 npm install openzeppelin-solidity github.com/OpenZeppelin/o…
- Should smart contracts include "useful getters" for off-chain applications, even if the data can be obtained from events? A good but also bad example is ERC721 enumerability. What's the current best practice? Particularly interested in opinions based on first hand experience.
- Deploying a contract at the same address on multiple networks feels like an anti-pattern to me. We shouldn't train users to expect that equal address means equal behavior. Vanity addresses are similarly problematic. Seeing familiar first 4 hex characters shouldn't mean anything.
- We need your help to keep OpenZeppelin safe! The v2.3 release candidate is out and it needs reviewing. Featuring the new ERC777 token standard, revert reasons, and a revamped documentation site! 🚀 forum.zeppelin.solutions/t/openzeppelin…
- Is this @solidity_lang modifier safe if we assume the decorated function doesn't return a memory pointer?
- Replying to @PaulRBerg and @OpenZeppelinNot sure yet. Compilers & zk are in my radar for now. Definitely want to stay in this space in one way or another.
- I wrote a post explaining the problem with constructors in upgradeable contracts, and sharing some of the research we've been doing in @zeppelin_os to improve this part of the dev process. blog.zeppelinos.org/towards-fricti…
- Verifying contract source code on Etherscan is probably the top support request that we get, so I've been putting together a central hub for resources, tips, and solutions to common problems. Let me know if I'm missing anything useful!


