Commit 924315ff authored by Maurelian's avatar Maurelian Committed by GitHub

chore(ctb): Remove some todos in messenger and portal (#3012)

* chore(ctb): Remove some todos in messenger and portal

* chore: Remove unresolved TODOs

* feat(ctb): ensure replayed messages have zero value
Co-authored-by: default avatarMark Tyneway <mark.tyneway@gmail.com>
Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
parent e4693481
GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_0() (gas: 158650) GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_0() (gas: 158650)
GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_1() (gas: 75059) GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_1() (gas: 75081)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 249871) GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 249871)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 116125) GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 116125)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 249893) GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 249893)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 116100) GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 116122)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 45413) GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 45368)
GasBenchMark_L2OutputOracle:test_appendL2Output_benchmark() (gas: 68673) GasBenchMark_L2OutputOracle:test_appendL2Output_benchmark() (gas: 68628)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 75069) GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 75069)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 35373) GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 35328)
DeployerWhitelist_Test:test_owner() (gas: 7658) DeployerWhitelist_Test:test_owner() (gas: 7680)
DeployerWhitelist_Test:test_storageSlots() (gas: 33494) DeployerWhitelist_Test:test_storageSlots() (gas: 33516)
Encoding_Test:test_encodeDepositTransaction() (gas: 64610) Encoding_Test:test_encodeDepositTransaction() (gas: 64567)
GasPriceOracle_Test:test_baseFee() (gas: 8370) GasPriceOracle_Test:test_baseFee() (gas: 8392)
GasPriceOracle_Test:test_gasPrice() (gas: 8381) GasPriceOracle_Test:test_gasPrice() (gas: 8381)
GasPriceOracle_Test:test_l1BaseFee() (gas: 10582) GasPriceOracle_Test:test_l1BaseFee() (gas: 10582)
GasPriceOracle_Test:test_onlyOwnerSetDecimals() (gas: 10553) GasPriceOracle_Test:test_onlyOwnerSetDecimals() (gas: 10575)
GasPriceOracle_Test:test_onlyOwnerSetOverhead() (gas: 10599) GasPriceOracle_Test:test_onlyOwnerSetOverhead() (gas: 10599)
GasPriceOracle_Test:test_onlyOwnerSetScalar() (gas: 10640) GasPriceOracle_Test:test_onlyOwnerSetScalar() (gas: 10640)
GasPriceOracle_Test:test_owner() (gas: 9806) GasPriceOracle_Test:test_owner() (gas: 9762)
GasPriceOracle_Test:test_setDecimals() (gas: 36798) GasPriceOracle_Test:test_setDecimals() (gas: 36798)
GasPriceOracle_Test:test_setGasPriceReverts() (gas: 11740) GasPriceOracle_Test:test_setGasPriceReverts() (gas: 11740)
GasPriceOracle_Test:test_setL1BaseFeeReverts() (gas: 11717) GasPriceOracle_Test:test_setL1BaseFeeReverts() (gas: 11739)
GasPriceOracle_Test:test_setOverhead() (gas: 36767) GasPriceOracle_Test:test_setOverhead() (gas: 36767)
GasPriceOracle_Test:test_setScalar() (gas: 36818) GasPriceOracle_Test:test_setScalar() (gas: 36818)
GasPriceOracle_Test:test_storageLayout() (gas: 86683) GasPriceOracle_Test:test_storageLayout() (gas: 86683)
Hashing_Test:test_hashDepositSource() (gas: 673) Hashing_Test:test_hashDepositSource() (gas: 673)
Hashing_Test:test_hashDepositTransaction() (gas: 39129) Hashing_Test:test_hashDepositTransaction() (gas: 39151)
L1BlockTest:test_basefee() (gas: 7531) L1BlockTest:test_basefee() (gas: 7553)
L1BlockTest:test_hash() (gas: 7575) L1BlockTest:test_hash() (gas: 7575)
L1BlockTest:test_number() (gas: 7630) L1BlockTest:test_number() (gas: 7652)
L1BlockTest:test_sequenceNumber() (gas: 7695) L1BlockTest:test_sequenceNumber() (gas: 7630)
L1BlockTest:test_timestamp() (gas: 7662) L1BlockTest:test_timestamp() (gas: 7684)
L1BlockTest:test_updateValues() (gas: 28216) L1BlockTest:test_updateValues() (gas: 28238)
L1BlockNumberTest:test_fallback() (gas: 18774) L1BlockNumberTest:test_fallback() (gas: 18774)
L1BlockNumberTest:test_getL1BlockNumber() (gas: 10657) L1BlockNumberTest:test_getL1BlockNumber() (gas: 10612)
L1BlockNumberTest:test_receive() (gas: 25437) L1BlockNumberTest:test_receive() (gas: 25437)
L1CrossDomainMessenger_Test:testCannot_L1MessengerPause() (gas: 24517) L1CrossDomainMessenger_Test:testCannot_L1MessengerPause() (gas: 24452)
L1CrossDomainMessenger_Test:testCannot_L1MessengerUnpause() (gas: 24509) L1CrossDomainMessenger_Test:testCannot_L1MessengerUnpause() (gas: 24509)
L1CrossDomainMessenger_Test:test_L1MessengerMessageVersion() (gas: 24716) L1CrossDomainMessenger_Test:test_L1MessengerMessageVersion() (gas: 24693)
L1CrossDomainMessenger_Test:test_L1MessengerPause() (gas: 47995) L1CrossDomainMessenger_Test:test_L1MessengerPause() (gas: 48017)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageSucceeds() (gas: 77773) L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageSucceeds() (gas: 77795)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageToSystemContract() (gas: 67784) L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageToSystemContract() (gas: 67844)
L1CrossDomainMessenger_Test:test_L1MessengerRelayShouldRevertIfPaused() (gas: 60472) L1CrossDomainMessenger_Test:test_L1MessengerRelayShouldRevertIfPaused() (gas: 60494)
L1CrossDomainMessenger_Test:test_L1MessengerSendMessage() (gas: 196878) L1CrossDomainMessenger_Test:test_L1MessengerReplayMessageWithValue() (gas: 38149)
L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 1273626) L1CrossDomainMessenger_Test:test_L1MessengerSendMessage() (gas: 196900)
L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 1273648)
L1CrossDomainMessenger_Test:test_L1MessengerUnpause() (gas: 40890) L1CrossDomainMessenger_Test:test_L1MessengerUnpause() (gas: 40890)
L1CrossDomainMessenger_Test:test_L1MessengerXDomainSenderReverts() (gas: 24272) L1CrossDomainMessenger_Test:test_L1MessengerXDomainSenderReverts() (gas: 24272)
L1CrossDomainMessenger_Test:test_L1MessengerxDomainMessageSenderResets() (gas: 86701) L1CrossDomainMessenger_Test:test_L1MessengerxDomainMessageSenderResets() (gas: 86723)
L1StandardBridge_Test:test_depositERC20() (gas: 475008) L1StandardBridge_Test:test_depositERC20() (gas: 475030)
L1StandardBridge_Test:test_depositERC20To() (gas: 477189) L1StandardBridge_Test:test_depositERC20To() (gas: 477211)
L1StandardBridge_Test:test_depositETH() (gas: 268941) L1StandardBridge_Test:test_depositETH() (gas: 268876)
L1StandardBridge_Test:test_depositETHTo() (gas: 226763) L1StandardBridge_Test:test_depositETHTo() (gas: 226763)
L1StandardBridge_Test:test_finalizeERC20Withdrawal() (gas: 490759) L1StandardBridge_Test:test_finalizeERC20Withdrawal() (gas: 490759)
L1StandardBridge_Test:test_finalizeETHWithdrawal() (gas: 64409) L1StandardBridge_Test:test_finalizeETHWithdrawal() (gas: 64431)
L1StandardBridge_Test:test_initialize() (gas: 26336) L1StandardBridge_Test:test_initialize() (gas: 26358)
L1StandardBridge_Test:test_onlyEOADepositERC20() (gas: 22363) L1StandardBridge_Test:test_onlyEOADepositERC20() (gas: 22319)
L1StandardBridge_Test:test_onlyEOADepositETH() (gas: 40882) L1StandardBridge_Test:test_onlyEOADepositETH() (gas: 40816)
L1StandardBridge_Test:test_onlyL2BridgeFinalizeERC20Withdrawal() (gas: 36271) L1StandardBridge_Test:test_onlyL2BridgeFinalizeERC20Withdrawal() (gas: 36293)
L1StandardBridge_Test:test_onlyPortalFinalizeERC20Withdrawal() (gas: 35600) L1StandardBridge_Test:test_onlyPortalFinalizeERC20Withdrawal() (gas: 35622)
L1StandardBridge_Test:test_receive() (gas: 413521) L1StandardBridge_Test:test_receive() (gas: 413521)
L2CrossDomainMessenger_Test:testCannot_L2MessengerPause() (gas: 10821) L2CrossDomainMessenger_Test:testCannot_L2MessengerPause() (gas: 10843)
L2CrossDomainMessenger_Test:test_L2MessengerMessageVersion() (gas: 8445) L2CrossDomainMessenger_Test:test_L2MessengerMessageVersion() (gas: 8467)
L2CrossDomainMessenger_Test:test_L2MessengerPause() (gas: 31815) L2CrossDomainMessenger_Test:test_L2MessengerPause() (gas: 31837)
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageSucceeds() (gas: 57332) L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageSucceeds() (gas: 57354)
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageToSystemContract() (gas: 36140) L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageToSystemContract() (gas: 36092)
L2CrossDomainMessenger_Test:test_L2MessengerRelayShouldRevertIfPaused() (gas: 41664) L2CrossDomainMessenger_Test:test_L2MessengerRelayShouldRevertIfPaused() (gas: 41599)
L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 119627) L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 119627)
L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 133248) L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 133248)
L2CrossDomainMessenger_Test:test_L2MessengerXDomainSenderReverts() (gas: 10599) L2CrossDomainMessenger_Test:test_L2MessengerXDomainSenderReverts() (gas: 10621)
L2CrossDomainMessenger_Test:test_L2MessengerxDomainMessageSenderResets() (gas: 54844) L2CrossDomainMessenger_Test:test_L2MessengerxDomainMessageSenderResets() (gas: 54800)
L2OutputOracleTest:testCannot_AppendWithUnmatchedBlockhash() (gas: 26811) L2OutputOracleTest:testCannot_AppendWithUnmatchedBlockhash() (gas: 26788)
L2OutputOracleTest:testCannot_appendEmptyOutput() (gas: 24086) L2OutputOracleTest:testCannot_appendEmptyOutput() (gas: 24108)
L2OutputOracleTest:testCannot_appendFutureTimetamp() (gas: 26075) L2OutputOracleTest:testCannot_appendFutureTimetamp() (gas: 26032)
L2OutputOracleTest:testCannot_appendOnWrongFork() (gas: 26360) L2OutputOracleTest:testCannot_appendOnWrongFork() (gas: 26337)
L2OutputOracleTest:testCannot_appendOutputIfNotSequencer() (gas: 23477) L2OutputOracleTest:testCannot_appendOutputIfNotSequencer() (gas: 23499)
L2OutputOracleTest:testCannot_appendUnexpectedBlockNumber() (gas: 25984) L2OutputOracleTest:testCannot_appendUnexpectedBlockNumber() (gas: 25940)
L2OutputOracleTest:testCannot_deleteL2Output_ifNotOwner() (gas: 24778) L2OutputOracleTest:testCannot_deleteL2Output_ifNotOwner() (gas: 24800)
L2OutputOracleTest:testCannot_deleteL2Output_withWrongRoot() (gas: 91048) L2OutputOracleTest:testCannot_deleteL2Output_withWrongRoot() (gas: 91070)
L2OutputOracleTest:testCannot_deleteL2Output_withWrongTime() (gas: 87063) L2OutputOracleTest:testCannot_deleteL2Output_withWrongTime() (gas: 87019)
L2OutputOracleTest:test_appendWithBlockhashAndHeight() (gas: 75048) L2OutputOracleTest:test_appendWithBlockhashAndHeight() (gas: 75006)
L2OutputOracleTest:test_appendingAnotherOutput() (gas: 76839) L2OutputOracleTest:test_appendingAnotherOutput() (gas: 76795)
L2OutputOracleTest:test_changeSequencer() (gas: 55963) L2OutputOracleTest:test_changeSequencer() (gas: 55985)
L2OutputOracleTest:test_computeL2Timestamp() (gas: 30200) L2OutputOracleTest:test_computeL2Timestamp() (gas: 30200)
L2OutputOracleTest:test_constructor() (gas: 48793) L2OutputOracleTest:test_constructor() (gas: 48815)
L2OutputOracleTest:test_deleteL2Output() (gas: 76438) L2OutputOracleTest:test_deleteL2Output() (gas: 76456)
L2OutputOracleTest:test_getL2Output() (gas: 82869) L2OutputOracleTest:test_getL2Output() (gas: 82869)
L2OutputOracleTest:test_latestBlockNumber() (gas: 76176) L2OutputOracleTest:test_latestBlockNumber() (gas: 76198)
L2OutputOracleTest:test_nextBlockNumber() (gas: 15122) L2OutputOracleTest:test_nextBlockNumber() (gas: 15122)
L2OutputOracleTest:test_updateOwner() (gas: 34603) L2OutputOracleTest:test_updateOwner() (gas: 34625)
L2OutputOracleUpgradeable_Test:test_cannotInitImpl() (gas: 8476) L2OutputOracleUpgradeable_Test:test_cannotInitImpl() (gas: 8476)
L2OutputOracleUpgradeable_Test:test_cannotInitProxy() (gas: 13497) L2OutputOracleUpgradeable_Test:test_cannotInitProxy() (gas: 13431)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy() (gas: 38865) L2OutputOracleUpgradeable_Test:test_initValuesOnProxy() (gas: 38865)
L2OutputOracleUpgradeable_Test:test_upgrading() (gas: 230843) L2OutputOracleUpgradeable_Test:test_upgrading() (gas: 230843)
L2StandardBridge_Test:test_ERC20BridgeFailed_whenLocalTokenIsBridge() (gas: 133200) L2StandardBridge_Test:test_ERC20BridgeFailed_whenLocalTokenIsBridge() (gas: 133200)
L2StandardBridge_Test:test_cannotWithdrawEthWithoutSendingIt() (gas: 21656) L2StandardBridge_Test:test_cannotWithdrawEthWithoutSendingIt() (gas: 21656)
L2StandardBridge_Test:test_finalizeDeposit() (gas: 93203) L2StandardBridge_Test:test_finalizeDeposit() (gas: 93225)
L2StandardBridge_Test:test_finalizeDeposit_failsToCompleteOutboundTransfer() (gas: 140210) L2StandardBridge_Test:test_finalizeDeposit_failsToCompleteOutboundTransfer() (gas: 140232)
L2StandardBridge_Test:test_initialize() (gas: 14802) L2StandardBridge_Test:test_initialize() (gas: 14824)
L2StandardBridge_Test:test_receive() (gas: 136525) L2StandardBridge_Test:test_receive() (gas: 136525)
L2StandardBridge_Test:test_withdraw() (gas: 352813) L2StandardBridge_Test:test_withdraw() (gas: 352831)
L2StandardBridge_Test:test_withdrawTo() (gas: 353498) L2StandardBridge_Test:test_withdrawTo() (gas: 353516)
L2StandardBridge_Test:test_withdraw_onlyEOA() (gas: 252006) L2StandardBridge_Test:test_withdraw_onlyEOA() (gas: 252006)
L2ToL1MessagePasserTest:test_burn() (gas: 112037) L2ToL1MessagePasserTest:test_burn() (gas: 112059)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract() (gas: 67892) L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract() (gas: 67847)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromEOA() (gas: 74831) L2ToL1MessagePasserTest:test_initiateWithdrawal_fromEOA() (gas: 74831)
LegacyERC20ETH_Test:test_approve() (gas: 10796) LegacyERC20ETH_Test:test_approve() (gas: 10731)
LegacyERC20ETH_Test:test_burn() (gas: 10681) LegacyERC20ETH_Test:test_burn() (gas: 10615)
LegacyERC20ETH_Test:test_crossDomain() (gas: 10577) LegacyERC20ETH_Test:test_crossDomain() (gas: 10599)
LegacyERC20ETH_Test:test_decreaseAllowance() (gas: 10731) LegacyERC20ETH_Test:test_decreaseAllowance() (gas: 10731)
LegacyERC20ETH_Test:test_increaseAllowance() (gas: 10741) LegacyERC20ETH_Test:test_increaseAllowance() (gas: 10763)
LegacyERC20ETH_Test:test_metadata() (gas: 15586) LegacyERC20ETH_Test:test_metadata() (gas: 15608)
LegacyERC20ETH_Test:test_mint() (gas: 10627) LegacyERC20ETH_Test:test_mint() (gas: 10627)
LegacyERC20ETH_Test:test_transfer() (gas: 10829) LegacyERC20ETH_Test:test_transfer() (gas: 10762)
LegacyERC20ETH_Test:test_transferFrom() (gas: 13008) LegacyERC20ETH_Test:test_transferFrom() (gas: 13008)
OptimismMintableERC20_Test:test_bridge() (gas: 9828) OptimismMintableERC20_Test:test_bridge() (gas: 9850)
OptimismMintableERC20_Test:test_burn() (gas: 52826) OptimismMintableERC20_Test:test_burn() (gas: 52773)
OptimismMintableERC20_Test:test_burnRevertsFromNotBridge() (gas: 13219) OptimismMintableERC20_Test:test_burnRevertsFromNotBridge() (gas: 13241)
OptimismMintableERC20_Test:test_erc165_supportsInterface() (gas: 7828) OptimismMintableERC20_Test:test_erc165_supportsInterface() (gas: 7828)
OptimismMintableERC20_Test:test_l1Token() (gas: 9824) OptimismMintableERC20_Test:test_l1Token() (gas: 9757)
OptimismMintableERC20_Test:test_l2Bridge() (gas: 9746) OptimismMintableERC20_Test:test_l2Bridge() (gas: 9768)
OptimismMintableERC20_Test:test_mint() (gas: 65754) OptimismMintableERC20_Test:test_mint() (gas: 65754)
OptimismMintableERC20_Test:test_mintRevertsFromNotBridge() (gas: 13243) OptimismMintableERC20_Test:test_mintRevertsFromNotBridge() (gas: 13243)
OptimismMintableERC20_Test:test_remoteToken() (gas: 9740) OptimismMintableERC20_Test:test_remoteToken() (gas: 9762)
OptimismMintableTokenFactory_Test:test_bridge() (gas: 7663) OptimismMintableTokenFactory_Test:test_bridge() (gas: 7598)
OptimismMintableTokenFactory_Test:test_createStandardL2Token() (gas: 1113150) OptimismMintableTokenFactory_Test:test_createStandardL2Token() (gas: 1113150)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenSameTwice() (gas: 2209211) OptimismMintableTokenFactory_Test:test_createStandardL2TokenSameTwice() (gas: 2209211)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenShouldRevertIfRemoteIsZero() (gas: 9399) OptimismMintableTokenFactory_Test:test_createStandardL2TokenShouldRevertIfRemoteIsZero() (gas: 9399)
OptimismPortalUpgradeable_Test:test_cannotInitImpl() (gas: 10933) OptimismPortalUpgradeable_Test:test_cannotInitImpl() (gas: 10933)
OptimismPortalUpgradeable_Test:test_cannotInitProxy() (gas: 15975) OptimismPortalUpgradeable_Test:test_cannotInitProxy() (gas: 15909)
OptimismPortalUpgradeable_Test:test_initValuesOnProxy() (gas: 15990) OptimismPortalUpgradeable_Test:test_initValuesOnProxy() (gas: 15990)
OptimismPortalUpgradeable_Test:test_upgrading() (gas: 230843) OptimismPortalUpgradeable_Test:test_upgrading() (gas: 230843)
OptimismPortal_Test:test_OptimismPortalConstructor() (gas: 17319) OptimismPortal_Test:test_OptimismPortalConstructor() (gas: 17341)
OptimismPortal_Test:test_OptimismPortalContractCreationReverts() (gas: 14238) OptimismPortal_Test:test_OptimismPortalContractCreationReverts() (gas: 14215)
OptimismPortal_Test:test_OptimismPortalReceiveEth() (gas: 126614) OptimismPortal_Test:test_OptimismPortalReceiveEth() (gas: 126636)
OptimismPortal_Test:test_cannotVerifyRecentWithdrawal() (gas: 31902) OptimismPortal_Test:test_cannotVerifyRecentWithdrawal() (gas: 31902)
OptimismPortal_Test:test_depositTransaction_NoValueContract() (gas: 75820) OptimismPortal_Test:test_depositTransaction_NoValueContract() (gas: 75797)
OptimismPortal_Test:test_depositTransaction_NoValueEOA() (gas: 76099) OptimismPortal_Test:test_depositTransaction_NoValueEOA() (gas: 76121)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForContract() (gas: 75825) OptimismPortal_Test:test_depositTransaction_createWithZeroValueForContract() (gas: 75825)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForEOA() (gas: 76146) OptimismPortal_Test:test_depositTransaction_createWithZeroValueForEOA() (gas: 76146)
OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreation() (gas: 82846) OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreation() (gas: 82846)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation() (gas: 75007) OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation() (gas: 75029)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract() (gas: 82550) OptimismPortal_Test:test_depositTransaction_withEthValueFromContract() (gas: 82485)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA() (gas: 83145) OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA() (gas: 83101)
OptimismPortal_Test:test_invalidWithdrawalProof() (gas: 45086) OptimismPortal_Test:test_invalidWithdrawalProof() (gas: 45108)
OptimismPortal_Test:test_isOutputFinalized() (gas: 131886) OptimismPortal_Test:test_isOutputFinalized() (gas: 131842)
OptimismPortal_Test:test_simple_isOutputFinalized() (gas: 23999) OptimismPortal_Test:test_simple_isOutputFinalized() (gas: 24021)
Proxy_Test:test_clashingFunctionSignatures() (gas: 101427) Proxy_Test:test_clashingFunctionSignatures() (gas: 101427)
Proxy_Test:test_implementationKey() (gas: 20942) Proxy_Test:test_implementationKey() (gas: 20942)
Proxy_Test:test_implementationProxyCallIfNotAdmin() (gas: 30021) Proxy_Test:test_implementationProxyCallIfNotAdmin() (gas: 30021)
Proxy_Test:test_implementationZeroAddress() (gas: 48000) Proxy_Test:test_implementationZeroAddress() (gas: 48022)
Proxy_Test:test_itDelegatesToTheImplementation() (gas: 45251) Proxy_Test:test_itDelegatesToTheImplementation() (gas: 45184)
Proxy_Test:test_ownerKey() (gas: 19091) Proxy_Test:test_ownerKey() (gas: 19113)
Proxy_Test:test_ownerProxyCallIfNotAdmin() (gas: 34711) Proxy_Test:test_ownerProxyCallIfNotAdmin() (gas: 34733)
Proxy_Test:test_payableUpgradeToAndCall() (gas: 53865) Proxy_Test:test_payableUpgradeToAndCall() (gas: 53887)
Proxy_Test:test_revertUpgradeToAndCall() (gas: 104654) Proxy_Test:test_revertUpgradeToAndCall() (gas: 104654)
Proxy_Test:test_upgradeToAndCall() (gas: 125305) Proxy_Test:test_upgradeToAndCall() (gas: 125238)
Proxy_Test:test_zeroAddressCaller() (gas: 14825) Proxy_Test:test_zeroAddressCaller() (gas: 14758)
ProxyAdmin_Test:test_chugsplashChangeProxyAdmin() (gas: 35647) ProxyAdmin_Test:test_chugsplashChangeProxyAdmin() (gas: 35647)
ProxyAdmin_Test:test_chugsplashGetProxyAdmin() (gas: 15689) ProxyAdmin_Test:test_chugsplashGetProxyAdmin() (gas: 15711)
ProxyAdmin_Test:test_chugsplashGetProxyImplementation() (gas: 51167) ProxyAdmin_Test:test_chugsplashGetProxyImplementation() (gas: 51122)
ProxyAdmin_Test:test_chugsplashUpgrade() (gas: 48972) ProxyAdmin_Test:test_chugsplashUpgrade() (gas: 48994)
ProxyAdmin_Test:test_chugsplashUpgradeAndCall() (gas: 82345) ProxyAdmin_Test:test_chugsplashUpgradeAndCall() (gas: 82322)
ProxyAdmin_Test:test_delegateResolvedChangeProxyAdmin() (gas: 34020) ProxyAdmin_Test:test_delegateResolvedChangeProxyAdmin() (gas: 33976)
ProxyAdmin_Test:test_delegateResolvedGetProxyAdmin() (gas: 17708) ProxyAdmin_Test:test_delegateResolvedGetProxyAdmin() (gas: 17685)
ProxyAdmin_Test:test_delegateResolvedGetProxyImplementation() (gas: 62016) ProxyAdmin_Test:test_delegateResolvedGetProxyImplementation() (gas: 62016)
ProxyAdmin_Test:test_delegateResolvedUpgrade() (gas: 58466) ProxyAdmin_Test:test_delegateResolvedUpgrade() (gas: 58422)
ProxyAdmin_Test:test_delegateResolvedUpgradeAndCall() (gas: 97926) ProxyAdmin_Test:test_delegateResolvedUpgradeAndCall() (gas: 97948)
ProxyAdmin_Test:test_erc1967ChangeProxyAdmin() (gas: 33863) ProxyAdmin_Test:test_erc1967ChangeProxyAdmin() (gas: 33863)
ProxyAdmin_Test:test_erc1967GetProxyAdmin() (gas: 15672) ProxyAdmin_Test:test_erc1967GetProxyAdmin() (gas: 15672)
ProxyAdmin_Test:test_erc1967GetProxyImplementation() (gas: 52102) ProxyAdmin_Test:test_erc1967GetProxyImplementation() (gas: 52124)
ProxyAdmin_Test:test_erc1967Upgrade() (gas: 50036) ProxyAdmin_Test:test_erc1967Upgrade() (gas: 50036)
ProxyAdmin_Test:test_erc1967UpgradeAndCall() (gas: 79019) ProxyAdmin_Test:test_erc1967UpgradeAndCall() (gas: 79019)
ProxyAdmin_Test:test_isUpgrading() (gas: 19575) ProxyAdmin_Test:test_isUpgrading() (gas: 19530)
ProxyAdmin_Test:test_onlyOwner() (gas: 22715) ProxyAdmin_Test:test_onlyOwner() (gas: 22715)
ProxyAdmin_Test:test_onlyOwnerSetAddressManager() (gas: 10600) ProxyAdmin_Test:test_onlyOwnerSetAddressManager() (gas: 10622)
ProxyAdmin_Test:test_onlyOwnerSetImplementationName() (gas: 11113) ProxyAdmin_Test:test_onlyOwnerSetImplementationName() (gas: 11135)
ProxyAdmin_Test:test_onlyOwnerSetProxyType() (gas: 10751) ProxyAdmin_Test:test_onlyOwnerSetProxyType() (gas: 10751)
ProxyAdmin_Test:test_owner() (gas: 9818) ProxyAdmin_Test:test_owner() (gas: 9776)
ProxyAdmin_Test:test_proxyType() (gas: 20622) ProxyAdmin_Test:test_proxyType() (gas: 20622)
ProxyAdmin_Test:test_setImplementationName() (gas: 39002) ProxyAdmin_Test:test_setImplementationName() (gas: 38957)
RLPReader_Test:testReadBool() (gas: 1109) RLPReader_Test:testReadBool() (gas: 1109)
RLPReader_Test:test_readAddress() (gas: 1347) RLPReader_Test:test_readAddress() (gas: 1347)
RLPReader_Test:test_readAddressSmall() (gas: 614) RLPReader_Test:test_readAddressSmall() (gas: 614)
RLPReader_Test:test_readAddressTooLarge() (gas: 3646) RLPReader_Test:test_readAddressTooLarge() (gas: 3646)
RLPReader_Test:test_readAddressTooShort() (gas: 3603) RLPReader_Test:test_readAddressTooShort() (gas: 3625)
RLPReader_Test:test_readBoolInvalidValue() (gas: 3677) RLPReader_Test:test_readBoolInvalidValue() (gas: 3699)
RLPReader_Test:test_readBoolLargeInput() (gas: 3550) RLPReader_Test:test_readBoolLargeInput() (gas: 3572)
RLPReader_Test:test_readBytes32_revertOnList() (gas: 3998) RLPReader_Test:test_readBytes32_revertOnList() (gas: 4020)
RLPReader_Test:test_readBytes32_revertOnTooLong() (gas: 3588) RLPReader_Test:test_readBytes32_revertOnTooLong() (gas: 3610)
RLPReader_Test:test_readBytes_bytestring00() (gas: 1823) RLPReader_Test:test_readBytes_bytestring00() (gas: 1845)
RLPReader_Test:test_readBytes_bytestring01() (gas: 1846) RLPReader_Test:test_readBytes_bytestring01() (gas: 1846)
RLPReader_Test:test_readBytes_bytestring7f() (gas: 1844) RLPReader_Test:test_readBytes_bytestring7f() (gas: 1779)
RLPReader_Test:test_readBytes_invalidListLength() (gas: 3812) RLPReader_Test:test_readBytes_invalidListLength() (gas: 3834)
RLPReader_Test:test_readBytes_invalidStringLength() (gas: 3768) RLPReader_Test:test_readBytes_invalidStringLength() (gas: 3790)
RLPReader_Test:test_readBytes_revertListItem() (gas: 3922) RLPReader_Test:test_readBytes_revertListItem() (gas: 3944)
RLPReader_Test:test_readList_dictTest1() (gas: 23791) RLPReader_Test:test_readList_dictTest1() (gas: 23791)
RLPReader_Test:test_readList_empty() (gas: 4472) RLPReader_Test:test_readList_empty() (gas: 4472)
RLPReader_Test:test_readList_incorrectLengthInArray() (gas: 4210) RLPReader_Test:test_readList_incorrectLengthInArray() (gas: 4210)
RLPReader_Test:test_readList_int32Overflow() (gas: 3955) RLPReader_Test:test_readList_int32Overflow() (gas: 3955)
RLPReader_Test:test_readList_int32Overflow2() (gas: 4021) RLPReader_Test:test_readList_int32Overflow2() (gas: 3998)
RLPReader_Test:test_readList_invalidShortList() (gas: 3855) RLPReader_Test:test_readList_invalidShortList() (gas: 3788)
RLPReader_Test:test_readList_invalidValue() (gas: 3787) RLPReader_Test:test_readList_invalidValue() (gas: 3787)
RLPReader_Test:test_readList_leadingZerosInLongLengthArray1() (gas: 4193) RLPReader_Test:test_readList_leadingZerosInLongLengthArray1() (gas: 4215)
RLPReader_Test:test_readList_leadingZerosInLongLengthArray2() (gas: 4177) RLPReader_Test:test_readList_leadingZerosInLongLengthArray2() (gas: 4199)
RLPReader_Test:test_readList_leadingZerosInLongLengthList1() (gas: 38560) RLPReader_Test:test_readList_leadingZerosInLongLengthList1() (gas: 38582)
RLPReader_Test:test_readList_listOfLists() (gas: 9619) RLPReader_Test:test_readList_listOfLists() (gas: 9641)
RLPReader_Test:test_readList_listOfLists2() (gas: 12479) RLPReader_Test:test_readList_listOfLists2() (gas: 12456)
RLPReader_Test:test_readList_longList1() (gas: 29013) RLPReader_Test:test_readList_longList1() (gas: 29013)
RLPReader_Test:test_readList_longList2() (gas: 202895) RLPReader_Test:test_readList_longList2() (gas: 202917)
RLPReader_Test:test_readList_longStringLength() (gas: 3853) RLPReader_Test:test_readList_longStringLength() (gas: 3787)
RLPReader_Test:test_readList_multiList() (gas: 12025) RLPReader_Test:test_readList_multiList() (gas: 11961)
RLPReader_Test:test_readList_nonOptimalLongLengthArray1() (gas: 4200) RLPReader_Test:test_readList_nonOptimalLongLengthArray1() (gas: 4222)
RLPReader_Test:test_readList_nonOptimalLongLengthArray2() (gas: 4223) RLPReader_Test:test_readList_nonOptimalLongLengthArray2() (gas: 4223)
RLPReader_Test:test_readList_notLongEnough() (gas: 3841) RLPReader_Test:test_readList_notLongEnough() (gas: 3863)
RLPReader_Test:test_readList_shortListMax1() (gas: 40662) RLPReader_Test:test_readList_shortListMax1() (gas: 40596)
RLPReader_Test:test_readList_stringList() (gas: 16796) RLPReader_Test:test_readList_stringList() (gas: 16818)
RLPReader_Test:test_readString_emptyString() (gas: 1719) RLPReader_Test:test_readString_emptyString() (gas: 1719)
RLPReader_Test:test_readString_longString() (gas: 3076) RLPReader_Test:test_readString_longString() (gas: 3098)
RLPReader_Test:test_readString_longString2() (gas: 18524) RLPReader_Test:test_readString_longString2() (gas: 18546)
RLPReader_Test:test_readString_shortString() (gas: 2280) RLPReader_Test:test_readString_shortString() (gas: 2302)
RLPReader_Test:test_readString_shortString2() (gas: 2775) RLPReader_Test:test_readString_shortString2() (gas: 2775)
RLPReader_Test:test_readUint256_mediumInt1() (gas: 1235) RLPReader_Test:test_readUint256_mediumInt1() (gas: 1257)
RLPReader_Test:test_readUint256_mediumInt2() (gas: 1237) RLPReader_Test:test_readUint256_mediumInt2() (gas: 1237)
RLPReader_Test:test_readUint256_mediumInt3() (gas: 1238) RLPReader_Test:test_readUint256_mediumInt3() (gas: 1238)
RLPReader_Test:test_readUint256_smallInt() (gas: 1084) RLPReader_Test:test_readUint256_smallInt() (gas: 1106)
RLPReader_Test:test_readUint256_smallInt2() (gas: 1151) RLPReader_Test:test_readUint256_smallInt2() (gas: 1151)
RLPReader_Test:test_readUint256_smallInt3() (gas: 1127) RLPReader_Test:test_readUint256_smallInt3() (gas: 1104)
RLPReader_Test:test_readUint256_smallInt4() (gas: 1128) RLPReader_Test:test_readUint256_smallInt4() (gas: 1150)
RLPReader_Test:test_readUint256_zero() (gas: 1258) RLPReader_Test:test_readUint256_zero() (gas: 1258)
RLPWriter_Test:test_writeList_dictTest1() (gas: 37148) RLPWriter_Test:test_writeList_dictTest1() (gas: 37170)
RLPWriter_Test:test_writeList_empty() (gas: 1751) RLPWriter_Test:test_writeList_empty() (gas: 1773)
RLPWriter_Test:test_writeList_listoflists() (gas: 10969) RLPWriter_Test:test_writeList_listoflists() (gas: 10991)
RLPWriter_Test:test_writeList_listoflists2() (gas: 16779) RLPWriter_Test:test_writeList_listoflists2() (gas: 16779)
RLPWriter_Test:test_writeList_longlist1() (gas: 40730) RLPWriter_Test:test_writeList_longlist1() (gas: 40730)
RLPWriter_Test:test_writeList_longlist2() (gas: 283278) RLPWriter_Test:test_writeList_longlist2() (gas: 283255)
RLPWriter_Test:test_writeList_multiList() (gas: 22660) RLPWriter_Test:test_writeList_multiList() (gas: 22682)
RLPWriter_Test:test_writeList_shortListMax1() (gas: 36985) RLPWriter_Test:test_writeList_shortListMax1() (gas: 36985)
RLPWriter_Test:test_writeList_stringList() (gas: 10786) RLPWriter_Test:test_writeList_stringList() (gas: 10786)
RLPWriter_Test:test_writeString_bytestring00() (gas: 1022) RLPWriter_Test:test_writeString_bytestring00() (gas: 978)
RLPWriter_Test:test_writeString_bytestring01() (gas: 978) RLPWriter_Test:test_writeString_bytestring01() (gas: 1000)
RLPWriter_Test:test_writeString_bytestring7f() (gas: 1002) RLPWriter_Test:test_writeString_bytestring7f() (gas: 1002)
RLPWriter_Test:test_writeString_empty() (gas: 1704) RLPWriter_Test:test_writeString_empty() (gas: 1659)
RLPWriter_Test:test_writeString_longstring() (gas: 17180) RLPWriter_Test:test_writeString_longstring() (gas: 17135)
RLPWriter_Test:test_writeString_longstring2() (gas: 261864) RLPWriter_Test:test_writeString_longstring2() (gas: 261886)
RLPWriter_Test:test_writeString_shortstring() (gas: 2544) RLPWriter_Test:test_writeString_shortstring() (gas: 2544)
RLPWriter_Test:test_writeString_shortstring2() (gas: 15563) RLPWriter_Test:test_writeString_shortstring2() (gas: 15563)
RLPWriter_Test:test_writeUint_mediumint() (gas: 8430) RLPWriter_Test:test_writeUint_mediumint() (gas: 8452)
RLPWriter_Test:test_writeUint_mediumint2() (gas: 8780) RLPWriter_Test:test_writeUint_mediumint2() (gas: 8780)
RLPWriter_Test:test_writeUint_mediumint3() (gas: 9189) RLPWriter_Test:test_writeUint_mediumint3() (gas: 9189)
RLPWriter_Test:test_writeUint_smallint() (gas: 7350) RLPWriter_Test:test_writeUint_smallint() (gas: 7350)
RLPWriter_Test:test_writeUint_smallint2() (gas: 7352) RLPWriter_Test:test_writeUint_smallint2() (gas: 7352)
RLPWriter_Test:test_writeUint_smallint3() (gas: 7372) RLPWriter_Test:test_writeUint_smallint3() (gas: 7372)
RLPWriter_Test:test_writeUint_smallint4() (gas: 7351) RLPWriter_Test:test_writeUint_smallint4() (gas: 7373)
RLPWriter_Test:test_writeUint_zero() (gas: 7798) RLPWriter_Test:test_writeUint_zero() (gas: 7798)
ResourceMetering_Test:test_initialResourceParams() (gas: 8964) ResourceMetering_Test:test_initialResourceParams() (gas: 8986)
ResourceMetering_Test:test_updateNoGasDelta() (gas: 2008317) ResourceMetering_Test:test_updateNoGasDelta() (gas: 2008317)
ResourceMetering_Test:test_updateOneEmptyBlock() (gas: 18171) ResourceMetering_Test:test_updateOneEmptyBlock() (gas: 18126)
ResourceMetering_Test:test_updateParamsNoChange() (gas: 13956) ResourceMetering_Test:test_updateParamsNoChange() (gas: 13956)
ResourceMetering_Test:test_updateTenEmptyBlocks() (gas: 20571) ResourceMetering_Test:test_updateTenEmptyBlocks() (gas: 20593)
ResourceMetering_Test:test_updateTwoEmptyBlocks() (gas: 20594) ResourceMetering_Test:test_updateTwoEmptyBlocks() (gas: 20594)
ResourceMetering_Test:test_useMaxSucceeds() (gas: 8017119) ResourceMetering_Test:test_useMaxSucceeds() (gas: 8017141)
ResourceMetering_Test:test_useMoreThanMaxReverts() (gas: 16047) ResourceMetering_Test:test_useMoreThanMaxReverts() (gas: 16069)
Semver_Test:test_behindProxy() (gas: 504908) Semver_Test:test_behindProxy() (gas: 504930)
Semver_Test:test_major() (gas: 5406) Semver_Test:test_major() (gas: 5428)
Semver_Test:test_minor() (gas: 5430) Semver_Test:test_minor() (gas: 5430)
Semver_Test:test_patch() (gas: 5364) Semver_Test:test_patch() (gas: 5386)
SequencerFeeVault_Test:test_constructor() (gas: 7656) SequencerFeeVault_Test:test_constructor() (gas: 7611)
SequencerFeeVault_Test:test_minWithdrawalAmount() (gas: 5407) SequencerFeeVault_Test:test_minWithdrawalAmount() (gas: 5429)
SequencerFeeVault_Test:test_receive() (gas: 17258) SequencerFeeVault_Test:test_receive() (gas: 17258)
SequencerFeeVault_Test:test_revertWithdraw() (gas: 9332) SequencerFeeVault_Test:test_revertWithdraw() (gas: 9267)
SequencerFeeVault_Test:test_withdraw() (gas: 147323) SequencerFeeVault_Test:test_withdraw() (gas: 147345)
...@@ -141,7 +141,6 @@ contract OptimismPortal is Initializable, ResourceMetering, Semver { ...@@ -141,7 +141,6 @@ contract OptimismPortal is Initializable, ResourceMetering, Semver {
) public payable metered(_gasLimit) { ) public payable metered(_gasLimit) {
// Just to be safe, make sure that people specify address(0) as the target when doing // Just to be safe, make sure that people specify address(0) as the target when doing
// contract creations. // contract creations.
// TODO: Do we really need this? Prevents some user error, but adds gas.
if (_isCreation) { if (_isCreation) {
require( require(
_to == address(0), _to == address(0),
......
...@@ -16,7 +16,6 @@ import { OptimismMintableERC20 } from "../universal/OptimismMintableERC20.sol"; ...@@ -16,7 +16,6 @@ import { OptimismMintableERC20 } from "../universal/OptimismMintableERC20.sol";
* Examples of some token types that may not be properly supported by this contract include, * Examples of some token types that may not be properly supported by this contract include,
* but are not limited to: tokens with transfer fees, rebasing tokens, and * but are not limited to: tokens with transfer fees, rebasing tokens, and
* tokens with blocklists. * tokens with blocklists.
* TODO: ensure that this has 1:1 backwards compatibility
*/ */
contract L2StandardBridge is StandardBridge, Semver { contract L2StandardBridge is StandardBridge, Semver {
/** /**
......
...@@ -56,11 +56,8 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -56,11 +56,8 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
// the version is encoded in the nonce // the version is encoded in the nonce
function test_L1MessengerMessageVersion() external { function test_L1MessengerMessageVersion() external {
(,uint16 version) = Encoding.decodeVersionedNonce(L1Messenger.messageNonce()); (, uint16 version) = Encoding.decodeVersionedNonce(L1Messenger.messageNonce());
assertEq( assertEq(version, L1Messenger.MESSAGE_VERSION());
version,
L1Messenger.MESSAGE_VERSION()
);
} }
// sendMessage: should be able to send a single message // sendMessage: should be able to send a single message
...@@ -172,7 +169,6 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -172,7 +169,6 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
address sender = PredeployAddresses.L2_CROSS_DOMAIN_MESSENGER; address sender = PredeployAddresses.L2_CROSS_DOMAIN_MESSENGER;
bytes memory message = hex"1111"; bytes memory message = hex"1111";
// set the value of op.l2Sender() to be the L2 Cross Domain Messenger.
vm.prank(address(op)); vm.prank(address(op));
vm.expectRevert("Message cannot be replayed."); vm.expectRevert("Message cannot be replayed.");
L1Messenger.relayMessage(0, sender, target, 0, 0, message); L1Messenger.relayMessage(0, sender, target, 0, 0, message);
...@@ -182,6 +178,18 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer { ...@@ -182,6 +178,18 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
L1Messenger.relayMessage(0, sender, target, 0, 0, message); L1Messenger.relayMessage(0, sender, target, 0, 0, message);
} }
// relayMessage: should revert if eth is sent from a contract other than the standard bridge
function test_L1MessengerReplayMessageWithValue() external {
address target = address(0xabcd);
address sender = PredeployAddresses.L2_CROSS_DOMAIN_MESSENGER;
bytes memory message = hex"1111";
vm.expectRevert(
"CrossDomainMessenger: Value must be zero unless message is from a system address."
);
L1Messenger.relayMessage{ value: 100 }(0, sender, target, 0, 0, message);
}
// relayMessage: the xDomainMessageSender is reset to the original value // relayMessage: the xDomainMessageSender is reset to the original value
function test_L1MessengerxDomainMessageSenderResets() external { function test_L1MessengerxDomainMessageSenderResets() external {
vm.expectRevert("xDomainMessageSender is not set"); vm.expectRevert("xDomainMessageSender is not set");
......
...@@ -186,9 +186,6 @@ abstract contract CrossDomainMessenger is ...@@ -186,9 +186,6 @@ abstract contract CrossDomainMessenger is
* @return Amount of gas required to guarantee message receipt. * @return Amount of gas required to guarantee message receipt.
*/ */
function baseGas(bytes memory _message) public pure returns (uint32) { function baseGas(bytes memory _message) public pure returns (uint32) {
// TODO: Values here are meant to be good enough to get a devnet running. We need to do
// some simple experimentation with the smallest and largest possible message sizes to find
// the correct constant and dynamic overhead values.
return (uint32(_message.length) * MIN_GAS_DYNAMIC_OVERHEAD) + MIN_GAS_CONSTANT_OVERHEAD; return (uint32(_message.length) * MIN_GAS_DYNAMIC_OVERHEAD) + MIN_GAS_CONSTANT_OVERHEAD;
} }
...@@ -263,13 +260,13 @@ abstract contract CrossDomainMessenger is ...@@ -263,13 +260,13 @@ abstract contract CrossDomainMessenger is
// Should never happen. // Should never happen.
require(msg.value == _value, "Mismatched message value."); require(msg.value == _value, "Mismatched message value.");
} else { } else {
// TODO(tynes): could require that msg.value == 0 here require(
// to prevent eth from getting stuck msg.value == 0,
"CrossDomainMessenger: Value must be zero unless message is from a system address."
);
require(receivedMessages[versionedHash], "Message cannot be replayed."); require(receivedMessages[versionedHash], "Message cannot be replayed.");
} }
// TODO: Should blocking happen on sending or receiving side?
// TODO: Should this just return with an event instead of reverting?
require( require(
blockedSystemAddresses[_target] == false, blockedSystemAddresses[_target] == false,
"Cannot send message to blocked system address." "Cannot send message to blocked system address."
...@@ -277,7 +274,6 @@ abstract contract CrossDomainMessenger is ...@@ -277,7 +274,6 @@ abstract contract CrossDomainMessenger is
require(successfulMessages[versionedHash] == false, "Message has already been relayed."); require(successfulMessages[versionedHash] == false, "Message has already been relayed.");
// TODO: Make sure this will always give us enough gas.
require( require(
gasleft() >= _minGasLimit + RELAY_GAS_REQUIRED, gasleft() >= _minGasLimit + RELAY_GAS_REQUIRED,
"Insufficient gas to relay message." "Insufficient gas to relay message."
......
...@@ -442,7 +442,6 @@ abstract contract StandardBridge is Initializable { ...@@ -442,7 +442,6 @@ abstract contract StandardBridge is Initializable {
OptimismMintableERC20(_localToken).burn(_from, _amount); OptimismMintableERC20(_localToken).burn(_from, _amount);
} else { } else {
// TODO: Do we need to confirm that the transfer was successful?
IERC20(_localToken).safeTransferFrom(_from, address(this), _amount); IERC20(_localToken).safeTransferFrom(_from, address(this), _amount);
deposits[_localToken][_remoteToken] = deposits[_localToken][_remoteToken] + _amount; deposits[_localToken][_remoteToken] = deposits[_localToken][_remoteToken] + _amount;
} }
......
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