In general, if we follow the code in common/utils.func
(https://github.com/ston-fi/dex-core/blob/main/contracts/common/utils.func), we will get the following code:
() force_chain(int workchain, slice address, int error_code) impure inline {
(int wc) = get_workchain(address);
throw_unless(error_code, wc == workchain);
}
As far as my knowledge goes, this function ensures that the contract code executes only in a specific workchain. Since TVM is a multi-chain-based design, i.e., the shard-chain, it is limited to only one side-chain at the moment. I am unsure about how we can expand on this.
For more information, you can check: