Automating Financial Transactions with Smart Contracts: A Comprehensive Overview