Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/dull-coats-tap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Adds a new event SentMessageExtension1 to the CrossDomainMessenger contract. Includes additional data that's being attached to messages sent after the Bedrock upgrade.
46 changes: 23 additions & 23 deletions packages/contracts-bedrock/.gas-snapshot
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_0() (gas: 262012)
GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_1() (gas: 76172)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 352984)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 117162)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 353006)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 117137)
GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_0() (gas: 263435)
GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_1() (gas: 77595)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 354407)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 118585)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 354429)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 118560)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 45432)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 68671)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 74964)
Expand Down Expand Up @@ -43,24 +43,24 @@ L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageSucceeds() (gas: 77841)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageToSystemContract() (gas: 67957)
L1CrossDomainMessenger_Test:test_L1MessengerRelayShouldRevertIfPaused() (gas: 60463)
L1CrossDomainMessenger_Test:test_L1MessengerReplayMessageWithValue() (gas: 38169)
L1CrossDomainMessenger_Test:test_L1MessengerSendMessage() (gas: 298226)
L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 1489724)
L1CrossDomainMessenger_Test:test_L1MessengerSendMessage() (gas: 301583)
L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 1492570)
L1CrossDomainMessenger_Test:test_L1MessengerUnpause() (gas: 40872)
L1CrossDomainMessenger_Test:test_L1MessengerXDomainSenderReverts() (gas: 24316)
L1CrossDomainMessenger_Test:test_L1MessengerxDomainMessageSenderResets() (gas: 86376)
L1StandardBridge_Test:test_depositERC20() (gas: 578067)
L1StandardBridge_Test:test_depositERC20To() (gas: 580274)
L1StandardBridge_Test:test_depositETH() (gas: 372525)
L1StandardBridge_Test:test_depositETHTo() (gas: 329661)
L1StandardBridge_Test:test_finalizeBridgeERC20FailSendBack() (gas: 680307)
L1StandardBridge_Test:test_depositERC20() (gas: 579490)
L1StandardBridge_Test:test_depositERC20To() (gas: 581697)
L1StandardBridge_Test:test_depositETH() (gas: 373948)
L1StandardBridge_Test:test_depositETHTo() (gas: 331084)
L1StandardBridge_Test:test_finalizeBridgeERC20FailSendBack() (gas: 681445)
L1StandardBridge_Test:test_finalizeERC20Withdrawal() (gas: 490132)
L1StandardBridge_Test:test_finalizeETHWithdrawal() (gas: 64273)
L1StandardBridge_Test:test_initialize() (gas: 26334)
L1StandardBridge_Test:test_onlyEOADepositERC20() (gas: 22376)
L1StandardBridge_Test:test_onlyEOADepositETH() (gas: 40859)
L1StandardBridge_Test:test_onlyL2BridgeFinalizeERC20Withdrawal() (gas: 36268)
L1StandardBridge_Test:test_onlyPortalFinalizeERC20Withdrawal() (gas: 35573)
L1StandardBridge_Test:test_receive() (gas: 519143)
L1StandardBridge_Test:test_receive() (gas: 520566)
L2CrossDomainMessenger_Test:testCannot_L2MessengerPause() (gas: 10845)
L2CrossDomainMessenger_Test:test_L1MessengerRelayMessageRevertsOnReentrancy() (gas: 171930)
L2CrossDomainMessenger_Test:test_L2MessengerMessageVersion() (gas: 8411)
Expand All @@ -69,8 +69,8 @@ L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageFirstStuckSecondSucceeds
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageSucceeds() (gas: 57372)
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageToSystemContract() (gas: 36193)
L2CrossDomainMessenger_Test:test_L2MessengerRelayShouldRevertIfPaused() (gas: 41619)
L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 120254)
L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 133398)
L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 121522)
L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 135934)
L2CrossDomainMessenger_Test:test_L2MessengerXDomainSenderReverts() (gas: 10609)
L2CrossDomainMessenger_Test:test_L2MessengerxDomainMessageSenderResets() (gas: 54887)
L2OutputOracleTest:testCannot_ProposeWithUnmatchedBlockhash() (gas: 26829)
Expand All @@ -96,15 +96,15 @@ L2OutputOracleUpgradeable_Test:test_cannotInitImpl() (gas: 19428)
L2OutputOracleUpgradeable_Test:test_cannotInitProxy() (gas: 24427)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy() (gas: 39086)
L2OutputOracleUpgradeable_Test:test_upgrading() (gas: 230843)
L2StandardBridge_Test:test_ERC20BridgeFailed_whenLocalTokenIsBridge() (gas: 132928)
L2StandardBridge_Test:test_ERC20BridgeFailed_whenLocalTokenIsBridge() (gas: 134196)
L2StandardBridge_Test:test_cannotWithdrawEthWithoutSendingIt() (gas: 21619)
L2StandardBridge_Test:test_finalizeBridgeERC20FailSendBack() (gas: 498305)
L2StandardBridge_Test:test_finalizeBridgeERC20FailSendBack() (gas: 499320)
L2StandardBridge_Test:test_finalizeDeposit() (gas: 93125)
L2StandardBridge_Test:test_finalizeDeposit_failsToCompleteOutboundTransfer() (gas: 139943)
L2StandardBridge_Test:test_finalizeDeposit_failsToCompleteOutboundTransfer() (gas: 141211)
L2StandardBridge_Test:test_initialize() (gas: 14823)
L2StandardBridge_Test:test_receive() (gas: 136491)
L2StandardBridge_Test:test_withdraw() (gas: 352294)
L2StandardBridge_Test:test_withdrawTo() (gas: 353049)
L2StandardBridge_Test:test_receive() (gas: 137760)
L2StandardBridge_Test:test_withdraw() (gas: 353308)
L2StandardBridge_Test:test_withdrawTo() (gas: 354064)
L2StandardBridge_Test:test_withdraw_onlyEOA() (gas: 251674)
L2ToL1MessagePasserTest:test_burn() (gas: 112246)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract() (gas: 68198)
Expand Down Expand Up @@ -272,4 +272,4 @@ SequencerFeeVault_Test:test_constructor() (gas: 7678)
SequencerFeeVault_Test:test_minWithdrawalAmount() (gas: 5440)
SequencerFeeVault_Test:test_receive() (gas: 17338)
SequencerFeeVault_Test:test_revertWithdraw() (gas: 9342)
SequencerFeeVault_Test:test_withdraw() (gas: 147354)
SequencerFeeVault_Test:test_withdraw() (gas: 148623)
5 changes: 5 additions & 0 deletions packages/contracts-bedrock/contracts/test/CommonTest.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,11 @@ contract Messenger_Initializer is L2OutputOracle_Initializer {
uint256 gasLimit
);

event SentMessageExtension1(
address indexed sender,
uint256 value
);

event WithdrawalInitiated(
uint256 indexed nonce,
address indexed sender,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,10 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
vm.expectEmit(true, true, true, true);
emit SentMessage(recipient, alice, hex"ff", L1Messenger.messageNonce(), 100);

// SentMessageExtension1 event
vm.expectEmit(true, true, true, true);
emit SentMessageExtension1(alice, 0);

vm.prank(alice);
L1Messenger.sendMessage(recipient, hex"ff", uint32(100));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,15 @@ abstract contract CrossDomainMessenger is
uint256 gasLimit
);

/**
* @notice Additional event data to emit, required as of Bedrock. Cannot be merged with the
* SentMessage event without breaking the ABI of this contract, this is good enough.
*
* @param sender Address of the sender of the message.
* @param value ETH value sent along with the message to the recipient.
*/
event SentMessageExtension1(address indexed sender, uint256 value);

/**
* @notice Emitted whenever a message is successfully relayed on this chain.
*
Expand Down Expand Up @@ -193,6 +202,7 @@ abstract contract CrossDomainMessenger is
);

emit SentMessage(_target, msg.sender, _message, messageNonce(), _minGasLimit);
emit SentMessageExtension1(msg.sender, msg.value);

unchecked {
++msgNonce;
Expand Down