Papers1 provider Ā· 1 record
July 5, 2019Ā· arXiv
preprint
Open access

Solidity 0.5: when typed does not mean type safe

Authors:Silvia CrafaMatteo Di Pirro

Abstract

The recent release of Solidity 0.5 introduced a new type to prevent Ether transfers to smart contracts that are not supposed to receive money. Unfortunately, the compiler fails in enforcing the guarantees this type intended to convey, hence the type soundness of Solidity 0.5 is no better than that of Solidity 0.4. In this paper we discuss a paradigmatic example showing that vulnerable Solidity patterns based on potentially unsafe callback expressions are still unchecked. We also point out a solution that strongly relies on formal methods to support a type-safer smart contracts programming discipline, while being retro-compatible with legacy Solidity code.

Community

0 comments
Use Connect Wallet in the navigation

No discussion yet

Be the first to share a question or observation.