Protocols for negotiating complex contracts | Synapse