Waiting for the cross-chain execution
Last updated
Last updated
Here’s what happens after you send the message:
Message Dispatch on Sepolia:
When sendMessageToChiado
is called on the SepoliaSender contract, the message is dispatched through Yaho on Sepolia.
The message is sent with the targetChainId, threshold, reporters, and adapters, and the data (in this case, the message string).
Oracles and Relaying:
Hashi’s oracles pick up the message and relay it to Chiado.
The oracles validate the message and check the block headers for consensus.
Message Receipt and Callback on Chiado:
On Chiado, the Yaru contract receives the message and triggers the onMessage
function on the ChiadoReceiver contract.
The callback validates the message by ensuring that the message is from the expected Yaru contract, the source chain, and the correct sender.
After validation, the message is decoded and stored in the contract.
You deploy SepoliaSender on Sepolia and configure it with the appropriate Yaho contract and oracle parameters.
You deploy ChiadoReceiver on Chiado to handle the incoming message and validate it against Hashi’s oracle system.
When you call sendMessageToChiado
from SepoliaSender, the message is dispatched to Chiado, where the callback function processes it and updates the state.