I would recommend one small change:
- The MessageReceived event should have the extraData field
This is useful for non-evm chains like the SVM on Solana. As an example, if you are building a relayer for a canonical bridge, when writing to the SVM you need to specify the accounts up front. So one way would be to call ‘receiveMessage’ twice on the SVM chain. The first would update the extra data param to contain the accounts that would be accessed and the second call could utilize that to prepare a proper transaction.
Also, perhaps the way that chain-ids get encoded should be outside the scope of this EIP since this is designed for flexibility.