Introduction Smart contract upgradeability is a double edged sword. On the one hand, it allows for feature evolution, and more importantly, fixing critical bugs in-place without incurring migration overhead and associated risks. On the other hand, upgradeability vastly changes the trust assumptions of the contract, because now users must trust the…