~
I don't think that smart contracts work between chains. Depositing currency into a smart contract is literally done by sending it to the contract's address. Since you can't send BTC to an ETH address, that won't work.
You misunderstood my point.

I'm not suggesting sending BTC to ETH address.
It is enough to automate the following:
- BTC arrived at the account of mixer.
- In parallel, a smart-contract with ETH is created for the user.
- This frozen ETH acts as a guarantee for the user. If he doesn't receive BTC from the mixer exit, he will be able to pick up ETH.
BTC and ETH chains are independent of each other, but an intermediary program appears between them, which performs all actions. For example, it analyzes BTC receipt to the mixer's address, creates a smart-contract with ETH, etc.