Commit c5dc366b authored by Maurelian's avatar Maurelian

ctb: Fix L2OutputOracle test names

parent 18e55fd2
...@@ -69,46 +69,46 @@ L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal_succeeds( ...@@ -69,46 +69,46 @@ L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal_succeeds(
L1StandardBridge_Getter_Test:test_getters_succeeds() (gas: 31449) L1StandardBridge_Getter_Test:test_getters_succeeds() (gas: 31449)
L1StandardBridge_Initialize_Test:test_initialize_succeeds() (gas: 22005) L1StandardBridge_Initialize_Test:test_initialize_succeeds() (gas: 22005)
L1StandardBridge_Receive_Test:test_receive_succeeds() (gas: 514475) L1StandardBridge_Receive_Test:test_receive_succeeds() (gas: 514475)
L2CrossDomainMessenger_Test:testCannot_L2MessengerPause() (gas: 10860) L2CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 8367)
L2CrossDomainMessenger_Test:test_L1MessengerRelayMessageRevertsOnReentrancy() (gas: 167775) L2CrossDomainMessenger_Test:test_pause_notOwner_reverts() (gas: 10859)
L2CrossDomainMessenger_Test:test_L2MessengerMessageVersion() (gas: 8389) L2CrossDomainMessenger_Test:test_pause_succeeds() (gas: 31846)
L2CrossDomainMessenger_Test:test_L2MessengerPause() (gas: 31802) L2CrossDomainMessenger_Test:test_relayMessage_paused_reverts() (gas: 41596)
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageFirstStuckSecondSucceeds() (gas: 168269) L2CrossDomainMessenger_Test:test_relayMessage_reentrancy_reverts() (gas: 167766)
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageSucceeds() (gas: 53204) L2CrossDomainMessenger_Test:test_relayMessage_retry_succeeds() (gas: 168292)
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageToSystemContract() (gas: 36172) L2CrossDomainMessenger_Test:test_relayMessage_succeeds() (gas: 53183)
L2CrossDomainMessenger_Test:test_L2MessengerRelayMessageV0Fails() (gas: 18870) L2CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 36194)
L2CrossDomainMessenger_Test:test_L2MessengerRelayShouldRevertIfPaused() (gas: 41596) L2CrossDomainMessenger_Test:test_relayMessage_v0_reverts() (gas: 18870)
L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 122533) L2CrossDomainMessenger_Test:test_sendMessage_succeeds() (gas: 122533)
L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 134716) L2CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 134671)
L2CrossDomainMessenger_Test:test_L2MessengerXDomainSenderReverts() (gas: 10568) L2CrossDomainMessenger_Test:test_xDomainMessageSender_reset_succeeds() (gas: 52594)
L2CrossDomainMessenger_Test:test_L2MessengerxDomainMessageSenderResets() (gas: 52615) L2CrossDomainMessenger_Test:test_xDomainSender_senderNotSet_reverts() (gas: 10524)
L2OutputOracleTest:testCannot_ProposeWithUnmatchedBlockhash() (gas: 29434) L2OutputOracleTest:test_computeL2Timestamp_succeeds() (gas: 37184)
L2OutputOracleTest:testCannot_constructWithBadTimestamp() (gas: 70674) L2OutputOracleTest:test_constructor_badTimestamp_reverts() (gas: 70717)
L2OutputOracleTest:testCannot_deleteL2Outputs_afterLatest() (gas: 200324) L2OutputOracleTest:test_constructor_succeeds() (gas: 33760)
L2OutputOracleTest:testCannot_deleteL2Outputs_ifNotChallenger() (gas: 18915) L2OutputOracleTest:test_deleteL2Outputs_afterLatest_reverts() (gas: 200230)
L2OutputOracleTest:testCannot_deleteL2Outputs_nonExistent() (gas: 103509) L2OutputOracleTest:test_deleteL2Outputs_ifNotChallenger_reverts() (gas: 18883)
L2OutputOracleTest:testCannot_proposeEmptyOutput() (gas: 26721) L2OutputOracleTest:test_deleteL2Outputs_nonExistent_reverts() (gas: 103402)
L2OutputOracleTest:testCannot_proposeFutureTimetamp() (gas: 28678) L2OutputOracleTest:test_deleteOutputs_multipleOutputs_succeeds() (gas: 286560)
L2OutputOracleTest:testCannot_proposeL2Output_ifNotProposer() (gas: 25782) L2OutputOracleTest:test_deleteOutputs_singleOutput_succeeds() (gas: 172876)
L2OutputOracleTest:testCannot_proposeOnWrongFork() (gas: 28941) L2OutputOracleTest:test_getL2OutputIndexAfter_multipleOutputsExist_succeeds() (gas: 267182)
L2OutputOracleTest:testCannot_proposeUnexpectedBlockNumber() (gas: 28382) L2OutputOracleTest:test_getL2OutputIndexAfter_noOutputsExis_reverts() (gas: 17914)
L2OutputOracleTest:test_computeL2Timestamp() (gas: 37185)
L2OutputOracleTest:test_constructor() (gas: 33715)
L2OutputOracleTest:test_deleteOutputs_multipleOutputs() (gas: 286718)
L2OutputOracleTest:test_deleteOutputs_singleOutput() (gas: 173018)
L2OutputOracleTest:test_getL2Output() (gas: 101700)
L2OutputOracleTest:test_getL2OutputIndexAfter_multipleOutputsExist() (gas: 267181)
L2OutputOracleTest:test_getL2OutputIndexAfter_noOutputsExist() (gas: 17938)
L2OutputOracleTest:test_getL2OutputIndexAfter_previousBlock_succeeds() (gas: 96086) L2OutputOracleTest:test_getL2OutputIndexAfter_previousBlock_succeeds() (gas: 96086)
L2OutputOracleTest:test_getL2OutputIndexAfter_sameBlock_succeeds() (gas: 95994) L2OutputOracleTest:test_getL2OutputIndexAfter_sameBlock_succeeds() (gas: 95994)
L2OutputOracleTest:test_latestBlockNumber() (gas: 96937) L2OutputOracleTest:test_getL2Output_succeeds() (gas: 101699)
L2OutputOracleTest:test_nextBlockNumber() (gas: 17468) L2OutputOracleTest:test_latestBlockNumber_succeeds() (gas: 96983)
L2OutputOracleTest:test_proposeWithBlockhashAndHeight() (gas: 95251) L2OutputOracleTest:test_nextBlockNumber_succeeds() (gas: 17468)
L2OutputOracleTest:test_proposingAnotherOutput() (gas: 97175) L2OutputOracleTest:test_proposeL2Output_emptyOutput_reverts() (gas: 26688)
L2OutputOracleUpgradeable_Test:test_cannotInitImpl() (gas: 15171) L2OutputOracleTest:test_proposeL2Output_futureTimetamp_reverts() (gas: 28646)
L2OutputOracleUpgradeable_Test:test_cannotInitProxy() (gas: 20152) L2OutputOracleTest:test_proposeL2Output_notProposer_reverts() (gas: 25782)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy() (gas: 26052) L2OutputOracleTest:test_proposeL2Output_proposeAnotherOutput_succeeds() (gas: 97137)
L2OutputOracleUpgradeable_Test:test_upgrading() (gas: 180457) L2OutputOracleTest:test_proposeL2Output_unexpectedBlockNumber_reverts() (gas: 28402)
L2OutputOracleTest:test_proposeL2Output_unmatchedBlockhash_reverts() (gas: 29446)
L2OutputOracleTest:test_proposeL2Output_wrongFork_reverts() (gas: 29005)
L2OutputOracleTest:test_proposeWithBlockhashAndHeight_succeeds() (gas: 95296)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy_succeeds() (gas: 26096)
L2OutputOracleUpgradeable_Test:test_initializeImpl_alreadyInitialized_reverts() (gas: 15149)
L2OutputOracleUpgradeable_Test:test_initializeProxy_alreadyInitialized_reverts() (gas: 20131)
L2OutputOracleUpgradeable_Test:test_upgrading_succeeds() (gas: 180413)
L2StandardBridge_Test:test_finalizeBridgeETH_incorrectValue_reverts() (gas: 23788) L2StandardBridge_Test:test_finalizeBridgeETH_incorrectValue_reverts() (gas: 23788)
L2StandardBridge_Test:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 23927) L2StandardBridge_Test:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 23927)
L2StandardBridge_Test:test_finalizeBridgeETH_sendToSelf_reverts() (gas: 23838) L2StandardBridge_Test:test_finalizeBridgeETH_sendToSelf_reverts() (gas: 23838)
...@@ -122,30 +122,30 @@ L2StandardBridge_Test:test_withdraw_succeeds() (gas: 343975) ...@@ -122,30 +122,30 @@ L2StandardBridge_Test:test_withdraw_succeeds() (gas: 343975)
L2ToL1MessagePasserTest:test_burn_succeeds() (gas: 112572) L2ToL1MessagePasserTest:test_burn_succeeds() (gas: 112572)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract_succeeds() (gas: 70423) L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract_succeeds() (gas: 70423)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromEOA_succeeds() (gas: 75874) L2ToL1MessagePasserTest:test_initiateWithdrawal_fromEOA_succeeds() (gas: 75874)
LegacyERC20ETH_Test:test_approve() (gas: 10723) LegacyERC20ETH_Test:test_approve_doesNotExist_reverts() (gas: 10701)
LegacyERC20ETH_Test:test_burn() (gas: 10615) LegacyERC20ETH_Test:test_burn_doesNotExist_reverts() (gas: 10615)
LegacyERC20ETH_Test:test_crossDomain() (gas: 6339) LegacyERC20ETH_Test:test_crossDomain_succeeds() (gas: 6362)
LegacyERC20ETH_Test:test_decreaseAllowance() (gas: 10657) LegacyERC20ETH_Test:test_decreaseAllowance_doesNotExist_reverts() (gas: 10679)
LegacyERC20ETH_Test:test_increaseAllowance() (gas: 10667) LegacyERC20ETH_Test:test_increaseAllowance_doesNotExist_reverts() (gas: 10689)
LegacyERC20ETH_Test:test_metadata() (gas: 15414) LegacyERC20ETH_Test:test_metadata_succeeds() (gas: 15414)
LegacyERC20ETH_Test:test_mint() (gas: 10649) LegacyERC20ETH_Test:test_mint_doesNotExist_reverts() (gas: 10649)
LegacyERC20ETH_Test:test_transfer() (gas: 10711) LegacyERC20ETH_Test:test_transferFrom_doesNotExist_reverts() (gas: 12887)
LegacyERC20ETH_Test:test_transferFrom() (gas: 12887) LegacyERC20ETH_Test:test_transfer_doesNotExist_reverts() (gas: 10733)
LegacyMessagePasser_Test:test_LegacyMessagePasser_passMessageToL1_Succeeds() (gas: 34519) LegacyMessagePasser_Test:test_LegacyMessagePasser_passMessageToL1_Succeeds() (gas: 34519)
OptimismMintableERC20_Test:test_bridge() (gas: 7599) OptimismMintableERC20_Test:test_bridge_succeeds() (gas: 7643)
OptimismMintableERC20_Test:test_burn() (gas: 51031) OptimismMintableERC20_Test:test_burn_notBridge_reverts() (gas: 11165)
OptimismMintableERC20_Test:test_burnRevertsFromNotBridge() (gas: 11164) OptimismMintableERC20_Test:test_burn_succeeds() (gas: 51013)
OptimismMintableERC20_Test:test_erc165_supportsInterface() (gas: 7765) OptimismMintableERC20_Test:test_erc165_supportsInterface_succeeds() (gas: 7742)
OptimismMintableERC20_Test:test_l1Token() (gas: 7622) OptimismMintableERC20_Test:test_l1Token_succeeds() (gas: 7599)
OptimismMintableERC20_Test:test_l2Bridge() (gas: 7688) OptimismMintableERC20_Test:test_l2Bridge_succeeds() (gas: 7665)
OptimismMintableERC20_Test:test_legacy() (gas: 14300) OptimismMintableERC20_Test:test_legacy_succeeds() (gas: 14344)
OptimismMintableERC20_Test:test_mint() (gas: 63609) OptimismMintableERC20_Test:test_mint_notBridge_reverts() (gas: 11121)
OptimismMintableERC20_Test:test_mintRevertsFromNotBridge() (gas: 11098) OptimismMintableERC20_Test:test_mint_succeeds() (gas: 63609)
OptimismMintableERC20_Test:test_remoteToken() (gas: 7644) OptimismMintableERC20_Test:test_remoteToken_succeeds() (gas: 7622)
OptimismMintableTokenFactory_Test:test_bridge() (gas: 7577) OptimismMintableTokenFactory_Test:test_bridge_succeeds() (gas: 7577)
OptimismMintableTokenFactory_Test:test_createStandardL2Token() (gas: 1095274) OptimismMintableTokenFactory_Test:test_createStandardL2Token_remoteIsZero_succeeds() (gas: 9413)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenSameTwice() (gas: 2176691) OptimismMintableTokenFactory_Test:test_createStandardL2Token_sameTwice_succeeds() (gas: 2176713)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenShouldRevertIfRemoteIsZero() (gas: 9413) OptimismMintableTokenFactory_Test:test_createStandardL2Token_succeeds() (gas: 1095296)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 10791) OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 10791)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15833) OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15833)
OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_succeeds() (gas: 16011) OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_succeeds() (gas: 16011)
......
...@@ -14,7 +14,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -14,7 +14,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
super.setUp(); super.setUp();
} }
function test_constructor() external { function test_constructor_succeeds() external {
assertEq(oracle.PROPOSER(), proposer); assertEq(oracle.PROPOSER(), proposer);
assertEq(oracle.CHALLENGER(), owner); assertEq(oracle.CHALLENGER(), owner);
assertEq(oracle.SUBMISSION_INTERVAL(), submissionInterval); assertEq(oracle.SUBMISSION_INTERVAL(), submissionInterval);
...@@ -23,7 +23,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -23,7 +23,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
assertEq(oracle.startingTimestamp(), startingTimestamp); assertEq(oracle.startingTimestamp(), startingTimestamp);
} }
function testCannot_constructWithBadTimestamp() external { function test_constructor_badTimestamp_reverts() external {
vm.expectRevert("L2OutputOracle: starting L2 timestamp must be less than current time"); vm.expectRevert("L2OutputOracle: starting L2 timestamp must be less than current time");
new L2OutputOracle( new L2OutputOracle(
...@@ -42,7 +42,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -42,7 +42,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
****************/ ****************/
// Test: latestBlockNumber() should return the correct value // Test: latestBlockNumber() should return the correct value
function test_latestBlockNumber() external { function test_latestBlockNumber_succeeds() external {
uint256 proposedNumber = oracle.nextBlockNumber(); uint256 proposedNumber = oracle.nextBlockNumber();
// Roll to after the block number we'll propose // Roll to after the block number we'll propose
...@@ -53,7 +53,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -53,7 +53,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
} }
// Test: getL2Output() should return the correct value // Test: getL2Output() should return the correct value
function test_getL2Output() external { function test_getL2Output_succeeds() external {
uint256 nextBlockNumber = oracle.nextBlockNumber(); uint256 nextBlockNumber = oracle.nextBlockNumber();
uint256 nextOutputIndex = oracle.nextOutputIndex(); uint256 nextOutputIndex = oracle.nextOutputIndex();
warpToProposeTime(nextBlockNumber); warpToProposeTime(nextBlockNumber);
...@@ -96,7 +96,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -96,7 +96,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
} }
// Test: getL2OutputIndexAfter() returns correct value during binary search // Test: getL2OutputIndexAfter() returns correct value during binary search
function test_getL2OutputIndexAfter_multipleOutputsExist() external { function test_getL2OutputIndexAfter_multipleOutputsExist_succeeds() external {
bytes32 output1 = keccak256(abi.encode(1)); bytes32 output1 = keccak256(abi.encode(1));
uint256 nextBlockNumber1 = oracle.nextBlockNumber(); uint256 nextBlockNumber1 = oracle.nextBlockNumber();
warpToProposeTime(nextBlockNumber1); warpToProposeTime(nextBlockNumber1);
...@@ -135,13 +135,13 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -135,13 +135,13 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
} }
// Test: getL2OutputIndexAfter() reverts when no output exists yet // Test: getL2OutputIndexAfter() reverts when no output exists yet
function test_getL2OutputIndexAfter_noOutputsExist() external { function test_getL2OutputIndexAfter_noOutputsExis_reverts() external {
vm.expectRevert("L2OutputOracle: cannot get output as no outputs have been proposed yet"); vm.expectRevert("L2OutputOracle: cannot get output as no outputs have been proposed yet");
oracle.getL2OutputIndexAfter(0); oracle.getL2OutputIndexAfter(0);
} }
// Test: nextBlockNumber() should return the correct value // Test: nextBlockNumber() should return the correct value
function test_nextBlockNumber() external { function test_nextBlockNumber_succeeds() external {
assertEq( assertEq(
oracle.nextBlockNumber(), oracle.nextBlockNumber(),
// The return value should match this arithmetic // The return value should match this arithmetic
...@@ -149,7 +149,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -149,7 +149,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
); );
} }
function test_computeL2Timestamp() external { function test_computeL2Timestamp_succeeds() external {
// reverts if timestamp is too low // reverts if timestamp is too low
vm.expectRevert(stdError.arithmeticError); vm.expectRevert(stdError.arithmeticError);
oracle.computeL2Timestamp(startingBlockNumber - 1); oracle.computeL2Timestamp(startingBlockNumber - 1);
...@@ -177,8 +177,8 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -177,8 +177,8 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
// Test: proposeL2Output succeeds when given valid input, and no block hash and number are // Test: proposeL2Output succeeds when given valid input, and no block hash and number are
// specified. // specified.
function test_proposingAnotherOutput() public { function test_proposeL2Output_proposeAnotherOutput_succeeds() public {
bytes32 proposedOutput2 = keccak256(abi.encode(2)); bytes32 proposedOutput2 = keccak256(abi.encode());
uint256 nextBlockNumber = oracle.nextBlockNumber(); uint256 nextBlockNumber = oracle.nextBlockNumber();
warpToProposeTime(nextBlockNumber); warpToProposeTime(nextBlockNumber);
uint256 proposedNumber = oracle.latestBlockNumber(); uint256 proposedNumber = oracle.latestBlockNumber();
...@@ -193,7 +193,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -193,7 +193,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
// Test: proposeL2Output succeeds when given valid input, and when a block hash and number are // Test: proposeL2Output succeeds when given valid input, and when a block hash and number are
// specified for reorg protection. // specified for reorg protection.
function test_proposeWithBlockhashAndHeight() external { function test_proposeWithBlockhashAndHeight_succeeds() external {
// Get the number and hash of a previous block in the chain // Get the number and hash of a previous block in the chain
uint256 prevL1BlockNumber = block.number - 1; uint256 prevL1BlockNumber = block.number - 1;
bytes32 prevL1BlockHash = blockhash(prevL1BlockNumber); bytes32 prevL1BlockHash = blockhash(prevL1BlockNumber);
...@@ -209,7 +209,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -209,7 +209,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
***************************/ ***************************/
// Test: proposeL2Output fails if called by a party that is not the proposer. // Test: proposeL2Output fails if called by a party that is not the proposer.
function testCannot_proposeL2Output_ifNotProposer() external { function test_proposeL2Output_notProposer_reverts() external {
uint256 nextBlockNumber = oracle.nextBlockNumber(); uint256 nextBlockNumber = oracle.nextBlockNumber();
warpToProposeTime(nextBlockNumber); warpToProposeTime(nextBlockNumber);
...@@ -219,7 +219,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -219,7 +219,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
} }
// Test: proposeL2Output fails given a zero blockhash. // Test: proposeL2Output fails given a zero blockhash.
function testCannot_proposeEmptyOutput() external { function test_proposeL2Output_emptyOutput_reverts() external {
bytes32 outputToPropose = bytes32(0); bytes32 outputToPropose = bytes32(0);
uint256 nextBlockNumber = oracle.nextBlockNumber(); uint256 nextBlockNumber = oracle.nextBlockNumber();
warpToProposeTime(nextBlockNumber); warpToProposeTime(nextBlockNumber);
...@@ -229,7 +229,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -229,7 +229,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
} }
// Test: proposeL2Output fails if the block number doesn't match the next expected number. // Test: proposeL2Output fails if the block number doesn't match the next expected number.
function testCannot_proposeUnexpectedBlockNumber() external { function test_proposeL2Output_unexpectedBlockNumber_reverts() external {
uint256 nextBlockNumber = oracle.nextBlockNumber(); uint256 nextBlockNumber = oracle.nextBlockNumber();
warpToProposeTime(nextBlockNumber); warpToProposeTime(nextBlockNumber);
vm.prank(proposer); vm.prank(proposer);
...@@ -238,7 +238,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -238,7 +238,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
} }
// Test: proposeL2Output fails if it would have a timestamp in the future. // Test: proposeL2Output fails if it would have a timestamp in the future.
function testCannot_proposeFutureTimetamp() external { function test_proposeL2Output_futureTimetamp_reverts() external {
uint256 nextBlockNumber = oracle.nextBlockNumber(); uint256 nextBlockNumber = oracle.nextBlockNumber();
uint256 nextTimestamp = oracle.computeL2Timestamp(nextBlockNumber); uint256 nextTimestamp = oracle.computeL2Timestamp(nextBlockNumber);
vm.warp(nextTimestamp); vm.warp(nextTimestamp);
...@@ -249,7 +249,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -249,7 +249,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
// Test: proposeL2Output fails if a non-existent L1 block hash and number are provided for reorg // Test: proposeL2Output fails if a non-existent L1 block hash and number are provided for reorg
// protection. // protection.
function testCannot_proposeOnWrongFork() external { function test_proposeL2Output_wrongFork_reverts() external {
uint256 nextBlockNumber = oracle.nextBlockNumber(); uint256 nextBlockNumber = oracle.nextBlockNumber();
warpToProposeTime(nextBlockNumber); warpToProposeTime(nextBlockNumber);
vm.prank(proposer); vm.prank(proposer);
...@@ -266,7 +266,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -266,7 +266,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
// Test: proposeL2Output fails when given valid input, but the block hash and number do not // Test: proposeL2Output fails when given valid input, but the block hash and number do not
// match. // match.
function testCannot_ProposeWithUnmatchedBlockhash() external { function test_proposeL2Output_unmatchedBlockhash_reverts() external {
// Move ahead to block 100 so that we can reference historical blocks // Move ahead to block 100 so that we can reference historical blocks
vm.roll(100); vm.roll(100);
...@@ -291,9 +291,9 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -291,9 +291,9 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
event OutputsDeleted(uint256 indexed prevNextOutputIndex, uint256 indexed newNextOutputIndex); event OutputsDeleted(uint256 indexed prevNextOutputIndex, uint256 indexed newNextOutputIndex);
function test_deleteOutputs_singleOutput() external { function test_deleteOutputs_singleOutput_succeeds() external {
test_proposingAnotherOutput(); test_proposeL2Output_proposeAnotherOutput_succeeds();
test_proposingAnotherOutput(); test_proposeL2Output_proposeAnotherOutput_succeeds();
uint256 latestBlockNumber = oracle.latestBlockNumber(); uint256 latestBlockNumber = oracle.latestBlockNumber();
uint256 latestOutputIndex = oracle.latestOutputIndex(); uint256 latestOutputIndex = oracle.latestOutputIndex();
...@@ -315,11 +315,11 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -315,11 +315,11 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
assertEq(newLatestOutput.timestamp, proposal.timestamp); assertEq(newLatestOutput.timestamp, proposal.timestamp);
} }
function test_deleteOutputs_multipleOutputs() external { function test_deleteOutputs_multipleOutputs_succeeds() external {
test_proposingAnotherOutput(); test_proposeL2Output_proposeAnotherOutput_succeeds();
test_proposingAnotherOutput(); test_proposeL2Output_proposeAnotherOutput_succeeds();
test_proposingAnotherOutput(); test_proposeL2Output_proposeAnotherOutput_succeeds();
test_proposingAnotherOutput(); test_proposeL2Output_proposeAnotherOutput_succeeds();
uint256 latestBlockNumber = oracle.latestBlockNumber(); uint256 latestBlockNumber = oracle.latestBlockNumber();
uint256 latestOutputIndex = oracle.latestOutputIndex(); uint256 latestOutputIndex = oracle.latestOutputIndex();
...@@ -345,15 +345,15 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -345,15 +345,15 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
* Delete Tests - Sad Path * * Delete Tests - Sad Path *
***************************/ ***************************/
function testCannot_deleteL2Outputs_ifNotChallenger() external { function test_deleteL2Outputs_ifNotChallenger_reverts() external {
uint256 latestBlockNumber = oracle.latestBlockNumber(); uint256 latestBlockNumber = oracle.latestBlockNumber();
vm.expectRevert("L2OutputOracle: only the challenger address can delete outputs"); vm.expectRevert("L2OutputOracle: only the challenger address can delete outputs");
oracle.deleteL2Outputs(latestBlockNumber); oracle.deleteL2Outputs(latestBlockNumber);
} }
function testCannot_deleteL2Outputs_nonExistent() external { function test_deleteL2Outputs_nonExistent_reverts() external {
test_proposingAnotherOutput(); test_proposeL2Output_proposeAnotherOutput_succeeds();
uint256 latestBlockNumber = oracle.latestBlockNumber(); uint256 latestBlockNumber = oracle.latestBlockNumber();
...@@ -362,11 +362,11 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer { ...@@ -362,11 +362,11 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
oracle.deleteL2Outputs(latestBlockNumber + 1); oracle.deleteL2Outputs(latestBlockNumber + 1);
} }
function testCannot_deleteL2Outputs_afterLatest() external { function test_deleteL2Outputs_afterLatest_reverts() external {
// Start by proposing three outputs // Start by proposing three outputs
test_proposingAnotherOutput(); test_proposeL2Output_proposeAnotherOutput_succeeds();
test_proposingAnotherOutput(); test_proposeL2Output_proposeAnotherOutput_succeeds();
test_proposingAnotherOutput(); test_proposeL2Output_proposeAnotherOutput_succeeds();
// Delete the latest two outputs // Delete the latest two outputs
uint256 latestOutputIndex = oracle.latestOutputIndex(); uint256 latestOutputIndex = oracle.latestOutputIndex();
...@@ -388,7 +388,7 @@ contract L2OutputOracleUpgradeable_Test is L2OutputOracle_Initializer { ...@@ -388,7 +388,7 @@ contract L2OutputOracleUpgradeable_Test is L2OutputOracle_Initializer {
proxy = Proxy(payable(address(oracle))); proxy = Proxy(payable(address(oracle)));
} }
function test_initValuesOnProxy() external { function test_initValuesOnProxy_succeeds() external {
assertEq(submissionInterval, oracleImpl.SUBMISSION_INTERVAL()); assertEq(submissionInterval, oracleImpl.SUBMISSION_INTERVAL());
assertEq(l2BlockTime, oracleImpl.L2_BLOCK_TIME()); assertEq(l2BlockTime, oracleImpl.L2_BLOCK_TIME());
assertEq(startingBlockNumber, oracleImpl.startingBlockNumber()); assertEq(startingBlockNumber, oracleImpl.startingBlockNumber());
...@@ -398,17 +398,17 @@ contract L2OutputOracleUpgradeable_Test is L2OutputOracle_Initializer { ...@@ -398,17 +398,17 @@ contract L2OutputOracleUpgradeable_Test is L2OutputOracle_Initializer {
assertEq(owner, oracleImpl.CHALLENGER()); assertEq(owner, oracleImpl.CHALLENGER());
} }
function test_cannotInitProxy() external { function test_initializeProxy_alreadyInitialized_reverts() external {
vm.expectRevert("Initializable: contract is already initialized"); vm.expectRevert("Initializable: contract is already initialized");
L2OutputOracle(payable(proxy)).initialize(startingBlockNumber, startingTimestamp); L2OutputOracle(payable(proxy)).initialize(startingBlockNumber, startingTimestamp);
} }
function test_cannotInitImpl() external { function test_initializeImpl_alreadyInitialized_reverts() external {
vm.expectRevert("Initializable: contract is already initialized"); vm.expectRevert("Initializable: contract is already initialized");
L2OutputOracle(oracleImpl).initialize(startingBlockNumber, startingTimestamp); L2OutputOracle(oracleImpl).initialize(startingBlockNumber, startingTimestamp);
} }
function test_upgrading() external { function test_upgrading_succeeds() external {
// Check an unused slot before upgrading. // Check an unused slot before upgrading.
bytes32 slot21Before = vm.load(address(oracle), bytes32(uint256(21))); bytes32 slot21Before = vm.load(address(oracle), bytes32(uint256(21)));
assertEq(bytes32(0), slot21Before); assertEq(bytes32(0), slot21Before);
......
...@@ -12,48 +12,48 @@ contract LegacyERC20ETH_Test is CommonTest { ...@@ -12,48 +12,48 @@ contract LegacyERC20ETH_Test is CommonTest {
eth = new LegacyERC20ETH(); eth = new LegacyERC20ETH();
} }
function test_metadata() external { function test_metadata_succeeds() external {
assertEq(eth.name(), "Ether"); assertEq(eth.name(), "Ether");
assertEq(eth.symbol(), "ETH"); assertEq(eth.symbol(), "ETH");
assertEq(eth.decimals(), 18); assertEq(eth.decimals(), 18);
} }
function test_crossDomain() external { function test_crossDomain_succeeds() external {
assertEq(eth.l2Bridge(), Predeploys.L2_STANDARD_BRIDGE); assertEq(eth.l2Bridge(), Predeploys.L2_STANDARD_BRIDGE);
assertEq(eth.l1Token(), address(0)); assertEq(eth.l1Token(), address(0));
} }
function test_transfer() external { function test_transfer_doesNotExist_reverts() external {
vm.expectRevert("LegacyERC20ETH: transfer is disabled"); vm.expectRevert("LegacyERC20ETH: transfer is disabled");
eth.transfer(alice, 100); eth.transfer(alice, 100);
} }
function test_approve() external { function test_approve_doesNotExist_reverts() external {
vm.expectRevert("LegacyERC20ETH: approve is disabled"); vm.expectRevert("LegacyERC20ETH: approve is disabled");
eth.approve(alice, 100); eth.approve(alice, 100);
} }
function test_transferFrom() external { function test_transferFrom_doesNotExist_reverts() external {
vm.expectRevert("LegacyERC20ETH: transferFrom is disabled"); vm.expectRevert("LegacyERC20ETH: transferFrom is disabled");
eth.transferFrom(bob, alice, 100); eth.transferFrom(bob, alice, 100);
} }
function test_increaseAllowance() external { function test_increaseAllowance_doesNotExist_reverts() external {
vm.expectRevert("LegacyERC20ETH: increaseAllowance is disabled"); vm.expectRevert("LegacyERC20ETH: increaseAllowance is disabled");
eth.increaseAllowance(alice, 100); eth.increaseAllowance(alice, 100);
} }
function test_decreaseAllowance() external { function test_decreaseAllowance_doesNotExist_reverts() external {
vm.expectRevert("LegacyERC20ETH: decreaseAllowance is disabled"); vm.expectRevert("LegacyERC20ETH: decreaseAllowance is disabled");
eth.decreaseAllowance(alice, 100); eth.decreaseAllowance(alice, 100);
} }
function test_mint() external { function test_mint_doesNotExist_reverts() external {
vm.expectRevert("LegacyERC20ETH: mint is disabled"); vm.expectRevert("LegacyERC20ETH: mint is disabled");
eth.mint(alice, 100); eth.mint(alice, 100);
} }
function test_burn() external { function test_burn_doesNotExist_reverts() external {
vm.expectRevert("LegacyERC20ETH: burn is disabled"); vm.expectRevert("LegacyERC20ETH: burn is disabled");
eth.burn(alice, 100); eth.burn(alice, 100);
} }
......
...@@ -13,23 +13,23 @@ contract OptimismMintableERC20_Test is Bridge_Initializer { ...@@ -13,23 +13,23 @@ contract OptimismMintableERC20_Test is Bridge_Initializer {
super.setUp(); super.setUp();
} }
function test_remoteToken() external { function test_remoteToken_succeeds() external {
assertEq(L2Token.remoteToken(), address(L1Token)); assertEq(L2Token.remoteToken(), address(L1Token));
} }
function test_bridge() external { function test_bridge_succeeds() external {
assertEq(L2Token.bridge(), address(L2Bridge)); assertEq(L2Token.bridge(), address(L2Bridge));
} }
function test_l1Token() external { function test_l1Token_succeeds() external {
assertEq(L2Token.l1Token(), address(L1Token)); assertEq(L2Token.l1Token(), address(L1Token));
} }
function test_l2Bridge() external { function test_l2Bridge_succeeds() external {
assertEq(L2Token.l2Bridge(), address(L2Bridge)); assertEq(L2Token.l2Bridge(), address(L2Bridge));
} }
function test_legacy() external { function test_legacy_succeeds() external {
// Getters for the remote token // Getters for the remote token
assertEq(L2Token.REMOTE_TOKEN(), address(L1Token)); assertEq(L2Token.REMOTE_TOKEN(), address(L1Token));
assertEq(L2Token.remoteToken(), address(L1Token)); assertEq(L2Token.remoteToken(), address(L1Token));
...@@ -40,7 +40,7 @@ contract OptimismMintableERC20_Test is Bridge_Initializer { ...@@ -40,7 +40,7 @@ contract OptimismMintableERC20_Test is Bridge_Initializer {
assertEq(L2Token.l2Bridge(), address(L2Bridge)); assertEq(L2Token.l2Bridge(), address(L2Bridge));
} }
function test_mint() external { function test_mint_succeeds() external {
vm.expectEmit(true, true, true, true); vm.expectEmit(true, true, true, true);
emit Mint(alice, 100); emit Mint(alice, 100);
...@@ -50,14 +50,14 @@ contract OptimismMintableERC20_Test is Bridge_Initializer { ...@@ -50,14 +50,14 @@ contract OptimismMintableERC20_Test is Bridge_Initializer {
assertEq(L2Token.balanceOf(alice), 100); assertEq(L2Token.balanceOf(alice), 100);
} }
function test_mintRevertsFromNotBridge() external { function test_mint_notBridge_reverts() external {
// NOT the bridge // NOT the bridge
vm.expectRevert("OptimismMintableERC20: only bridge can mint and burn"); vm.expectRevert("OptimismMintableERC20: only bridge can mint and burn");
vm.prank(address(alice)); vm.prank(address(alice));
L2Token.mint(alice, 100); L2Token.mint(alice, 100);
} }
function test_burn() external { function test_burn_succeeds() external {
vm.prank(address(L2Bridge)); vm.prank(address(L2Bridge));
L2Token.mint(alice, 100); L2Token.mint(alice, 100);
...@@ -70,14 +70,14 @@ contract OptimismMintableERC20_Test is Bridge_Initializer { ...@@ -70,14 +70,14 @@ contract OptimismMintableERC20_Test is Bridge_Initializer {
assertEq(L2Token.balanceOf(alice), 0); assertEq(L2Token.balanceOf(alice), 0);
} }
function test_burnRevertsFromNotBridge() external { function test_burn_notBridge_reverts() external {
// NOT the bridge // NOT the bridge
vm.expectRevert("OptimismMintableERC20: only bridge can mint and burn"); vm.expectRevert("OptimismMintableERC20: only bridge can mint and burn");
vm.prank(address(alice)); vm.prank(address(alice));
L2Token.burn(alice, 100); L2Token.burn(alice, 100);
} }
function test_erc165_supportsInterface() external { function test_erc165_supportsInterface_succeeds() external {
// The assertEq calls in this test are comparing the manual calculation of the iface, // The assertEq calls in this test are comparing the manual calculation of the iface,
// with what is returned by the solidity's type().interfaceId, just to be safe. // with what is returned by the solidity's type().interfaceId, just to be safe.
bytes4 iface1 = bytes4(keccak256("supportsInterface(bytes4)")); bytes4 iface1 = bytes4(keccak256("supportsInterface(bytes4)"));
......
...@@ -16,11 +16,11 @@ contract OptimismMintableTokenFactory_Test is Bridge_Initializer { ...@@ -16,11 +16,11 @@ contract OptimismMintableTokenFactory_Test is Bridge_Initializer {
super.setUp(); super.setUp();
} }
function test_bridge() external { function test_bridge_succeeds() external {
assertEq(address(L2TokenFactory.bridge()), address(L2Bridge)); assertEq(address(L2TokenFactory.bridge()), address(L2Bridge));
} }
function test_createStandardL2Token() external { function test_createStandardL2Token_succeeds() external {
address remote = address(4); address remote = address(4);
address local = LibRLP.computeAddress(address(L2TokenFactory), 2); address local = LibRLP.computeAddress(address(L2TokenFactory), 2);
...@@ -34,7 +34,7 @@ contract OptimismMintableTokenFactory_Test is Bridge_Initializer { ...@@ -34,7 +34,7 @@ contract OptimismMintableTokenFactory_Test is Bridge_Initializer {
L2TokenFactory.createStandardL2Token(remote, "Beep", "BOOP"); L2TokenFactory.createStandardL2Token(remote, "Beep", "BOOP");
} }
function test_createStandardL2TokenSameTwice() external { function test_createStandardL2Token_sameTwice_succeeds() external {
address remote = address(4); address remote = address(4);
vm.prank(alice); vm.prank(alice);
...@@ -52,7 +52,7 @@ contract OptimismMintableTokenFactory_Test is Bridge_Initializer { ...@@ -52,7 +52,7 @@ contract OptimismMintableTokenFactory_Test is Bridge_Initializer {
L2TokenFactory.createStandardL2Token(remote, "Beep", "BOOP"); L2TokenFactory.createStandardL2Token(remote, "Beep", "BOOP");
} }
function test_createStandardL2TokenShouldRevertIfRemoteIsZero() external { function test_createStandardL2Token_remoteIsZero_succeeds() external {
address remote = address(0); address remote = address(0);
vm.expectRevert("OptimismMintableERC20Factory: must provide remote token address"); vm.expectRevert("OptimismMintableERC20Factory: must provide remote token address");
L2TokenFactory.createStandardL2Token(remote, "Beep", "BOOP"); L2TokenFactory.createStandardL2Token(remote, "Beep", "BOOP");
......
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