Image
user avatar
frangio
@frangio_
Smart contracts. Prev @OpenZeppelin
Joined January 2011
Posts
  • user avatar
    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. 🫡
  • user avatar
    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.
  • user avatar
    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?).
  • user avatar
    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:
  • user avatar
    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…
  • user avatar
    Reentrancy is becoming unavoidable in post-Istanbul world. 😩 I wrote an article explaining how you can protect your contracts against it. 🤺 👇
  • user avatar
    OpenZeppelin 2.1 is finally out! Ready to fulfil all your Solidity 0.5 needs. 🍾🥂 npm install openzeppelin-solidity github.com/OpenZeppelin/o…
  • user avatar
    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.
  • user avatar
    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.
  • user avatar
    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…
  • user avatar
    Is this @solidity_lang modifier safe if we assume the decorated function doesn't return a memory pointer?
    Image
  • user avatar
    Replying to @PaulRBerg and @OpenZeppelin
    Not sure yet. Compilers & zk are in my radar for now. Definitely want to stay in this space in one way or another.
  • user avatar
    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…
  • user avatar
    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!