SwapExact: ((zcf: ZCF, leftSeat: ZCFSeat, rightSeat: ZCFSeat) => string)

Swap such that both seats gain what they want and lose everything that they gave. Only good for exact and entire swaps where each seat wants everything that the other seat has. The benefit of using this method is that the keywords of each seat do not matter.

If the swap fails, no assets are transferred, both seats will fail, and the function throws.