What is the collateral for? Atomic Swap markets are easily DoS-attackable, you just initiate lots of trades, but don’t follow through with the Atomic Swap protocol. In my proposed design, if either side stops following protocol, they lose their collateral to the counterparty.
That is, in the happy case, both sides can conduct the Atomic Swap entirely in private and simply sign off on a final "Atomic Swap executed" TX jointly, to unlock both of their collaterals on the $TRADE chain.
This is similar to how commitment transactions in the lightning network work, so you can use lnd code as a blueprint for your ideas.
In a simple form, the two parties broadcast two transactions that has two conditional paths: a revocable delivery transaction that unlocks it where one of the parties takes everything, and a delivery transaction that also unlocks it, where the two parties get the amounts provisioned in the commitment transaction.
The first path is equivalent to "stealing" the balance and thus breaking the protocol. How LN solves this is a bit tricky because half a dozen more transactions are involved, but one idea I have is there's a third transaction made that sends all the balance to the other party. And each party gets the private keys to the others party's "release all funds transaction".
But I don't think that idea's going to work because it relies on honesty and each party is not willing to activate each others' release transactions.