Smart Contracts for Automated Financial Agreements