Commit efc98d26 authored by clabby's avatar clabby

Resolve conflicts; Semver bump; Changeset

parent c7c8fd0c
---
'@eth-optimism/contracts-bedrock': minor
---
Change the `relayMessage` reentrancy guard in the XDMs to be per-message.
...@@ -70,22 +70,23 @@ L1BlockNumberTest:test_getL1BlockNumber_succeeds() (gas: 10603) ...@@ -70,22 +70,23 @@ L1BlockNumberTest:test_getL1BlockNumber_succeeds() (gas: 10603)
L1BlockNumberTest:test_receive_succeeds() (gas: 25340) L1BlockNumberTest:test_receive_succeeds() (gas: 25340)
L1CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 24781) L1CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 24781)
L1CrossDomainMessenger_Test:test_pause_callerIsNotOwner_reverts() (gas: 24517) L1CrossDomainMessenger_Test:test_pause_callerIsNotOwner_reverts() (gas: 24517)
L1CrossDomainMessenger_Test:test_pause_succeeds() (gas: 52942) L1CrossDomainMessenger_Test:test_pause_succeeds() (gas: 52964)
L1CrossDomainMessenger_Test:test_relayMessage_legacyOldReplay_reverts() (gas: 56574) L1CrossDomainMessenger_Test:test_relayMessage_legacyOldReplay_reverts() (gas: 74749)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailureThenSuccess_reverts() (gas: 212474) L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailureThenSuccess_reverts() (gas: 232829)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailure_succeeds() (gas: 203204) L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailure_succeeds() (gas: 205373)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterSuccess_reverts() (gas: 126420) L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterSuccess_reverts() (gas: 145674)
L1CrossDomainMessenger_Test:test_relayMessage_legacy_succeeds() (gas: 76600) L1CrossDomainMessenger_Test:test_relayMessage_legacy_succeeds() (gas: 77679)
L1CrossDomainMessenger_Test:test_relayMessage_paused_reverts() (gas: 60476) L1CrossDomainMessenger_Test:test_relayMessage_paused_reverts() (gas: 78550)
L1CrossDomainMessenger_Test:test_relayMessage_reentrancy_reverts() (gas: 190799) L1CrossDomainMessenger_Test:test_relayMessage_reentrancyDiffMessage_succeeds() (gas: 725841)
L1CrossDomainMessenger_Test:test_relayMessage_retryAfterFailure_succeeds() (gas: 197144) L1CrossDomainMessenger_Test:test_relayMessage_reentrancySameMessage_reverts() (gas: 661391)
L1CrossDomainMessenger_Test:test_relayMessage_succeeds() (gas: 73558) L1CrossDomainMessenger_Test:test_relayMessage_retryAfterFailure_succeeds() (gas: 199464)
L1CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 65827) L1CrossDomainMessenger_Test:test_relayMessage_succeeds() (gas: 74718)
L1CrossDomainMessenger_Test:test_relayMessage_v2_reverts() (gas: 19500) L1CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 102318)
L1CrossDomainMessenger_Test:test_replayMessage_withValue_reverts() (gas: 38220) L1CrossDomainMessenger_Test:test_relayMessage_v2_reverts() (gas: 12562)
L1CrossDomainMessenger_Test:test_replayMessage_withValue_reverts() (gas: 56477)
L1CrossDomainMessenger_Test:test_sendMessage_succeeds() (gas: 299710) L1CrossDomainMessenger_Test:test_sendMessage_succeeds() (gas: 299710)
L1CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 1490566) L1CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 1490566)
L1CrossDomainMessenger_Test:test_unpause_callerIsNotOwner_reverts() (gas: 24516) L1CrossDomainMessenger_Test:test_unpause_callerIsNotOwner_reverts() (gas: 24538)
L1CrossDomainMessenger_Test:test_unpause_succeeds() (gas: 45185) L1CrossDomainMessenger_Test:test_unpause_succeeds() (gas: 45185)
L1CrossDomainMessenger_Test:test_xDomainMessageSender_reset_succeeds() (gas: 85083) L1CrossDomainMessenger_Test:test_xDomainMessageSender_reset_succeeds() (gas: 85083)
L1CrossDomainMessenger_Test:test_xDomainSender_notSet_reverts() (gas: 24274) L1CrossDomainMessenger_Test:test_xDomainSender_notSet_reverts() (gas: 24274)
...@@ -123,8 +124,8 @@ L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal_succeeds( ...@@ -123,8 +124,8 @@ L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal_succeeds(
L1StandardBridge_Getter_Test:test_getters_succeeds() (gas: 32151) L1StandardBridge_Getter_Test:test_getters_succeeds() (gas: 32151)
L1StandardBridge_Initialize_Test:test_initialize_succeeds() (gas: 22005) L1StandardBridge_Initialize_Test:test_initialize_succeeds() (gas: 22005)
L1StandardBridge_Receive_Test:test_receive_succeeds() (gas: 520198) L1StandardBridge_Receive_Test:test_receive_succeeds() (gas: 520198)
L2CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 8389) L2CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 8412)
L2CrossDomainMessenger_Test:test_pause_notOwner_reverts() (gas: 10837) L2CrossDomainMessenger_Test:test_pause_notOwner_reverts() (gas: 10860)
L2CrossDomainMessenger_Test:test_pause_succeeds() (gas: 31846) L2CrossDomainMessenger_Test:test_pause_succeeds() (gas: 31846)
L2CrossDomainMessenger_Test:test_relayMessage_paused_reverts() (gas: 59603) L2CrossDomainMessenger_Test:test_relayMessage_paused_reverts() (gas: 59603)
L2CrossDomainMessenger_Test:test_relayMessage_reentrancyDiffMessage_succeeds() (gas: 686507) L2CrossDomainMessenger_Test:test_relayMessage_reentrancyDiffMessage_succeeds() (gas: 686507)
......
...@@ -20,12 +20,12 @@ contract L1CrossDomainMessenger is CrossDomainMessenger, Semver { ...@@ -20,12 +20,12 @@ contract L1CrossDomainMessenger is CrossDomainMessenger, Semver {
OptimismPortal public immutable PORTAL; OptimismPortal public immutable PORTAL;
/** /**
* @custom:semver 1.0.0 * @custom:semver 1.1.0
* *
* @param _portal Address of the OptimismPortal contract on this network. * @param _portal Address of the OptimismPortal contract on this network.
*/ */
constructor(OptimismPortal _portal) constructor(OptimismPortal _portal)
Semver(1, 0, 0) Semver(1, 1, 0)
CrossDomainMessenger(Predeploys.L2_CROSS_DOMAIN_MESSENGER) CrossDomainMessenger(Predeploys.L2_CROSS_DOMAIN_MESSENGER)
{ {
PORTAL = _portal; PORTAL = _portal;
......
...@@ -17,12 +17,12 @@ import { L2ToL1MessagePasser } from "./L2ToL1MessagePasser.sol"; ...@@ -17,12 +17,12 @@ import { L2ToL1MessagePasser } from "./L2ToL1MessagePasser.sol";
*/ */
contract L2CrossDomainMessenger is CrossDomainMessenger, Semver { contract L2CrossDomainMessenger is CrossDomainMessenger, Semver {
/** /**
* @custom:semver 1.0.0 * @custom:semver 1.1.0
* *
* @param _l1CrossDomainMessenger Address of the L1CrossDomainMessenger contract. * @param _l1CrossDomainMessenger Address of the L1CrossDomainMessenger contract.
*/ */
constructor(address _l1CrossDomainMessenger) constructor(address _l1CrossDomainMessenger)
Semver(1, 0, 0) Semver(1, 1, 0)
CrossDomainMessenger(_l1CrossDomainMessenger) CrossDomainMessenger(_l1CrossDomainMessenger)
{ {
initialize(); initialize();
......
...@@ -362,7 +362,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -362,7 +362,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
vm.prank(address(op)); vm.prank(address(op));
vm.expectCall(target, callMessage); vm.expectCall(target, callMessage);
L1Messenger.relayMessage( L1Messenger.relayMessage(
Encoding.encodeVersionedNonce(0, 1), Encoding.encodeVersionedNonce({ _nonce: 0, _version: 1 }),
sender, sender,
target, target,
0, 0,
...@@ -380,7 +380,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -380,7 +380,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
caller.setPayload( caller.setPayload(
abi.encodeWithSelector( abi.encodeWithSelector(
L1Messenger.relayMessage.selector, L1Messenger.relayMessage.selector,
Encoding.encodeVersionedNonce(0, 1), Encoding.encodeVersionedNonce({ _nonce: 0, _version: 1 }),
sender, sender,
target, target,
0, 0,
...@@ -421,7 +421,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -421,7 +421,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
bytes memory messageB = hex""; bytes memory messageB = hex"";
bytes32 hashA = Hashing.hashCrossDomainMessage( bytes32 hashA = Hashing.hashCrossDomainMessage(
Encoding.encodeVersionedNonce(0, 1), Encoding.encodeVersionedNonce({ _nonce: 0, _version: 1 }),
sender, sender,
target, target,
0, 0,
...@@ -429,7 +429,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -429,7 +429,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
messageA messageA
); );
bytes32 hashB = Hashing.hashCrossDomainMessage( bytes32 hashB = Hashing.hashCrossDomainMessage(
Encoding.encodeVersionedNonce(0, 1), Encoding.encodeVersionedNonce({ _nonce: 0, _version: 1 }),
sender, sender,
target, target,
0, 0,
...@@ -445,7 +445,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -445,7 +445,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
vm.expectCall(target, messageA); vm.expectCall(target, messageA);
L1Messenger.relayMessage( L1Messenger.relayMessage(
Encoding.encodeVersionedNonce(0, 1), Encoding.encodeVersionedNonce({ _nonce: 0, _version: 1 }),
sender, sender,
target, target,
0, 0,
...@@ -454,7 +454,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -454,7 +454,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
); );
vm.expectCall(target, messageB); vm.expectCall(target, messageB);
L1Messenger.relayMessage( L1Messenger.relayMessage(
Encoding.encodeVersionedNonce(0, 1), Encoding.encodeVersionedNonce({ _nonce: 0, _version: 1 }),
sender, sender,
target, target,
0, 0,
...@@ -477,7 +477,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -477,7 +477,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
caller.setPayload( caller.setPayload(
abi.encodeWithSelector( abi.encodeWithSelector(
L1Messenger.relayMessage.selector, L1Messenger.relayMessage.selector,
Encoding.encodeVersionedNonce(0, 1), Encoding.encodeVersionedNonce({ _nonce: 0, _version: 1 }),
sender, sender,
target, target,
0, 0,
...@@ -492,7 +492,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -492,7 +492,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
vm.expectEmit(true, true, true, true, target); vm.expectEmit(true, true, true, true, target);
emit WhatHappened(true, hex""); emit WhatHappened(true, hex"");
L1Messenger.relayMessage( L1Messenger.relayMessage(
Encoding.encodeVersionedNonce(0, 1), Encoding.encodeVersionedNonce({ _nonce: 0, _version: 1 }),
sender, sender,
target, target,
0, 0,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment