  Modern blockchain, such as Ethereum, supports the deployment and execution of
so-called smart contracts, autonomous digital programs with significant value
of cryptocurrency. Executing smart contracts requires gas costs paid by users,
which define the limits of the contract's execution. Logic vulnerabilities in
smart contracts can lead to financial losses, and are often the root cause of
high-impact cyberattacks. Our objective is threefold: (i) empirically
investigate logic vulnerabilities in real-world smart contracts extracted from
code changes on GitHub, (ii) introduce Soley, an automated method for detecting
logic vulnerabilities in smart contracts, leveraging Large Language Models
(LLMs), and (iii) examine mitigation strategies employed by smart contract
developers to address these vulnerabilities in real-world scenarios. We
obtained smart contracts and related code changes from GitHub. To address the
first and third objectives, we qualitatively investigated available logic
vulnerabilities using an open coding method. We identified these
vulnerabilities and their mitigation strategies. For the second objective, we
extracted various logic vulnerabilities, applied preprocessing techniques, and
implemented and trained the proposed Soley model. We evaluated Soley along with
the performance of various LLMs and compared the results with the
state-of-the-art baseline on the task of logic vulnerability detection. From
our analysis, we identified nine novel logic vulnerabilities, extending
existing taxonomies with these vulnerabilities. Furthermore, we introduced
several mitigation strategies extracted from observed developer modifications
in real-world scenarios. Our Soley method outperforms existing methods in
automatically identifying logic vulnerabilities. Interestingly, the efficacy of
LLMs in this task was evident without requiring extensive feature engineering.
