Commit 0d0df070 authored by Mark Tyneway's avatar Mark Tyneway

contracts-bedrock: cleanup

contracts-bedrock: fix deployment

lint: fix

contracts-bedrock: snapshot regenerate

contracts-bedrock: portal pausability in constructor

contracts-bedrock: cleanup

contracts-bedrock: better comments

contracts-bedrock: regenerate invariant docs
parent 41accd0b
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -123,6 +123,7 @@ func BuildL1DeveloperGenesis(config *DeployConfig) (*core.Genesis, error) { ...@@ -123,6 +123,7 @@ func BuildL1DeveloperGenesis(config *DeployConfig) (*core.Genesis, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
// Initialize the OptimismPortal without being paused
data, err = portalABI.Pack("initialize", false) data, err = portalABI.Pack("initialize", false)
if err != nil { if err != nil {
return nil, fmt.Errorf("cannot abi encode initialize for OptimismPortal: %w", err) return nil, fmt.Errorf("cannot abi encode initialize for OptimismPortal: %w", err)
...@@ -290,11 +291,15 @@ func deployL1Contracts(config *DeployConfig, backend *backends.SimulatedBackend) ...@@ -290,11 +291,15 @@ func deployL1Contracts(config *DeployConfig, backend *backends.SimulatedBackend)
}, },
}, },
{ {
// The implementation of the OptimismPortal is deployed
// as being paused to prevent invalid usage of the network
// as only the proxy should be used
Name: "OptimismPortal", Name: "OptimismPortal",
Args: []interface{}{ Args: []interface{}{
predeploys.DevL2OutputOracleAddr, predeploys.DevL2OutputOracleAddr,
config.FinalSystemOwner, config.FinalSystemOwner,
uint642Big(config.FinalizationPeriodSeconds), uint642Big(config.FinalizationPeriodSeconds),
true, // _paused
}, },
}, },
{ {
...@@ -359,6 +364,7 @@ func l1Deployer(backend *backends.SimulatedBackend, opts *bind.TransactOpts, dep ...@@ -359,6 +364,7 @@ func l1Deployer(backend *backends.SimulatedBackend, opts *bind.TransactOpts, dep
deployment.Args[0].(common.Address), deployment.Args[0].(common.Address),
deployment.Args[1].(common.Address), deployment.Args[1].(common.Address),
deployment.Args[2].(*big.Int), deployment.Args[2].(*big.Int),
deployment.Args[3].(bool),
) )
case "L1CrossDomainMessenger": case "L1CrossDomainMessenger":
_, tx, _, err = bindings.DeployL1CrossDomainMessenger( _, tx, _, err = bindings.DeployL1CrossDomainMessenger(
......
<<<<<<< HEAD GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_0() (gas: 263533)
GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_0() (gas: 261376) GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_1() (gas: 78062)
GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_1() (gas: 75905) GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 350485)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 348328) GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 114940)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 112783) GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 350507)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 348350) GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 114960)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 112803)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 40875) GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 40875)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 88535) GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 88535)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 75044) GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 77201)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 36157) GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 38314)
GasBenchMark_OptimismPortal:test_proveWithdrawalTransaction_benchmark() (gas: 167103) GasBenchMark_OptimismPortal:test_proveWithdrawalTransaction_benchmark() (gas: 169229)
Bytes_slice_Test:test_slice_acrossMultipleWords_works() (gas: 9423) Bytes_slice_Test:test_slice_acrossMultipleWords_works() (gas: 9423)
Bytes_slice_Test:test_slice_acrossWords_works() (gas: 1418) Bytes_slice_Test:test_slice_acrossWords_works() (gas: 1418)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_0() (gas: 261376)
GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_1() (gas: 75883)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 348328)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 112760)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 348350)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 112781)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 40853)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 88513)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 75030)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 36188)
GasBenchMark_OptimismPortal:test_proveWithdrawalTransaction_benchmark() (gas: 167187)
Bytes_slice_Test:test_slice_acrossMultipleWords_works() (gas: 9357)
Bytes_slice_Test:test_slice_acrossWords_works() (gas: 1396)
=======
GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_0() (gas: 263502)
GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_1() (gas: 78009)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 350454)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 114886)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 350476)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 114907)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 40853)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 88516)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 77156)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 38314)
GasBenchMark_OptimismPortal:test_proveWithdrawalTransaction_benchmark() (gas: 169313)
Bytes_slice_Test:test_slice_acrossMultipleWords_works() (gas: 9357)
Bytes_slice_Test:test_slice_acrossWords_works() (gas: 1396)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
Bytes_slice_Test:test_slice_fromNonZeroIdx_works() (gas: 17154) Bytes_slice_Test:test_slice_fromNonZeroIdx_works() (gas: 17154)
Bytes_slice_Test:test_slice_fromZeroIdx_works() (gas: 20694) Bytes_slice_Test:test_slice_fromZeroIdx_works() (gas: 20694)
Bytes_toNibbles_Test:test_toNibbles_expectedResult128Bytes_works() (gas: 129874) Bytes_toNibbles_Test:test_toNibbles_expectedResult128Bytes_works() (gas: 129874)
Bytes_toNibbles_Test:test_toNibbles_expectedResult5Bytes_works() (gas: 6132) Bytes_toNibbles_Test:test_toNibbles_expectedResult5Bytes_works() (gas: 6132)
Bytes_toNibbles_Test:test_toNibbles_zeroLengthInput_works() (gas: 944) Bytes_toNibbles_Test:test_toNibbles_zeroLengthInput_works() (gas: 944)
CrossDomainMessenger_BaseGas_Test:test_baseGas_succeeds() (gas: 20120) CrossDomainMessenger_BaseGas_Test:test_baseGas_succeeds() (gas: 20120)
<<<<<<< HEAD CrossDomainOwnableThroughPortal_Test:test_depositTransaction_crossDomainOwner_succeeds() (gas: 74620)
CrossDomainOwnableThroughPortal_Test:test_depositTransaction_crossDomainOwner_succeeds() (gas: 72463)
CrossDomainOwnable_Test:test_onlyOwner_notOwner_reverts() (gas: 10597) CrossDomainOwnable_Test:test_onlyOwner_notOwner_reverts() (gas: 10597)
CrossDomainOwnable_Test:test_onlyOwner_succeeds() (gas: 34883) CrossDomainOwnable_Test:test_onlyOwner_succeeds() (gas: 34883)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
CrossDomainOwnableThroughPortal_Test:test_depositTransaction_crossDomainOwner_succeeds() (gas: 72436)
CrossDomainOwnable_Test:test_onlyOwner_notOwner_reverts() (gas: 10530)
CrossDomainOwnable_Test:test_onlyOwner_succeeds() (gas: 34861)
=======
CrossDomainOwnableThroughPortal_Test:test_depositTransaction_crossDomainOwner_succeeds() (gas: 74580)
CrossDomainOwnable_Test:test_onlyOwner_notOwner_reverts() (gas: 10530)
CrossDomainOwnable_Test:test_onlyOwner_succeeds() (gas: 34861)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
CrossDomainOwnable2_Test:test_onlyOwner_notMessenger_reverts() (gas: 8416) CrossDomainOwnable2_Test:test_onlyOwner_notMessenger_reverts() (gas: 8416)
CrossDomainOwnable2_Test:test_onlyOwner_notOwner2_reverts() (gas: 63695) CrossDomainOwnable2_Test:test_onlyOwner_notOwner2_reverts() (gas: 63695)
CrossDomainOwnable2_Test:test_onlyOwner_notOwner_reverts() (gas: 16544) CrossDomainOwnable2_Test:test_onlyOwner_notOwner_reverts() (gas: 16544)
...@@ -112,7 +72,6 @@ L1CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 24759) ...@@ -112,7 +72,6 @@ L1CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 24759)
L1CrossDomainMessenger_Test:test_pause_callerIsNotOwner_reverts() (gas: 24495) L1CrossDomainMessenger_Test:test_pause_callerIsNotOwner_reverts() (gas: 24495)
L1CrossDomainMessenger_Test:test_pause_succeeds() (gas: 52964) L1CrossDomainMessenger_Test:test_pause_succeeds() (gas: 52964)
L1CrossDomainMessenger_Test:test_relayMessage_legacyOldReplay_reverts() (gas: 51545) L1CrossDomainMessenger_Test:test_relayMessage_legacyOldReplay_reverts() (gas: 51545)
<<<<<<< HEAD
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailureThenSuccess_reverts() (gas: 230679) L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailureThenSuccess_reverts() (gas: 230679)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailure_succeeds() (gas: 204045) L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailure_succeeds() (gas: 204045)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterSuccess_reverts() (gas: 144222) L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterSuccess_reverts() (gas: 144222)
...@@ -124,130 +83,38 @@ L1CrossDomainMessenger_Test:test_relayMessage_retryAfterFailure_succeeds() (gas: ...@@ -124,130 +83,38 @@ L1CrossDomainMessenger_Test:test_relayMessage_retryAfterFailure_succeeds() (gas:
L1CrossDomainMessenger_Test:test_relayMessage_succeeds() (gas: 73984) L1CrossDomainMessenger_Test:test_relayMessage_succeeds() (gas: 73984)
L1CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 100533) L1CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 100533)
L1CrossDomainMessenger_Test:test_relayMessage_v2_reverts() (gas: 14494) L1CrossDomainMessenger_Test:test_relayMessage_v2_reverts() (gas: 14494)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailureThenSuccess_reverts() (gas: 230701)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailure_succeeds() (gas: 204067)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterSuccess_reverts() (gas: 144199)
L1CrossDomainMessenger_Test:test_relayMessage_legacy_succeeds() (gas: 77026)
L1CrossDomainMessenger_Test:test_relayMessage_paused_reverts() (gas: 55447)
L1CrossDomainMessenger_Test:test_relayMessage_reentrancyDiffMessage_succeeds() (gas: 723099)
L1CrossDomainMessenger_Test:test_relayMessage_reentrancySameMessage_reverts() (gas: 660069)
L1CrossDomainMessenger_Test:test_relayMessage_retryAfterFailure_succeeds() (gas: 197996)
L1CrossDomainMessenger_Test:test_relayMessage_succeeds() (gas: 73984)
L1CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 100511)
L1CrossDomainMessenger_Test:test_relayMessage_v2_reverts() (gas: 14471)
=======
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailureThenSuccess_reverts() (gas: 230726)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailure_succeeds() (gas: 204092)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterSuccess_reverts() (gas: 144224)
L1CrossDomainMessenger_Test:test_relayMessage_legacy_succeeds() (gas: 77048)
L1CrossDomainMessenger_Test:test_relayMessage_paused_reverts() (gas: 55447)
L1CrossDomainMessenger_Test:test_relayMessage_reentrancyDiffMessage_succeeds() (gas: 723152)
L1CrossDomainMessenger_Test:test_relayMessage_reentrancySameMessage_reverts() (gas: 660100)
L1CrossDomainMessenger_Test:test_relayMessage_retryAfterFailure_succeeds() (gas: 198021)
L1CrossDomainMessenger_Test:test_relayMessage_succeeds() (gas: 74006)
L1CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 100530)
L1CrossDomainMessenger_Test:test_relayMessage_v2_reverts() (gas: 14471)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1CrossDomainMessenger_Test:test_replayMessage_withValue_reverts() (gas: 55573) L1CrossDomainMessenger_Test:test_replayMessage_withValue_reverts() (gas: 55573)
<<<<<<< HEAD L1CrossDomainMessenger_Test:test_sendMessage_succeeds() (gas: 301867)
L1CrossDomainMessenger_Test:test_sendMessage_succeeds() (gas: 299710) L1CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 1492945)
L1CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 1490631)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1CrossDomainMessenger_Test:test_sendMessage_succeeds() (gas: 299710)
L1CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 1490566)
=======
L1CrossDomainMessenger_Test:test_sendMessage_succeeds() (gas: 301836)
L1CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 1492818)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1CrossDomainMessenger_Test:test_unpause_callerIsNotOwner_reverts() (gas: 24538) L1CrossDomainMessenger_Test:test_unpause_callerIsNotOwner_reverts() (gas: 24538)
<<<<<<< HEAD
L1CrossDomainMessenger_Test:test_unpause_succeeds() (gas: 45203) L1CrossDomainMessenger_Test:test_unpause_succeeds() (gas: 45203)
L1CrossDomainMessenger_Test:test_xDomainMessageSender_reset_succeeds() (gas: 84446) L1CrossDomainMessenger_Test:test_xDomainMessageSender_reset_succeeds() (gas: 84446)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1CrossDomainMessenger_Test:test_unpause_succeeds() (gas: 45185)
L1CrossDomainMessenger_Test:test_xDomainMessageSender_reset_succeeds() (gas: 84446)
=======
L1CrossDomainMessenger_Test:test_unpause_succeeds() (gas: 45185)
L1CrossDomainMessenger_Test:test_xDomainMessageSender_reset_succeeds() (gas: 84468)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1CrossDomainMessenger_Test:test_xDomainSender_notSet_reverts() (gas: 24274) L1CrossDomainMessenger_Test:test_xDomainSender_notSet_reverts() (gas: 24274)
<<<<<<< HEAD
L1ERC721Bridge_Test:test_bridgeERC721To_localTokenZeroAddress_reverts() (gas: 52707) L1ERC721Bridge_Test:test_bridgeERC721To_localTokenZeroAddress_reverts() (gas: 52707)
L1ERC721Bridge_Test:test_bridgeERC721To_remoteTokenZeroAddress_reverts() (gas: 27310) L1ERC721Bridge_Test:test_bridgeERC721To_remoteTokenZeroAddress_reverts() (gas: 27310)
L1ERC721Bridge_Test:test_bridgeERC721To_succeeds() (gas: 354776) L1ERC721Bridge_Test:test_bridgeERC721To_succeeds() (gas: 356933)
L1ERC721Bridge_Test:test_bridgeERC721To_wrongOwner_reverts() (gas: 60934) L1ERC721Bridge_Test:test_bridgeERC721To_wrongOwner_reverts() (gas: 60934)
L1ERC721Bridge_Test:test_bridgeERC721_fromContract_reverts() (gas: 25666) L1ERC721Bridge_Test:test_bridgeERC721_fromContract_reverts() (gas: 25666)
L1ERC721Bridge_Test:test_bridgeERC721_localTokenZeroAddress_reverts() (gas: 50564) L1ERC721Bridge_Test:test_bridgeERC721_localTokenZeroAddress_reverts() (gas: 50564)
L1ERC721Bridge_Test:test_bridgeERC721_remoteTokenZeroAddress_reverts() (gas: 25124) L1ERC721Bridge_Test:test_bridgeERC721_remoteTokenZeroAddress_reverts() (gas: 25124)
L1ERC721Bridge_Test:test_bridgeERC721_succeeds() (gas: 352356) L1ERC721Bridge_Test:test_bridgeERC721_succeeds() (gas: 354513)
L1ERC721Bridge_Test:test_bridgeERC721_wrongOwner_reverts() (gas: 60830) L1ERC721Bridge_Test:test_bridgeERC721_wrongOwner_reverts() (gas: 60830)
L1ERC721Bridge_Test:test_constructor_succeeds() (gas: 10200) L1ERC721Bridge_Test:test_constructor_succeeds() (gas: 10200)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notEscrowed_reverts() (gas: 22119) L1ERC721Bridge_Test:test_finalizeBridgeERC721_notEscrowed_reverts() (gas: 22119)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notFromRemoteMessenger_reverts() (gas: 19797) L1ERC721Bridge_Test:test_finalizeBridgeERC721_notFromRemoteMessenger_reverts() (gas: 19797)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notViaLocalMessenger_reverts() (gas: 16049) L1ERC721Bridge_Test:test_finalizeBridgeERC721_notViaLocalMessenger_reverts() (gas: 16049)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_selfToken_reverts() (gas: 17615) L1ERC721Bridge_Test:test_finalizeBridgeERC721_selfToken_reverts() (gas: 17615)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_succeeds() (gas: 323868) L1ERC721Bridge_Test:test_finalizeBridgeERC721_succeeds() (gas: 326025)
L1StandardBridge_BridgeETHTo_Test:test_bridgeETHTo_succeeds() (gas: 419619) L1StandardBridge_BridgeETHTo_Test:test_bridgeETHTo_succeeds() (gas: 421776)
L1StandardBridge_BridgeETH_Test:test_bridgeETH_succeeds() (gas: 406840) L1StandardBridge_BridgeETH_Test:test_bridgeETH_succeeds() (gas: 408997)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_succeeds() (gas: 624916) L1StandardBridge_DepositERC20To_Test:test_depositERC20To_succeeds() (gas: 627073)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 622617) L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 624774)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1ERC721Bridge_Test:test_bridgeERC721To_localTokenZeroAddress_reverts() (gas: 52730)
L1ERC721Bridge_Test:test_bridgeERC721To_remoteTokenZeroAddress_reverts() (gas: 27332)
L1ERC721Bridge_Test:test_bridgeERC721To_succeeds() (gas: 354754)
L1ERC721Bridge_Test:test_bridgeERC721To_wrongOwner_reverts() (gas: 60956)
L1ERC721Bridge_Test:test_bridgeERC721_fromContract_reverts() (gas: 25689)
L1ERC721Bridge_Test:test_bridgeERC721_localTokenZeroAddress_reverts() (gas: 50565)
L1ERC721Bridge_Test:test_bridgeERC721_remoteTokenZeroAddress_reverts() (gas: 25167)
L1ERC721Bridge_Test:test_bridgeERC721_succeeds() (gas: 352334)
L1ERC721Bridge_Test:test_bridgeERC721_wrongOwner_reverts() (gas: 60786)
L1ERC721Bridge_Test:test_constructor_succeeds() (gas: 10156)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notEscrowed_reverts() (gas: 22075)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notFromRemoteMessenger_reverts() (gas: 19820)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notViaLocalMessenger_reverts() (gas: 16093)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_selfToken_reverts() (gas: 17593)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_succeeds() (gas: 323846)
L1StandardBridge_BridgeETHTo_Test:test_bridgeETHTo_succeeds() (gas: 419641)
L1StandardBridge_BridgeETH_Test:test_bridgeETH_succeeds() (gas: 406817)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_succeeds() (gas: 624916)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 622595)
=======
L1ERC721Bridge_Test:test_bridgeERC721To_localTokenZeroAddress_reverts() (gas: 52730)
L1ERC721Bridge_Test:test_bridgeERC721To_remoteTokenZeroAddress_reverts() (gas: 27332)
L1ERC721Bridge_Test:test_bridgeERC721To_succeeds() (gas: 356880)
L1ERC721Bridge_Test:test_bridgeERC721To_wrongOwner_reverts() (gas: 60956)
L1ERC721Bridge_Test:test_bridgeERC721_fromContract_reverts() (gas: 25689)
L1ERC721Bridge_Test:test_bridgeERC721_localTokenZeroAddress_reverts() (gas: 50565)
L1ERC721Bridge_Test:test_bridgeERC721_remoteTokenZeroAddress_reverts() (gas: 25167)
L1ERC721Bridge_Test:test_bridgeERC721_succeeds() (gas: 354460)
L1ERC721Bridge_Test:test_bridgeERC721_wrongOwner_reverts() (gas: 60786)
L1ERC721Bridge_Test:test_constructor_succeeds() (gas: 10156)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notEscrowed_reverts() (gas: 22075)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notFromRemoteMessenger_reverts() (gas: 19820)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notViaLocalMessenger_reverts() (gas: 16093)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_selfToken_reverts() (gas: 17593)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_succeeds() (gas: 325972)
L1StandardBridge_BridgeETHTo_Test:test_bridgeETHTo_succeeds() (gas: 421770)
L1StandardBridge_BridgeETH_Test:test_bridgeETH_succeeds() (gas: 408958)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_succeeds() (gas: 627045)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 624724)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1StandardBridge_DepositERC20_TestFail:test_depositERC20_notEoa_reverts() (gas: 22320) L1StandardBridge_DepositERC20_TestFail:test_depositERC20_notEoa_reverts() (gas: 22320)
<<<<<<< HEAD L1StandardBridge_DepositETHTo_Test:test_depositETHTo_succeeds() (gas: 421853)
L1StandardBridge_DepositETHTo_Test:test_depositETHTo_succeeds() (gas: 419696) L1StandardBridge_DepositETH_Test:test_depositETH_succeeds() (gas: 409091)
L1StandardBridge_DepositETH_Test:test_depositETH_succeeds() (gas: 406934)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1StandardBridge_DepositETHTo_Test:test_depositETHTo_succeeds() (gas: 419674)
L1StandardBridge_DepositETH_Test:test_depositETH_succeeds() (gas: 406912)
=======
L1StandardBridge_DepositETHTo_Test:test_depositETHTo_succeeds() (gas: 421803)
L1StandardBridge_DepositETH_Test:test_depositETH_succeeds() (gas: 409053)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1StandardBridge_DepositETH_TestFail:test_depositETH_notEoa_reverts() (gas: 40780) L1StandardBridge_DepositETH_TestFail:test_depositETH_notEoa_reverts() (gas: 40780)
L1StandardBridge_FinalizeBridgeETH_Test:test_finalizeBridgeETH_succeeds() (gas: 51674) L1StandardBridge_FinalizeBridgeETH_Test:test_finalizeBridgeETH_succeeds() (gas: 51674)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_incorrectValue_reverts() (gas: 34207) L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_incorrectValue_reverts() (gas: 34207)
<<<<<<< HEAD
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 34310) L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 34310)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToSelf_reverts() (gas: 34279) L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToSelf_reverts() (gas: 34279)
L1StandardBridge_FinalizeERC20Withdrawal_Test:test_finalizeERC20Withdrawal_succeeds() (gas: 496501) L1StandardBridge_FinalizeERC20Withdrawal_Test:test_finalizeERC20Withdrawal_succeeds() (gas: 496501)
...@@ -256,34 +123,9 @@ L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_n ...@@ -256,34 +123,9 @@ L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_n
L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal_succeeds() (gas: 62188) L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal_succeeds() (gas: 62188)
L1StandardBridge_Getter_Test:test_getters_succeeds() (gas: 32173) L1StandardBridge_Getter_Test:test_getters_succeeds() (gas: 32173)
L1StandardBridge_Initialize_Test:test_initialize_succeeds() (gas: 22050) L1StandardBridge_Initialize_Test:test_initialize_succeeds() (gas: 22050)
L1StandardBridge_Receive_Test:test_receive_succeeds() (gas: 520242) L1StandardBridge_Receive_Test:test_receive_succeeds() (gas: 522399)
L2CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 8477) L2CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 8477)
L2CrossDomainMessenger_Test:test_pause_notOwner_reverts() (gas: 10882) L2CrossDomainMessenger_Test:test_pause_notOwner_reverts() (gas: 10882)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 34288)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToSelf_reverts() (gas: 34257)
L1StandardBridge_FinalizeERC20Withdrawal_Test:test_finalizeERC20Withdrawal_succeeds() (gas: 496417)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_notMessenger_reverts() (gas: 31148)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_notOtherBridge_reverts() (gas: 31504)
L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal_succeeds() (gas: 62166)
L1StandardBridge_Getter_Test:test_getters_succeeds() (gas: 32151)
L1StandardBridge_Initialize_Test:test_initialize_succeeds() (gas: 22005)
L1StandardBridge_Receive_Test:test_receive_succeeds() (gas: 520198)
L2CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 8412)
L2CrossDomainMessenger_Test:test_pause_notOwner_reverts() (gas: 10860)
=======
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 34288)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToSelf_reverts() (gas: 34257)
L1StandardBridge_FinalizeERC20Withdrawal_Test:test_finalizeERC20Withdrawal_succeeds() (gas: 496417)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_notMessenger_reverts() (gas: 31148)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_notOtherBridge_reverts() (gas: 31504)
L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal_succeeds() (gas: 62166)
L1StandardBridge_Getter_Test:test_getters_succeeds() (gas: 32151)
L1StandardBridge_Initialize_Test:test_initialize_succeeds() (gas: 22005)
L1StandardBridge_Receive_Test:test_receive_succeeds() (gas: 522324)
L2CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 8412)
L2CrossDomainMessenger_Test:test_pause_notOwner_reverts() (gas: 10860)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L2CrossDomainMessenger_Test:test_pause_succeeds() (gas: 31846) L2CrossDomainMessenger_Test:test_pause_succeeds() (gas: 31846)
L2CrossDomainMessenger_Test:test_relayMessage_paused_reverts() (gas: 36523) L2CrossDomainMessenger_Test:test_relayMessage_paused_reverts() (gas: 36523)
L2CrossDomainMessenger_Test:test_relayMessage_reentrancyDiffMessage_succeeds() (gas: 683823) L2CrossDomainMessenger_Test:test_relayMessage_reentrancyDiffMessage_succeeds() (gas: 683823)
...@@ -322,7 +164,6 @@ L2OutputOracleTest:test_deleteOutputs_multipleOutputs_succeeds() (gas: 302143) ...@@ -322,7 +164,6 @@ L2OutputOracleTest:test_deleteOutputs_multipleOutputs_succeeds() (gas: 302143)
L2OutputOracleTest:test_deleteOutputs_singleOutput_succeeds() (gas: 180722) L2OutputOracleTest:test_deleteOutputs_singleOutput_succeeds() (gas: 180722)
L2OutputOracleTest:test_getL2OutputIndexAfter_multipleOutputsExist_succeeds() (gas: 267204) L2OutputOracleTest:test_getL2OutputIndexAfter_multipleOutputsExist_succeeds() (gas: 267204)
L2OutputOracleTest:test_getL2OutputIndexAfter_noOutputsExis_reverts() (gas: 17936) L2OutputOracleTest:test_getL2OutputIndexAfter_noOutputsExis_reverts() (gas: 17936)
<<<<<<< HEAD
L2OutputOracleTest:test_getL2OutputIndexAfter_previousBlock_succeeds() (gas: 96064) L2OutputOracleTest:test_getL2OutputIndexAfter_previousBlock_succeeds() (gas: 96064)
L2OutputOracleTest:test_getL2OutputIndexAfter_sameBlock_succeeds() (gas: 96038) L2OutputOracleTest:test_getL2OutputIndexAfter_sameBlock_succeeds() (gas: 96038)
L2OutputOracleTest:test_getL2Output_succeeds() (gas: 101721) L2OutputOracleTest:test_getL2Output_succeeds() (gas: 101721)
...@@ -332,61 +173,18 @@ L2OutputOracleTest:test_proposeL2Output_emptyOutput_reverts() (gas: 26688) ...@@ -332,61 +173,18 @@ L2OutputOracleTest:test_proposeL2Output_emptyOutput_reverts() (gas: 26688)
L2OutputOracleTest:test_proposeL2Output_futureTimetamp_reverts() (gas: 28646) L2OutputOracleTest:test_proposeL2Output_futureTimetamp_reverts() (gas: 28646)
L2OutputOracleTest:test_proposeL2Output_notProposer_reverts() (gas: 25804) L2OutputOracleTest:test_proposeL2Output_notProposer_reverts() (gas: 25804)
L2OutputOracleTest:test_proposeL2Output_proposeAnotherOutput_succeeds() (gas: 101071) L2OutputOracleTest:test_proposeL2Output_proposeAnotherOutput_succeeds() (gas: 101071)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L2OutputOracleTest:test_getL2OutputIndexAfter_previousBlock_succeeds() (gas: 96042)
L2OutputOracleTest:test_getL2OutputIndexAfter_sameBlock_succeeds() (gas: 96016)
L2OutputOracleTest:test_getL2Output_succeeds() (gas: 101721)
L2OutputOracleTest:test_latestBlockNumber_succeeds() (gas: 96960)
L2OutputOracleTest:test_nextBlockNumber_succeeds() (gas: 17490)
L2OutputOracleTest:test_proposeL2Output_emptyOutput_reverts() (gas: 26710)
L2OutputOracleTest:test_proposeL2Output_futureTimetamp_reverts() (gas: 28690)
L2OutputOracleTest:test_proposeL2Output_notProposer_reverts() (gas: 25826)
L2OutputOracleTest:test_proposeL2Output_proposeAnotherOutput_succeeds() (gas: 101049)
=======
L2OutputOracleTest:test_getL2OutputIndexAfter_previousBlock_succeeds() (gas: 96042)
L2OutputOracleTest:test_getL2OutputIndexAfter_sameBlock_succeeds() (gas: 96016)
L2OutputOracleTest:test_getL2Output_succeeds() (gas: 101724)
L2OutputOracleTest:test_latestBlockNumber_succeeds() (gas: 96963)
L2OutputOracleTest:test_nextBlockNumber_succeeds() (gas: 17490)
L2OutputOracleTest:test_proposeL2Output_emptyOutput_reverts() (gas: 26710)
L2OutputOracleTest:test_proposeL2Output_futureTimetamp_reverts() (gas: 28690)
L2OutputOracleTest:test_proposeL2Output_notProposer_reverts() (gas: 25826)
L2OutputOracleTest:test_proposeL2Output_proposeAnotherOutput_succeeds() (gas: 101049)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L2OutputOracleTest:test_proposeL2Output_unexpectedBlockNumber_reverts() (gas: 28402) L2OutputOracleTest:test_proposeL2Output_unexpectedBlockNumber_reverts() (gas: 28402)
L2OutputOracleTest:test_proposeL2Output_unmatchedBlockhash_reverts() (gas: 29424) L2OutputOracleTest:test_proposeL2Output_unmatchedBlockhash_reverts() (gas: 29424)
L2OutputOracleTest:test_proposeL2Output_wrongFork_reverts() (gas: 29005) L2OutputOracleTest:test_proposeL2Output_wrongFork_reverts() (gas: 29005)
<<<<<<< HEAD
L2OutputOracleTest:test_proposeWithBlockhashAndHeight_succeeds() (gas: 95274) L2OutputOracleTest:test_proposeWithBlockhashAndHeight_succeeds() (gas: 95274)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy_succeeds() (gas: 26141) L2OutputOracleUpgradeable_Test:test_initValuesOnProxy_succeeds() (gas: 26141)
L2OutputOracleUpgradeable_Test:test_initializeImpl_alreadyInitialized_reverts() (gas: 15171) L2OutputOracleUpgradeable_Test:test_initializeImpl_alreadyInitialized_reverts() (gas: 15171)
L2OutputOracleUpgradeable_Test:test_initializeProxy_alreadyInitialized_reverts() (gas: 20197) L2OutputOracleUpgradeable_Test:test_initializeProxy_alreadyInitialized_reverts() (gas: 20197)
L2OutputOracleUpgradeable_Test:test_upgrading_succeeds() (gas: 180481) L2OutputOracleUpgradeable_Test:test_upgrading_succeeds() (gas: 180481)
L2StandardBridge_BridgeERC20To_Test:test_bridgeERC20To_succeeds() (gas: 387815) L2StandardBridge_BridgeERC20To_Test:test_bridgeERC20To_succeeds() (gas: 387834)
L2StandardBridge_BridgeERC20To_Test:test_withdrawTo_withdrawingERC20_succeeds() (gas: 388045) L2StandardBridge_BridgeERC20To_Test:test_withdrawTo_withdrawingERC20_succeeds() (gas: 388064)
L2StandardBridge_BridgeERC20_Test:test_bridgeERC20_succeeds() (gas: 383537) L2StandardBridge_BridgeERC20_Test:test_bridgeERC20_succeeds() (gas: 383537)
L2StandardBridge_BridgeERC20_Test:test_withdraw_notEOA_reverts() (gas: 251758) L2StandardBridge_BridgeERC20_Test:test_withdraw_notEOA_reverts() (gas: 251758)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L2OutputOracleTest:test_proposeWithBlockhashAndHeight_succeeds() (gas: 95318)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy_succeeds() (gas: 26093)
L2OutputOracleUpgradeable_Test:test_initializeImpl_alreadyInitialized_reverts() (gas: 15149)
L2OutputOracleUpgradeable_Test:test_initializeProxy_alreadyInitialized_reverts() (gas: 20131)
L2OutputOracleUpgradeable_Test:test_upgrading_succeeds() (gas: 180413)
L2StandardBridge_BridgeERC20To_Test:test_bridgeERC20To_succeeds() (gas: 387797)
L2StandardBridge_BridgeERC20To_Test:test_withdrawTo_withdrawingERC20_succeeds() (gas: 388045)
L2StandardBridge_BridgeERC20_Test:test_bridgeERC20_succeeds() (gas: 383520)
L2StandardBridge_BridgeERC20_Test:test_withdraw_notEOA_reverts() (gas: 251687)
=======
L2OutputOracleTest:test_proposeWithBlockhashAndHeight_succeeds() (gas: 95318)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy_succeeds() (gas: 26093)
L2OutputOracleUpgradeable_Test:test_initializeImpl_alreadyInitialized_reverts() (gas: 15149)
L2OutputOracleUpgradeable_Test:test_initializeProxy_alreadyInitialized_reverts() (gas: 20131)
L2OutputOracleUpgradeable_Test:test_upgrading_succeeds() (gas: 180461)
L2StandardBridge_BridgeERC20To_Test:test_bridgeERC20To_succeeds() (gas: 387816)
L2StandardBridge_BridgeERC20To_Test:test_withdrawTo_withdrawingERC20_succeeds() (gas: 388064)
L2StandardBridge_BridgeERC20_Test:test_bridgeERC20_succeeds() (gas: 383520)
L2StandardBridge_BridgeERC20_Test:test_withdraw_notEOA_reverts() (gas: 251687)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
L2StandardBridge_BridgeERC20_Test:test_withdraw_withdrawingERC20_succeeds() (gas: 383723) L2StandardBridge_BridgeERC20_Test:test_withdraw_withdrawingERC20_succeeds() (gas: 383723)
L2StandardBridge_Bridge_Test:test_finalizeBridgeETH_incorrectValue_reverts() (gas: 23843) L2StandardBridge_Bridge_Test:test_finalizeBridgeETH_incorrectValue_reverts() (gas: 23843)
L2StandardBridge_Bridge_Test:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 23982) L2StandardBridge_Bridge_Test:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 23982)
...@@ -464,44 +262,50 @@ OptimismMintableERC721_Test:test_safeMint_succeeds() (gas: 140524) ...@@ -464,44 +262,50 @@ OptimismMintableERC721_Test:test_safeMint_succeeds() (gas: 140524)
OptimismMintableERC721_Test:test_tokenURI_succeeds() (gas: 163442) OptimismMintableERC721_Test:test_tokenURI_succeeds() (gas: 163442)
OptimismMintableERC721Factory_Test:test_constructor_succeeds() (gas: 8285) OptimismMintableERC721Factory_Test:test_constructor_succeeds() (gas: 8285)
OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_succeeds() (gas: 2336687) OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_succeeds() (gas: 2336687)
<<<<<<< HEAD
OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_zeroRemoteToken_reverts() (gas: 9418) OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_zeroRemoteToken_reverts() (gas: 9418)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 10857) OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 11016)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15789) OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15940)
OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_succeeds() (gas: 16056) OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_succeeds() (gas: 16056)
OptimismPortalUpgradeable_Test:test_upgradeToAndCall_upgrading_succeeds() (gas: 180547) OptimismPortalUpgradeable_Test:test_upgradeToAndCall_upgrading_succeeds() (gas: 180547)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputRootChanges_reverts() (gas: 198736) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputRootChanges_reverts() (gas: 201010)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_reverts() (gas: 201099) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_reverts() (gas: 203373)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalNotProven_reverts() (gas: 39650) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalNotProven_reverts() (gas: 41798)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalProofNotOldEnough_reverts() (gas: 196122) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalProofNotOldEnough_reverts() (gas: 198396)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onInsufficientGas_reverts() (gas: 196945) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onInsufficientGas_reverts() (gas: 199219)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onRecentWithdrawal_reverts() (gas: 176842) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onRecentWithdrawal_reverts() (gas: 179139)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReentrancy_reverts() (gas: 235381) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReentrancy_reverts() (gas: 237848)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReplay_reverts() (gas: 236884) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReplay_reverts() (gas: 239372)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_provenWithdrawalHash_succeeds() (gas: 228647) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_paused_reverts() (gas: 53621)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails_fails() (gas: 8797746687696163638) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_provenWithdrawalHash_succeeds() (gas: 230921)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_timestampLessThanL2OracleStart_reverts() (gas: 192824) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails_fails() (gas: 8797746687696163739)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidOutputRootProof_reverts() (gas: 83498) OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_timestampLessThanL2OracleStart_reverts() (gas: 195098)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidWithdrawalProof_reverts() (gas: 135201) OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidOutputRootProof_reverts() (gas: 85690)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onSelfCall_reverts() (gas: 50799) OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidWithdrawalProof_reverts() (gas: 137350)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRootAndOutputIndex_succeeds() (gas: 344623) OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onSelfCall_reverts() (gas: 52925)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRoot_succeeds() (gas: 277363) OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_paused_reverts() (gas: 73695)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProve_reverts() (gas: 190295) OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRootAndOutputIndex_succeeds() (gas: 346875)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_validWithdrawalProof_succeeds() (gas: 178382) OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRoot_succeeds() (gas: 279593)
OptimismPortal_Test:test_constructor_succeeds() (gas: 17299) OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProve_reverts() (gas: 192570)
OptimismPortal_Test:test_depositTransaction_contractCreation_reverts() (gas: 14224) OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_validWithdrawalProof_succeeds() (gas: 180486)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForContract_succeeds() (gas: 76739) OptimismPortal_Test:test_constructor_succeeds() (gas: 20716)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForEOA_succeeds() (gas: 77083) OptimismPortal_Test:test_depositTransaction_contractCreation_reverts() (gas: 16414)
OptimismPortal_Test:test_depositTransaction_noValueContract_succeeds() (gas: 76735) OptimismPortal_Test:test_depositTransaction_createWithZeroValueForContract_succeeds() (gas: 78918)
OptimismPortal_Test:test_depositTransaction_noValueEOA_succeeds() (gas: 77014) OptimismPortal_Test:test_depositTransaction_createWithZeroValueForEOA_succeeds() (gas: 79196)
OptimismPortal_Test:test_depositTransaction_smallGasLimit_reverts() (gas: 14257) OptimismPortal_Test:test_depositTransaction_noValueContract_succeeds() (gas: 78892)
OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreation_succeeds() (gas: 83696) OptimismPortal_Test:test_depositTransaction_noValueEOA_succeeds() (gas: 79193)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation_succeeds() (gas: 75916) OptimismPortal_Test:test_depositTransaction_paused_reverts() (gas: 40276)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract_succeeds() (gas: 83465) OptimismPortal_Test:test_depositTransaction_smallGasLimit_reverts() (gas: 16414)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA_succeeds() (gas: 83993) OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreation_succeeds() (gas: 85853)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation_succeeds() (gas: 78095)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract_succeeds() (gas: 85622)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA_succeeds() (gas: 86216)
OptimismPortal_Test:test_isOutputFinalized_succeeds() (gas: 119474) OptimismPortal_Test:test_isOutputFinalized_succeeds() (gas: 119474)
OptimismPortal_Test:test_receive_succeeds() (gas: 127576) OptimismPortal_Test:test_pause_onlyOwner_reverts() (gas: 22116)
OptimismPortal_Test:test_simple_isOutputFinalized_succeeds() (gas: 24165) OptimismPortal_Test:test_pause_succeeds() (gas: 42118)
OptimismPortal_Test:test_receive_succeeds() (gas: 129702)
OptimismPortal_Test:test_simple_isOutputFinalized_succeeds() (gas: 24232)
OptimismPortal_Test:test_unpause_onlyOwner_reverts() (gas: 46153)
OptimismPortal_Test:test_unpause_succeeds() (gas: 31728)
Proxy_Test:test_delegatesToImpl_succeeds() (gas: 45207) Proxy_Test:test_delegatesToImpl_succeeds() (gas: 45207)
Proxy_Test:test_implementationKey_succeeds() (gas: 20909) Proxy_Test:test_implementationKey_succeeds() (gas: 20909)
Proxy_Test:test_implementation_isZeroAddress_reverts() (gas: 47626) Proxy_Test:test_implementation_isZeroAddress_reverts() (gas: 47626)
...@@ -512,110 +316,6 @@ Proxy_Test:test_proxyCallToImp_notAdmin_succeeds() (gas: 30008) ...@@ -512,110 +316,6 @@ Proxy_Test:test_proxyCallToImp_notAdmin_succeeds() (gas: 30008)
Proxy_Test:test_upgradeToAndCall_functionDoesNotExist_reverts() (gas: 104565) Proxy_Test:test_upgradeToAndCall_functionDoesNotExist_reverts() (gas: 104565)
Proxy_Test:test_upgradeToAndCall_isPayable_succeeds() (gas: 53742) Proxy_Test:test_upgradeToAndCall_isPayable_succeeds() (gas: 53742)
Proxy_Test:test_upgradeToAndCall_succeeds() (gas: 125190) Proxy_Test:test_upgradeToAndCall_succeeds() (gas: 125190)
||||||| parent of 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_zeroRemoteToken_reverts() (gas: 9395)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 10791)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15833)
OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_succeeds() (gas: 16011)
OptimismPortalUpgradeable_Test:test_upgradeToAndCall_upgrading_succeeds() (gas: 180481)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputRootChanges_reverts() (gas: 198758)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_reverts() (gas: 201032)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalNotProven_reverts() (gas: 39650)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalProofNotOldEnough_reverts() (gas: 196122)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onInsufficientGas_reverts() (gas: 196954)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onRecentWithdrawal_reverts() (gas: 176842)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReentrancy_reverts() (gas: 235400)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReplay_reverts() (gas: 236906)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_provenWithdrawalHash_succeeds() (gas: 228581)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails_fails() (gas: 8797746687696163639)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_timestampLessThanL2OracleStart_reverts() (gas: 192846)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidOutputRootProof_reverts() (gas: 83498)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidWithdrawalProof_reverts() (gas: 135223)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onSelfCall_reverts() (gas: 50752)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRootAndOutputIndex_succeeds() (gas: 344623)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRoot_succeeds() (gas: 277341)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProve_reverts() (gas: 190317)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_validWithdrawalProof_succeeds() (gas: 178317)
OptimismPortal_Test:test_constructor_succeeds() (gas: 17277)
OptimismPortal_Test:test_depositTransaction_contractCreation_reverts() (gas: 14273)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForContract_succeeds() (gas: 76717)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForEOA_succeeds() (gas: 77061)
OptimismPortal_Test:test_depositTransaction_noValueContract_succeeds() (gas: 76691)
OptimismPortal_Test:test_depositTransaction_noValueEOA_succeeds() (gas: 77058)
OptimismPortal_Test:test_depositTransaction_smallGasLimit_reverts() (gas: 14241)
OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreation_succeeds() (gas: 83719)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation_succeeds() (gas: 75903)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract_succeeds() (gas: 83421)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA_succeeds() (gas: 84037)
OptimismPortal_Test:test_isOutputFinalized_succeeds() (gas: 119474)
OptimismPortal_Test:test_receive_succeeds() (gas: 127554)
OptimismPortal_Test:test_simple_isOutputFinalized_succeeds() (gas: 24188)
Proxy_Test:test_delegatesToImpl_succeeds() (gas: 45184)
Proxy_Test:test_implementationKey_succeeds() (gas: 20886)
Proxy_Test:test_implementation_isZeroAddress_reverts() (gas: 47648)
Proxy_Test:test_implementation_zeroAddressCaller_succeeds() (gas: 14707)
Proxy_Test:test_ownerKey_succeeds() (gas: 19081)
Proxy_Test:test_ownerProxyCall_notAdmin_succeeds() (gas: 34637)
Proxy_Test:test_proxyCallToImp_notAdmin_succeeds() (gas: 29985)
Proxy_Test:test_upgradeToAndCall_functionDoesNotExist_reverts() (gas: 104520)
Proxy_Test:test_upgradeToAndCall_isPayable_succeeds() (gas: 53719)
Proxy_Test:test_upgradeToAndCall_succeeds() (gas: 125167)
=======
OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_zeroRemoteToken_reverts() (gas: 9395)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 10813)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15855)
OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_succeeds() (gas: 16033)
OptimismPortalUpgradeable_Test:test_upgradeToAndCall_upgrading_succeeds() (gas: 180502)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputRootChanges_reverts() (gas: 200987)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_reverts() (gas: 203306)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalNotProven_reverts() (gas: 41753)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalProofNotOldEnough_reverts() (gas: 198351)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onInsufficientGas_reverts() (gas: 199183)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onRecentWithdrawal_reverts() (gas: 179071)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReentrancy_reverts() (gas: 237777)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReplay_reverts() (gas: 239217)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_paused_reverts() (gas: 53511)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_provenWithdrawalHash_succeeds() (gas: 230810)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails_fails() (gas: 8797746687696163737)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_timestampLessThanL2OracleStart_reverts() (gas: 195075)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidOutputRootProof_reverts() (gas: 85668)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidWithdrawalProof_reverts() (gas: 137349)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onSelfCall_reverts() (gas: 52858)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_paused_reverts() (gas: 73674)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRootAndOutputIndex_succeeds() (gas: 346853)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRoot_succeeds() (gas: 279571)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProve_reverts() (gas: 192547)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_validWithdrawalProof_succeeds() (gas: 180508)
OptimismPortal_Test:test_constructor_succeeds() (gas: 20694)
OptimismPortal_Test:test_depositTransaction_contractCreation_reverts() (gas: 16404)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForContract_succeeds() (gas: 78843)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForEOA_succeeds() (gas: 79187)
OptimismPortal_Test:test_depositTransaction_noValueContract_succeeds() (gas: 78817)
OptimismPortal_Test:test_depositTransaction_noValueEOA_succeeds() (gas: 79184)
OptimismPortal_Test:test_depositTransaction_paused_reverts() (gas: 40247)
OptimismPortal_Test:test_depositTransaction_smallGasLimit_reverts() (gas: 16361)
OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreation_succeeds() (gas: 85845)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation_succeeds() (gas: 78020)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract_succeeds() (gas: 85525)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA_succeeds() (gas: 86141)
OptimismPortal_Test:test_isOutputFinalized_succeeds() (gas: 119519)
OptimismPortal_Test:test_pause_onlyOwner_reverts() (gas: 22118)
OptimismPortal_Test:test_pause_succeeds() (gas: 42096)
OptimismPortal_Test:test_receive_succeeds() (gas: 129680)
OptimismPortal_Test:test_simple_isOutputFinalized_succeeds() (gas: 24188)
OptimismPortal_Test:test_unpause_onlyOwner_reverts() (gas: 46110)
OptimismPortal_Test:test_unpause_succeeds() (gas: 31728)
Proxy_Test:test_delegatesToImpl_succeeds() (gas: 45184)
Proxy_Test:test_implementationKey_succeeds() (gas: 20886)
Proxy_Test:test_implementation_isZeroAddress_reverts() (gas: 47648)
Proxy_Test:test_implementation_zeroAddressCaller_succeeds() (gas: 14707)
Proxy_Test:test_ownerKey_succeeds() (gas: 19081)
Proxy_Test:test_ownerProxyCall_notAdmin_succeeds() (gas: 34637)
Proxy_Test:test_proxyCallToImp_notAdmin_succeeds() (gas: 29985)
Proxy_Test:test_upgradeToAndCall_functionDoesNotExist_reverts() (gas: 104520)
Proxy_Test:test_upgradeToAndCall_isPayable_succeeds() (gas: 53719)
Proxy_Test:test_upgradeToAndCall_succeeds() (gas: 125167)
>>>>>>> 08ddebbc1 (contracts-bedrock: gas snapshot, natspec)
Proxy_Test:test_upgradeTo_clashingFunctionSignatures_succeeds() (gas: 101359) Proxy_Test:test_upgradeTo_clashingFunctionSignatures_succeeds() (gas: 101359)
ProxyAdmin_Test:test_chugsplashChangeProxyAdmin_succeeds() (gas: 35586) ProxyAdmin_Test:test_chugsplashChangeProxyAdmin_succeeds() (gas: 35586)
ProxyAdmin_Test:test_chugsplashGetProxyAdmin_succeeds() (gas: 15675) ProxyAdmin_Test:test_chugsplashGetProxyAdmin_succeeds() (gas: 15675)
......
...@@ -63,6 +63,7 @@ ...@@ -63,6 +63,7 @@
| l2Sender | address | 50 | 0 | 20 | contracts/L1/OptimismPortal.sol:OptimismPortal | | l2Sender | address | 50 | 0 | 20 | contracts/L1/OptimismPortal.sol:OptimismPortal |
| finalizedWithdrawals | mapping(bytes32 => bool) | 51 | 0 | 32 | contracts/L1/OptimismPortal.sol:OptimismPortal | | finalizedWithdrawals | mapping(bytes32 => bool) | 51 | 0 | 32 | contracts/L1/OptimismPortal.sol:OptimismPortal |
| provenWithdrawals | mapping(bytes32 => struct OptimismPortal.ProvenWithdrawal) | 52 | 0 | 32 | contracts/L1/OptimismPortal.sol:OptimismPortal | | provenWithdrawals | mapping(bytes32 => struct OptimismPortal.ProvenWithdrawal) | 52 | 0 | 32 | contracts/L1/OptimismPortal.sol:OptimismPortal |
| paused | bool | 53 | 0 | 1 | contracts/L1/OptimismPortal.sol:OptimismPortal |
======================= =======================
➡ contracts/L1/SystemConfig.sol:SystemConfig ➡ contracts/L1/SystemConfig.sol:SystemConfig
......
...@@ -85,7 +85,7 @@ contract OptimismPortal is Initializable, ResourceMetering, Semver { ...@@ -85,7 +85,7 @@ contract OptimismPortal is Initializable, ResourceMetering, Semver {
* deposits and withdrawals are paused. This may be removed in the * deposits and withdrawals are paused. This may be removed in the
* future. * future.
*/ */
bool public paused = false; bool public paused;
/** /**
* @notice Emitted when a transaction is deposited from L1 to L2. The parameters of this event * @notice Emitted when a transaction is deposited from L1 to L2. The parameters of this event
...@@ -145,21 +145,23 @@ contract OptimismPortal is Initializable, ResourceMetering, Semver { ...@@ -145,21 +145,23 @@ contract OptimismPortal is Initializable, ResourceMetering, Semver {
} }
/** /**
* @custom:semver 1.0.0 * @custom:semver 1.1.0
* *
* @param _l2Oracle Address of the L2OutputOracle contract. * @param _l2Oracle Address of the L2OutputOracle contract.
* @param _guardian Address that can pause deposits and withdrawals. * @param _guardian Address that can pause deposits and withdrawals.
* @param _finalizationPeriodSeconds Output finalization time in seconds. * @param _finalizationPeriodSeconds Output finalization time in seconds.
* @param _paused Sets the contract's pausability state.
*/ */
constructor( constructor(
L2OutputOracle _l2Oracle, L2OutputOracle _l2Oracle,
address _guardian, address _guardian,
uint256 _finalizationPeriodSeconds uint256 _finalizationPeriodSeconds,
bool _paused
) Semver(1, 1, 0) { ) Semver(1, 1, 0) {
L2_ORACLE = _l2Oracle; L2_ORACLE = _l2Oracle;
GUARDIAN = _guardian; GUARDIAN = _guardian;
FINALIZATION_PERIOD_SECONDS = _finalizationPeriodSeconds; FINALIZATION_PERIOD_SECONDS = _finalizationPeriodSeconds;
initialize(true); initialize(_paused);
} }
/** /**
......
...@@ -319,7 +319,7 @@ contract SystemDictator is OwnableUpgradeable { ...@@ -319,7 +319,7 @@ contract SystemDictator is OwnableUpgradeable {
) )
); );
// Upgrade and initialize the OptimismPortal as paused. // Upgrade and initialize the OptimismPortal.
config.globalConfig.proxyAdmin.upgradeAndCall( config.globalConfig.proxyAdmin.upgradeAndCall(
payable(config.proxyAddressConfig.optimismPortalProxy), payable(config.proxyAddressConfig.optimismPortalProxy),
address(config.implementationAddressConfig.optimismPortalImpl), address(config.implementationAddressConfig.optimismPortalImpl),
......
...@@ -12,7 +12,8 @@ contract EchidnaFuzzOptimismPortal { ...@@ -12,7 +12,8 @@ contract EchidnaFuzzOptimismPortal {
portal = new OptimismPortal({ portal = new OptimismPortal({
_l2Oracle: L2OutputOracle(address(0)), _l2Oracle: L2OutputOracle(address(0)),
_guardian: address(0), _guardian: address(0),
_finalizationPeriodSeconds: 10 _finalizationPeriodSeconds: 10,
_paused: false
}); });
} }
......
...@@ -119,6 +119,7 @@ contract L2OutputOracle_Initializer is CommonTest { ...@@ -119,6 +119,7 @@ contract L2OutputOracle_Initializer is CommonTest {
} }
function setUp() public virtual override { function setUp() public virtual override {
super.setUp();
guardian = makeAddr("guardian"); guardian = makeAddr("guardian");
// By default the first block has timestamp and number zero, which will cause underflows in the // By default the first block has timestamp and number zero, which will cause underflows in the
...@@ -169,7 +170,8 @@ contract Portal_Initializer is L2OutputOracle_Initializer { ...@@ -169,7 +170,8 @@ contract Portal_Initializer is L2OutputOracle_Initializer {
opImpl = new OptimismPortal({ opImpl = new OptimismPortal({
_l2Oracle: oracle, _l2Oracle: oracle,
_guardian: guardian, _guardian: guardian,
_finalizationPeriodSeconds: 7 days _finalizationPeriodSeconds: 7 days,
_paused: true
}); });
Proxy proxy = new Proxy(multisig); Proxy proxy = new Proxy(multisig);
vm.prank(multisig); vm.prank(multisig);
...@@ -232,7 +234,8 @@ contract Messenger_Initializer is L2OutputOracle_Initializer { ...@@ -232,7 +234,8 @@ contract Messenger_Initializer is L2OutputOracle_Initializer {
op = new OptimismPortal({ op = new OptimismPortal({
_l2Oracle: oracle, _l2Oracle: oracle,
_guardian: guardian, _guardian: guardian,
_finalizationPeriodSeconds: 7 days _finalizationPeriodSeconds: 7 days,
_paused: false
}); });
vm.label(address(op), "OptimismPortal"); vm.label(address(op), "OptimismPortal");
vm.prank(op.GUARDIAN()); vm.prank(op.GUARDIAN());
......
...@@ -21,6 +21,9 @@ contract OptimismPortal_Test is Portal_Initializer { ...@@ -21,6 +21,9 @@ contract OptimismPortal_Test is Portal_Initializer {
assertEq(op.paused(), false); assertEq(op.paused(), false);
} }
/**
* @notice The OptimismPortal can be paused by the GUARDIAN
*/
function test_pause_succeeds() external { function test_pause_succeeds() external {
address guardian = op.GUARDIAN(); address guardian = op.GUARDIAN();
...@@ -35,6 +38,10 @@ contract OptimismPortal_Test is Portal_Initializer { ...@@ -35,6 +38,10 @@ contract OptimismPortal_Test is Portal_Initializer {
assertEq(op.paused(), true); assertEq(op.paused(), true);
} }
/**
* @notice The OptimismPortal reverts when an account that is not the
* GUARDIAN calls `pause()`
*/
function test_pause_onlyOwner_reverts() external { function test_pause_onlyOwner_reverts() external {
assertEq(op.paused(), false); assertEq(op.paused(), false);
...@@ -46,6 +53,9 @@ contract OptimismPortal_Test is Portal_Initializer { ...@@ -46,6 +53,9 @@ contract OptimismPortal_Test is Portal_Initializer {
assertEq(op.paused(), false); assertEq(op.paused(), false);
} }
/**
* @notice The OptimismPortal can be unpaused by the GUARDIAN
*/
function test_unpause_succeeds() external { function test_unpause_succeeds() external {
address guardian = op.GUARDIAN(); address guardian = op.GUARDIAN();
...@@ -61,6 +71,10 @@ contract OptimismPortal_Test is Portal_Initializer { ...@@ -61,6 +71,10 @@ contract OptimismPortal_Test is Portal_Initializer {
assertEq(op.paused(), false); assertEq(op.paused(), false);
} }
/**
* @notice The OptimismPortal reverts when an account that is not
* the GUARDIAN calls `unpause()`
*/
function test_unpause_onlyOwner_reverts() external { function test_unpause_onlyOwner_reverts() external {
address guardian = op.GUARDIAN(); address guardian = op.GUARDIAN();
......
...@@ -13,13 +13,28 @@ const deployFn: DeployFunction = async (hre) => { ...@@ -13,13 +13,28 @@ const deployFn: DeployFunction = async (hre) => {
'L2OutputOracleProxy' 'L2OutputOracleProxy'
) )
const finalSystemOwner = hre.deployConfig.finalSystemOwner
const finalSystemOwnerCode = await hre.ethers.provider.getCode(
finalSystemOwner
)
if (finalSystemOwnerCode === '0x') {
console.log(
`WARNING: setting OptimismPortal.GUARDIAN to ${finalSystemOwner} and it has no code`
)
}
// Deploy the OptimismPortal implementation as paused to
// ensure that users do not interact with it and instead
// interact with the proxied contract.
// The `finalSystemOwner` is set at the GUARDIAN.
await deploy({ await deploy({
hre, hre,
name: 'OptimismPortal', name: 'OptimismPortal',
args: [ args: [
L2OutputOracleProxy.address, L2OutputOracleProxy.address,
hre.deployConfig.finalSystemOwner, finalSystemOwner,
hre.deployConfig.finalizationPeriodSeconds, hre.deployConfig.finalizationPeriodSeconds,
true, // paused
], ],
postDeployAction: async (contract) => { postDeployAction: async (contract) => {
await assertContractVariable( await assertContractVariable(
......
...@@ -294,11 +294,15 @@ const deployFn: DeployFunction = async (hre) => { ...@@ -294,11 +294,15 @@ const deployFn: DeployFunction = async (hre) => {
if (await isStep(SystemDictator, 6)) { if (await isStep(SystemDictator, 6)) {
console.log(` console.log(`
Unpause the OptimismPortal Unpause the OptimismPortal. The GUARDIAN account should be used. In practice
this is the multisig. In test networks, the OptimismPortal is initialized
without being paused.
`) `)
if (isLiveDeployer) { if (isLiveDeployer) {
console.log('OptimismPortal already not paused.') console.log('WARNING: OptimismPortal configured to not be paused')
console.log('This should only happen for test environments')
await assertContractVariable(OptimismPortal, 'paused', false)
} else { } else {
const tx = await OptimismPortal.populateTransaction.unpause() const tx = await OptimismPortal.populateTransaction.unpause()
console.log(`Please unpause the OptimismPortal...`) console.log(`Please unpause the OptimismPortal...`)
...@@ -309,7 +313,8 @@ const deployFn: DeployFunction = async (hre) => { ...@@ -309,7 +313,8 @@ const deployFn: DeployFunction = async (hre) => {
await awaitCondition( await awaitCondition(
async () => { async () => {
return !OptimismPortal.paused() const paused = await OptimismPortal.paused()
return !paused
}, },
30000, 30000,
1000 1000
......
...@@ -19,6 +19,6 @@ This invariant asserts that there is no chain of calls that can be made that wil ...@@ -19,6 +19,6 @@ This invariant asserts that there is no chain of calls that can be made that wil
## Deposits of any value should always succeed unless `_to` = `address(0)` or `_isCreation` = `true`. ## Deposits of any value should always succeed unless `_to` = `address(0)` or `_isCreation` = `true`.
**Test:** [`FuzzOptimismPortal.sol#L37`](../contracts/echidna/FuzzOptimismPortal.sol#L37) **Test:** [`FuzzOptimismPortal.sol#L42`](../contracts/echidna/FuzzOptimismPortal.sol#L42)
All deposits, barring creation transactions and transactions sent to `address(0)`, should always succeed. All deposits, barring creation transactions and transactions sent to `address(0)`, should always succeed.
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