arXiv · 2407.15676
Preventing Out-of-Gas Exceptions by Typing
Abstract
We continue the development of TinySol, a minimal object-oriented language based on Solidity, the standard smart-contract language used for the Ethereum platform. We first extend TinySol with exceptions and a gas mechanism, and equip it with a small-step operational semantics. Introducing the gas mechanism is fundamental for modelling real-life smart contracts in TinySol, since this is the way in which termination of Ethereum smart contracts is usually ensured. We then devise a type system for smart contracts guaranteeing that such programs never run out of gas at runtime. This is a desirable property for smart contracts, since a transaction that runs out of gas is aborted, but the price paid to run the code is not returned to the invoker.
Explore related subjects
Keep this discovery
Luca Aceto, Daniele Gorla, Stian Lybech, Mohammad Hamdaqa. 2024-07-22. Preventing Out-of-Gas Exceptions by Typing. https://arxiv.org/abs/2407.15676
Cite the original work for its findings. Save a collection to share your selection of sources.