- Must be aware of buyer, seller and arbiter (addresses)
- Must be aware of current escrow amount (uint)
- Must be able to accept and hold ether in escrow
- Must be able to send the funds to seller upon successful transaction
- Must be able to refund the funds to the buyer upon unsuccessful transaction
- Must be able to display current value of contract
- Must store all of the transaction info in event(s) logs
.transfer function