  Smart contracts codify real-world transactions and automatically execute the
terms of the contract when predefined conditions are met. This paper proposes
SmartML, a modeling language for smart contracts that is platform independent
and easy to comprehend. We detail its formal semantics and type system with a
focus on its role in addressing security vulnerabilities. We show along a case
study, how SmartML contributes to the prevention of reentrancy attacks,
illustrating its efficacy in reinforcing the reliability and security of smart
contracts within decentralized systems.
