Skip to content

Commit

Permalink
contracts: fix L2CrossDomainMessenger api (ethereum-optimism#2567)
Browse files Browse the repository at this point in the history
Keep the `L2CrossDomainMessenger` API backwards
compatible. The `l1CrossDomainMessenger` getter
was accidentally removed in the refactor.
This commit adds that getter back to the API.
Note that it is a legacy getter and only exists
to ensure that existing applications can still
work with the new contracts.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
  • Loading branch information
tynes and mergify[bot] committed May 16, 2022
1 parent f7d964d commit ad6b5de
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 27 deletions.
54 changes: 27 additions & 27 deletions contracts-bedrock/.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ L1BlockTest:test_hash() (gas: 7552)
L1BlockTest:test_number() (gas: 7651)
L1BlockTest:test_sequenceNumber() (gas: 7585)
L1BlockTest:test_timestamp() (gas: 7661)
L1BlockNumberTest:test_fallback() (gas: 10710)
L1BlockNumberTest:test_fallback() (gas: 10755)
L1BlockNumberTest:test_getL1BlockNumber() (gas: 10589)
L1BlockNumberTest:test_receive() (gas: 17440)
L1BlockNumberTest:test_receive() (gas: 17418)
L1CrossDomainMessenger_Test:testCannot_L1MessengerPause() (gas: 10909)
L1CrossDomainMessenger_Test:test_L1MessengerMessageVersion() (gas: 8366)
L1CrossDomainMessenger_Test:test_L1MessengerPause() (gas: 31882)
Expand All @@ -15,53 +15,53 @@ L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageToSystemContract() (gas:
L1CrossDomainMessenger_Test:test_L1MessengerRelayShouldRevertIfPaused() (gas: 41631)
L1CrossDomainMessenger_Test:test_L1MessengerSendMessage() (gas: 78105)
L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 66345)
L1CrossDomainMessenger_Test:test_L1MessengerXDomainSenderReverts() (gas: 10588)
L1CrossDomainMessenger_Test:test_L1MessengerXDomainSenderReverts() (gas: 10566)
L1CrossDomainMessenger_Test:test_L1MessengerxDomainMessageSenderResets() (gas: 58425)
L1StandardBridge_Test:test_depositERC20() (gas: 371479)
L1StandardBridge_Test:test_depositERC20To() (gas: 373256)
L1StandardBridge_Test:test_depositETH() (gas: 105126)
L1StandardBridge_Test:test_depositETH() (gas: 105061)
L1StandardBridge_Test:test_depositETHTo() (gas: 111945)
L1StandardBridge_Test:test_donateETH() (gas: 17523)
L1StandardBridge_Test:test_donateETH() (gas: 17545)
L1StandardBridge_Test:test_finalizeERC20Withdrawal() (gas: 438817)
L1StandardBridge_Test:test_finalizeETHWithdrawal() (gas: 47983)
L1StandardBridge_Test:test_initialize() (gas: 14863)
L1StandardBridge_Test:test_finalizeETHWithdrawal() (gas: 48005)
L1StandardBridge_Test:test_initialize() (gas: 14885)
L1StandardBridge_Test:test_onlyEOADepositERC20() (gas: 12085)
L1StandardBridge_Test:test_onlyEOADepositETH() (gas: 30637)
L1StandardBridge_Test:test_onlyL2BridgeFinalizeERC20Withdrawal() (gas: 23565)
L1StandardBridge_Test:test_onlyPortalFinalizeERC20Withdrawal() (gas: 22897)
L1StandardBridge_Test:test_onlyPortalFinalizeERC20Withdrawal() (gas: 22919)
L1StandardBridge_Test:test_receive() (gas: 99476)
L2CrossDomainMessenger_Test:testCannot_L2MessengerPause() (gas: 10843)
L2CrossDomainMessenger_Test:test_L2MessengerMessageVersion() (gas: 8410)
L2CrossDomainMessenger_Test:test_L2MessengerPause() (gas: 31837)
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageSucceeds() (gas: 57429)
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageSucceeds() (gas: 57474)
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageToSystemContract() (gas: 24567)
L2CrossDomainMessenger_Test:test_L2MessengerRelayShouldRevertIfPaused() (gas: 41599)
L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 119681)
L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 133118)
L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 119659)
L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 133096)
L2CrossDomainMessenger_Test:test_L2MessengerXDomainSenderReverts() (gas: 10588)
L2CrossDomainMessenger_Test:test_L2MessengerxDomainMessageSenderResets() (gas: 54795)
L2OutputOracleTest:testCannot_appendCurrentTimestamp() (gas: 18627)
L2OutputOracleTest:testCannot_appendEmptyOutput() (gas: 16734)
L2OutputOracleTest:testCannot_appendEmptyOutput() (gas: 16756)
L2OutputOracleTest:testCannot_appendFutureTimestamp() (gas: 18708)
L2OutputOracleTest:testCannot_appendOutputIfNotSequencer() (gas: 16458)
L2OutputOracleTest:testCannot_appendUnexpectedTimestamp() (gas: 18893)
L2OutputOracleTest:testCannot_computePreHistoricalL2BlockNumber() (gas: 11093)
L2OutputOracleTest:testCannot_deleteL2Output_ifNotSequencer() (gas: 18793)
L2OutputOracleTest:testCannot_deleteWrongL2Output() (gas: 77307)
L2OutputOracleTest:test_appendingAnotherOutput() (gas: 68605)
L2OutputOracleTest:testCannot_deleteWrongL2Output() (gas: 77352)
L2OutputOracleTest:test_appendingAnotherOutput() (gas: 68582)
L2OutputOracleTest:test_computeL2BlockNumber() (gas: 14755)
L2OutputOracleTest:test_constructor() (gas: 33752)
L2OutputOracleTest:test_deleteL2Output() (gas: 64320)
L2OutputOracleTest:test_deleteL2Output() (gas: 64338)
L2OutputOracleTest:test_getL2Output() (gas: 74601)
L2OutputOracleTest:test_latestBlockTimestamp() (gas: 68377)
L2OutputOracleTest:test_nextTimestamp() (gas: 9236)
L2StandardBridge_Test:test_finalizeDeposit() (gas: 93169)
L2StandardBridge_Test:test_initialize() (gas: 14812)
L2StandardBridge_Test:test_finalizeDeposit() (gas: 93191)
L2StandardBridge_Test:test_initialize() (gas: 14834)
L2StandardBridge_Test:test_receive() (gas: 136437)
L2StandardBridge_Test:test_withdraw() (gas: 352626)
L2StandardBridge_Test:test_withdraw() (gas: 352644)
L2StandardBridge_Test:test_withdrawTo() (gas: 353495)
L2ToL1MessagePasserTest:test_burn() (gas: 112001)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract() (gas: 67935)
L2ToL1MessagePasserTest:test_burn() (gas: 112023)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract() (gas: 67890)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromEOA() (gas: 74851)
OptimismMintableTokenFactory_Test:test_bridge() (gas: 9850)
OptimismMintableTokenFactory_Test:test_burn() (gas: 52791)
Expand All @@ -71,21 +71,21 @@ OptimismMintableTokenFactory_Test:test_l2Bridge() (gas: 9768)
OptimismMintableTokenFactory_Test:test_mint() (gas: 65732)
OptimismMintableTokenFactory_Test:test_mintRevertsFromNotBridge() (gas: 13213)
OptimismMintableTokenFactory_Test:test_remoteToken() (gas: 9762)
OptimismMintableTokenFactory_Test:test_bridge() (gas: 9772)
OptimismMintableTokenFactory_Test:test_bridge() (gas: 9707)
OptimismMintableTokenFactory_Test:test_createStandardL2Token() (gas: 1106538)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenSameTwice() (gas: 2193987)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenShouldRevertIfRemoteIsZero() (gas: 9374)
OptimismMintableTokenFactory_Test:test_initializeShouldRevert() (gas: 12696)
OptimismPortal_Test:test_OptimismPortalConstructor() (gas: 11302)
OptimismPortal_Test:test_OptimismPortalContractCreationReverts() (gas: 9399)
OptimismPortal_Test:test_OptimismPortalReceiveEth() (gas: 24797)
OptimismPortal_Test:test_OptimismPortalContractCreationReverts() (gas: 9421)
OptimismPortal_Test:test_OptimismPortalReceiveEth() (gas: 24732)
OptimismPortal_Test:test_cannotVerifyRecentWithdrawal() (gas: 19657)
OptimismPortal_Test:test_depositTransaction_NoValueContract() (gas: 24478)
OptimismPortal_Test:test_depositTransaction_NoValueEOA() (gas: 24824)
OptimismPortal_Test:test_depositTransaction_NoValueEOA() (gas: 24846)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForContract() (gas: 24497)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForEOA() (gas: 24841)
OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreation() (gas: 31519)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation() (gas: 22949)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract() (gas: 31188)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA() (gas: 31804)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation() (gas: 22971)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract() (gas: 31210)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA() (gas: 31781)
OptimismPortal_Test:test_invalidWithdrawalProof() (gas: 26565)
10 changes: 10 additions & 0 deletions contracts-bedrock/contracts/L2/L2CrossDomainMessenger.sol
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,16 @@ contract L2CrossDomainMessenger is CrossDomainMessenger {
_initialize(_l1CrossDomainMessenger, blockedSystemAddresses);
}

/**
* @notice Legacy getter for the remote messenger. This is included
* to prevent any existing contracts that relay messages from breaking.
* Use `otherMessenger()` for a standard API that works on both
* the L1 and L2 cross domain messengers.
*/
function l1CrossDomainMessenger() public returns (address) {
return otherMessenger;
}

/**********************
* Internal Functions *
**********************/
Expand Down

0 comments on commit ad6b5de

Please sign in to comment.