Source Rollup EVM
xcall
Portal Contracts
DAPP
Contracts
Condition: Source Chain Gas Fees should be paid.
Condition: Source Chain Block should be finalized.
XMsg
XStreamOffset
XStream
SourceChainID
DestChainID
1. Halo constructs XBlocks from XMsgs
XMsg
XMsg
XMsg
Halo
XMsg
XMsg
XBlock
CometBFT
2. Attest to finalized XBlock hashes
0. Halo listens for finalized blocks
XMsg
XMsg
XBlock
BlockHeader
ChainID
BlockHeight
BlockHash
XMsg
XMsg
XMsg
.
.
.
ParentHash
Timestamp
XMsgs are partitioned for inclusion into subranges by the Relayer , verified by Merkle Multiproofs to optimize for submission gas costs.
XReceipt
. . .
XReceipt
XReceipt
XReceipt
XReceipt
CometBFT
ABCI++
Validator Set
Quorum votes constitute an approved attestation.
Validators vote for XBlocks.
XMsg
XMsg
XBlock
XMsg
XMsg
XBlock
XMsg
XMsg
XBlock
XMsg
XMsg
XBlock
Halo
XMsg
XMsg
XBlock
CometBFT
Validator Set
Finalize Commit
Vote
Propose
ABCI++
PrepareProposal
ProcessProposal
ExtendVote
VerifyVoteExtensions
FinalizeBlock
Halo
XMsg
XMsg
XBlock
CometBFT
Relayer
XMsg
XMsg
Submission
XMsg
XMsg
Submission
XMsg
XMsg
XMsg
XBlock
Relayer collects finalized XBlock and signatures
Relayer monitors for approved Attestations
Relayer
XMsg
XMsg
Submission
XMsg
XMsg
Submission
XMsg
XMsg
XMsg
XBlock
Relayer submits Submissions to destination rollup
Destination Rollup EVM
Contract Call
DAPP Contracts
Portal
Contracts