Looking at the assert statement in handler_erc20::receive_cross_chain_callback we can see that to_handler and to_chain are also validated to be in the support_handler collection:
handler_erc20.cairo
In reality these 2 should be the same address and same chain on which the execution is happening. Knowing that users can create cross chain transactions for the same chain and spam validators with transactions:
handler_erc20.cairo
The assert in cross_chain_erc20_settlement is intended to validate whether the destination is supported but because of the check above the admin is forced to add the address and chain of the contract that is calling the cross_chain_erc20_settlement function.
Simplify the assert in receive_cross_chain_callback and receive_cross_chain_callback by removing to_chain and to_handler.
