Smart Contract Analysis Through Communication Abstractions