A Model-Based Testing Platform for Smart Contracts