Leveraging Large Language Models for Automatic Smart Contract Generation