```\n// If the message is version 0, then it's a migrated legacy withdrawal. We therefore need\n// to check that the legacy version of the message has not already been relayed.\nif (version == 0) {\n    bytes32 oldHash = Hashing.hashCrossDomainMessageV0(_target, _sender, _message, _nonce);\n    require(\n        successfulMessages[oldHash] == false,\n        "CrossDomainMessenger: legacy withdrawal already relayed"\n    );\n}\n```\n