All pages
Powered by GitBook
1 of 1

Loading...

Waiting for the cross-chain execution

Here’s what happens after you send the message:

  1. 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).

  2. 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.

  3. 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.


Example Scenario

  • 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.

After validation, the message is decoded and stored in the contract.