From 3abc17a68727e22c31a7a113be935943f717ee63 Mon Sep 17 00:00:00 2001 From: Hex <165055168+hexshire@users.noreply.github.com> Date: Tue, 3 Dec 2024 16:21:41 -0300 Subject: [PATCH] interop: add `L2ToL2CrossDomainMessenger` predeploy invariants (#469) * chore: add missing invariants * chore: address review comment * chore: run fix lint --- specs/interop/predeploys.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/specs/interop/predeploys.md b/specs/interop/predeploys.md index da3401213..8dc22c2a3 100644 --- a/specs/interop/predeploys.md +++ b/specs/interop/predeploys.md @@ -16,6 +16,7 @@ - [`Identifier` Getters](#identifier-getters) - [L2ToL2CrossDomainMessenger](#l2tol2crossdomainmessenger) - [`relayMessage` Invariants](#relaymessage-invariants) + - [`sendMessage` Invariants](#sendmessage-invariants) - [Message Versioning](#message-versioning) - [No Native Support for Cross Chain Ether Sends](#no-native-support-for-cross-chain-ether-sends) - [Interfaces](#interfaces) @@ -277,6 +278,12 @@ as well as domain binding, ie the executing transaction can only be valid on a s - The `Identifier.origin` MUST be `address(L2ToL2CrossDomainMessenger)` - The `_destination` chain id MUST be equal to the local chain id +- Messages MUST NOT be relayed more than once + +### `sendMessage` Invariants + +- Sent Messages MUST be uniquely identifiable +- It must emit the `SentMessage` event ### Message Versioning