Cross VM Calls
Each VM operates independently, and messaging between them is facilitated by the sequencer. At a high level, each VM has its own contract, which serves a similar function. These contracts emit an "event" containing the call data and the sender's information, which is then executed on the target VM.
For Solana VM, a program is deployed; for Move VM, a module is included in the standard framework; and for EVM, a smart contract is used. All are deployed on the chain. Essentially, a developer only needs to query a specific function to send a message to another virtual machine, similar to how it's done in LayerZero, but within the same execution environment.
Example of a loan/trade from EVM to Move VM:
Loan USDC for ETH on AAVE.
Transfer USDC to Move VM.
Sell USDC for ETH on Liquidswap.
Return ETH to close the loan.

If we simplify the logic, it can be represented as follows:

Calls can essentially follow the same path back, allowing for the transfer of results or assets back to the initial contract.
Let's delve deeper into the implementation of cross-VM calls between Move VM and EVM:
Move VM Implementation:
Implemented as a native function to streamline the serialization process.
As part of default framework.
Data is passed as objects, and serialization/deserialization is managed.
At a high level, both contracts, implemented on each VM, serve a similar purpose. They emit an "event" containing the call data and the sender's information, which is then executed on the target VM.
EVM implementation
In the EVM part of the genesis block and deployed on the address, similar functionalities are achieved, but with a focus on utilizing events for efficient cross-VM communication.
Concurrency Note
Multiple calls can be queued sequentially; however, execution on the target VM commences only after the current runtime completes. This process isn't fully synchronous, but enhancing this aspect is a priority for future updates. Calls are executed in a sequencer, one after another, following the order in which they were initiated.
Last updated