Since the early stages of Polkadot development, I've been intrigued by the promise of cross-chain smart contract communication. I've successfully built simple but a fully functioning decentralized exchange, but now I'm searching for interfaces or traits that would allow me to enable cross-chain calls. Unfortunately, I haven't been able to find the required information (in my imagination as it could work in practice).
To elaborate, I want to deploy my smart contract on Astar and Shiden parachains and facilitate cross-chain swaps. I believe I need specific interfaces to implement this functionality, but my search has been fruitless so far. With that in mind, my question is: How can I achieve cross-chain calls in ink!?
Please correct me if my thinking is flawed.