Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
a37d8623
Unverified
Commit
a37d8623
authored
Dec 06, 2022
by
mergify[bot]
Committed by
GitHub
Dec 06, 2022
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #4248 from ethereum-optimism/jm/ctb-test-cleanup/6
Rename L1 bridge and deployer whitelist tests
parents
ee66a8e2
1d3be8b2
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
66 additions
and
66 deletions
+66
-66
.gas-snapshot
packages/contracts-bedrock/.gas-snapshot
+33
-33
DeployerWhitelist.t.sol
.../contracts-bedrock/contracts/test/DeployerWhitelist.t.sol
+2
-2
L1CrossDomainMessenger.t.sol
...racts-bedrock/contracts/test/L1CrossDomainMessenger.t.sol
+16
-16
L1StandardBridge.t.sol
...s/contracts-bedrock/contracts/test/L1StandardBridge.t.sol
+15
-15
No files found.
packages/contracts-bedrock/.gas-snapshot
View file @
a37d8623
...
@@ -16,8 +16,8 @@ CrossDomainOwnable2_Test:test_onlyOwner_notMessenger_reverts() (gas: 8416)
...
@@ -16,8 +16,8 @@ CrossDomainOwnable2_Test:test_onlyOwner_notMessenger_reverts() (gas: 8416)
CrossDomainOwnable2_Test:test_onlyOwner_notOwner2_reverts() (gas: 61733)
CrossDomainOwnable2_Test:test_onlyOwner_notOwner2_reverts() (gas: 61733)
CrossDomainOwnable2_Test:test_onlyOwner_notOwner_reverts() (gas: 16588)
CrossDomainOwnable2_Test:test_onlyOwner_notOwner_reverts() (gas: 16588)
CrossDomainOwnable2_Test:test_onlyOwner_succeeds() (gas: 77782)
CrossDomainOwnable2_Test:test_onlyOwner_succeeds() (gas: 77782)
DeployerWhitelist_Test:test_owner
() (gas: 7516
)
DeployerWhitelist_Test:test_owner
_succeeds() (gas: 7538
)
DeployerWhitelist_Test:test_storageSlots() (gas: 33395)
DeployerWhitelist_Test:test_storageSlots
_succeeds
() (gas: 33395)
FeeVault_Test:test_constructor_succeeds() (gas: 10601)
FeeVault_Test:test_constructor_succeeds() (gas: 10601)
FeeVault_Test:test_minWithdrawalAmount_succeeds() (gas: 10668)
FeeVault_Test:test_minWithdrawalAmount_succeeds() (gas: 10668)
GasPriceOracle_Test:test_baseFee_succeeds() (gas: 8291)
GasPriceOracle_Test:test_baseFee_succeeds() (gas: 8291)
...
@@ -37,38 +37,38 @@ L1BlockTest:test_updateValues_succeeds() (gas: 60481)
...
@@ -37,38 +37,38 @@ L1BlockTest:test_updateValues_succeeds() (gas: 60481)
L1BlockNumberTest:test_fallback_succeeds() (gas: 18633)
L1BlockNumberTest:test_fallback_succeeds() (gas: 18633)
L1BlockNumberTest:test_getL1BlockNumber_succeeds() (gas: 10603)
L1BlockNumberTest:test_getL1BlockNumber_succeeds() (gas: 10603)
L1BlockNumberTest:test_receive_succeeds() (gas: 25340)
L1BlockNumberTest:test_receive_succeeds() (gas: 25340)
L1CrossDomainMessenger_Test:test
Cannot_L1MessengerPause() (gas: 24538
)
L1CrossDomainMessenger_Test:test
_messageVersion_succeeds() (gas: 24716
)
L1CrossDomainMessenger_Test:test
Cannot_L1MessengerUnpause() (gas: 24496
)
L1CrossDomainMessenger_Test:test
_pause_callerIsNotOwner_reverts() (gas: 24539
)
L1CrossDomainMessenger_Test:test_
L1MessengerMessageVersion() (gas: 24715
)
L1CrossDomainMessenger_Test:test_
pause_succeeds() (gas: 52964
)
L1CrossDomainMessenger_Test:test_
L1MessengerPause() (gas: 52920
)
L1CrossDomainMessenger_Test:test_
relayMessage_paused_reverts() (gas: 60498
)
L1CrossDomainMessenger_Test:test_
L1MessengerRelayMessageFirstStuckSecondSucceeds() (gas: 197224
)
L1CrossDomainMessenger_Test:test_
relayMessage_reentrancy_reverts() (gas: 190881
)
L1CrossDomainMessenger_Test:test_
L1MessengerRelayMessageRevertsOnReentrancy() (gas: 190913
)
L1CrossDomainMessenger_Test:test_
relayMessage_retryAfterFailure_succeeds() (gas: 197235
)
L1CrossDomainMessenger_Test:test_
L1MessengerRelayMessageSucceeds() (gas: 73649
)
L1CrossDomainMessenger_Test:test_
relayMessage_succeeds() (gas: 73617
)
L1CrossDomainMessenger_Test:test_
L1MessengerRelayMessageToSystemContract
() (gas: 65858)
L1CrossDomainMessenger_Test:test_
relayMessage_toSystemContract_reverts
() (gas: 65858)
L1CrossDomainMessenger_Test:test_
L1MessengerRelayMessageV0Fails() (gas: 33236
)
L1CrossDomainMessenger_Test:test_
relayMessage_v0_reverts() (gas: 33214
)
L1CrossDomainMessenger_Test:test_
L1MessengerRelayShouldRevertIfPaused() (gas: 60475
)
L1CrossDomainMessenger_Test:test_
replayMessage_withValue_reverts() (gas: 38214
)
L1CrossDomainMessenger_Test:test_
L1MessengerReplayMessageWithValue() (gas: 38192
)
L1CrossDomainMessenger_Test:test_
sendMessage_succeeds() (gas: 299523
)
L1CrossDomainMessenger_Test:test_
L1MessengerSendMessage() (gas: 299566
)
L1CrossDomainMessenger_Test:test_
sendMessage_twice_succeeds() (gas: 1490457
)
L1CrossDomainMessenger_Test:test_
L1MessengerTwiceSendMessage() (gas: 1490457
)
L1CrossDomainMessenger_Test:test_
unpause_callerIsNotOwner_reverts() (gas: 24472
)
L1CrossDomainMessenger_Test:test_
L1MessengerUnpause() (gas: 45186
)
L1CrossDomainMessenger_Test:test_
unpause_succeeds() (gas: 45149
)
L1CrossDomainMessenger_Test:test_
L1MessengerXDomainSenderReverts() (gas: 24232
)
L1CrossDomainMessenger_Test:test_
xDomainMessageSender_reset_succeeds() (gas: 84036
)
L1CrossDomainMessenger_Test:test_
L1MessengerxDomainMessageSenderResets() (gas: 84056
)
L1CrossDomainMessenger_Test:test_
xDomainSender_notSet_reverts() (gas: 24252
)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_succe
s
s() (gas: 575962)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_succe
ed
s() (gas: 575962)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 573786)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 573786)
L1StandardBridge_DepositERC20_TestFail:test_depositERC20_
revert_notEoa() (gas: 22298
)
L1StandardBridge_DepositERC20_TestFail:test_depositERC20_
notEoa_reverts() (gas: 22320
)
L1StandardBridge_DepositETHTo_Test:test_depositETHTo
() (gas: 324702
)
L1StandardBridge_DepositETHTo_Test:test_depositETHTo
_succeeds() (gas: 324724
)
L1StandardBridge_DepositETH_Test:test_depositETH_succe
ss() (gas: 367538
)
L1StandardBridge_DepositETH_Test:test_depositETH_succe
eds() (gas: 367539
)
L1StandardBridge_DepositETH_TestFail:test_
DepositETH_revert_notEoa() (gas: 40758
)
L1StandardBridge_DepositETH_TestFail:test_
depositETH_notEoa_reverts() (gas: 40780
)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_
revert_incorrectValue
() (gas: 34207)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_
incorrectValue_reverts
() (gas: 34207)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_
revert_sendToMessenger() (gas: 34266
)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_
sendToMessenger_reverts() (gas: 34288
)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_
revert_sendToSelf
() (gas: 34257)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_
sendToSelf_reverts
() (gas: 34257)
L1StandardBridge_FinalizeERC20Withdrawal_Test:test_finalizeERC20Withdrawal() (gas: 492896)
L1StandardBridge_FinalizeERC20Withdrawal_Test:test_finalizeERC20Withdrawal
_succeeds
() (gas: 492896)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_
revert_notMessenger() (gas: 31116
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_
notMessenger_reverts() (gas: 31148
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_
revert_notOtherBridge() (gas: 31537
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_
notOtherBridge_reverts() (gas: 31504
)
L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal
() (gas: 58708
)
L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal
_succeeds() (gas: 58686
)
L1StandardBridge_Getter_Test:test_getters_succe
ss() (gas: 31472
)
L1StandardBridge_Getter_Test:test_getters_succe
eds() (gas: 31449
)
L1StandardBridge_Initialize_Test:test_initialize_succe
ss() (gas: 22027
)
L1StandardBridge_Initialize_Test:test_initialize_succe
eds() (gas: 22005
)
L1StandardBridge_Receive_Test:test_receive_succe
ss() (gas: 514476
)
L1StandardBridge_Receive_Test:test_receive_succe
eds() (gas: 514475
)
L2CrossDomainMessenger_Test:testCannot_L2MessengerPause() (gas: 10860)
L2CrossDomainMessenger_Test:testCannot_L2MessengerPause() (gas: 10860)
L2CrossDomainMessenger_Test:test_L1MessengerRelayMessageRevertsOnReentrancy() (gas: 167775)
L2CrossDomainMessenger_Test:test_L1MessengerRelayMessageRevertsOnReentrancy() (gas: 167775)
L2CrossDomainMessenger_Test:test_L2MessengerMessageVersion() (gas: 8389)
L2CrossDomainMessenger_Test:test_L2MessengerMessageVersion() (gas: 8389)
...
...
packages/contracts-bedrock/contracts/test/DeployerWhitelist.t.sol
View file @
a37d8623
...
@@ -12,12 +12,12 @@ contract DeployerWhitelist_Test is CommonTest {
...
@@ -12,12 +12,12 @@ contract DeployerWhitelist_Test is CommonTest {
}
}
// The owner should be address(0)
// The owner should be address(0)
function test_owner() external {
function test_owner
_succeeds
() external {
assertEq(list.owner(), address(0));
assertEq(list.owner(), address(0));
}
}
// The storage slot for the owner must be the same
// The storage slot for the owner must be the same
function test_storageSlots() external {
function test_storageSlots
_succeeds
() external {
vm.prank(list.owner());
vm.prank(list.owner());
list.setOwner(address(1));
list.setOwner(address(1));
...
...
packages/contracts-bedrock/contracts/test/L1CrossDomainMessenger.t.sol
View file @
a37d8623
...
@@ -30,21 +30,21 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -30,21 +30,21 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
}
}
// pause: should pause the contract when called by the current owner
// pause: should pause the contract when called by the current owner
function test_
L1MessengerPause
() external {
function test_
pause_succeeds
() external {
vm.prank(alice);
vm.prank(alice);
L1Messenger.pause();
L1Messenger.pause();
assert(L1Messenger.paused());
assert(L1Messenger.paused());
}
}
// pause: should not pause the contract when called by account other than the owner
// pause: should not pause the contract when called by account other than the owner
function test
Cannot_L1MessengerPause
() external {
function test
_pause_callerIsNotOwner_reverts
() external {
vm.expectRevert("Ownable: caller is not the owner");
vm.expectRevert("Ownable: caller is not the owner");
vm.prank(address(0xABBA));
vm.prank(address(0xABBA));
L1Messenger.pause();
L1Messenger.pause();
}
}
// unpause: should unpause the contract when called by the current owner
// unpause: should unpause the contract when called by the current owner
function test_
L1MessengerUnpause
() external {
function test_
unpause_succeeds
() external {
vm.prank(alice);
vm.prank(alice);
L1Messenger.pause();
L1Messenger.pause();
assert(L1Messenger.paused());
assert(L1Messenger.paused());
...
@@ -55,14 +55,14 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -55,14 +55,14 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
}
}
// unpause: should not unpause the contract when called by account other than the owner
// unpause: should not unpause the contract when called by account other than the owner
function test
Cannot_L1MessengerUnpause
() external {
function test
_unpause_callerIsNotOwner_reverts
() external {
vm.expectRevert("Ownable: caller is not the owner");
vm.expectRevert("Ownable: caller is not the owner");
vm.prank(address(0xABBA));
vm.prank(address(0xABBA));
L1Messenger.unpause();
L1Messenger.unpause();
}
}
// the version is encoded in the nonce
// the version is encoded in the nonce
function test_
L1MessengerMessageVersion
() external {
function test_
messageVersion_succeeds
() external {
(, uint16 version) = Encoding.decodeVersionedNonce(L1Messenger.messageNonce());
(, uint16 version) = Encoding.decodeVersionedNonce(L1Messenger.messageNonce());
assertEq(version, L1Messenger.MESSAGE_VERSION());
assertEq(version, L1Messenger.MESSAGE_VERSION());
}
}
...
@@ -70,7 +70,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -70,7 +70,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
// sendMessage: should be able to send a single message
// sendMessage: should be able to send a single message
// TODO: this same test needs to be done with the legacy message type
// TODO: this same test needs to be done with the legacy message type
// by setting the message version to 0
// by setting the message version to 0
function test_
L1MessengerSendMessage
() external {
function test_
sendMessage_succeeds
() external {
// deposit transaction on the optimism portal should be called
// deposit transaction on the optimism portal should be called
vm.expectCall(
vm.expectCall(
address(op),
address(op),
...
@@ -123,7 +123,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -123,7 +123,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
}
}
// sendMessage: should be able to send the same message twice
// sendMessage: should be able to send the same message twice
function test_
L1MessengerTwiceSendMessage
() external {
function test_
sendMessage_twice_succeeds
() external {
uint256 nonce = L1Messenger.messageNonce();
uint256 nonce = L1Messenger.messageNonce();
L1Messenger.sendMessage(recipient, hex"aa", uint32(500_000));
L1Messenger.sendMessage(recipient, hex"aa", uint32(500_000));
L1Messenger.sendMessage(recipient, hex"aa", uint32(500_000));
L1Messenger.sendMessage(recipient, hex"aa", uint32(500_000));
...
@@ -131,7 +131,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -131,7 +131,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
assertEq(nonce + 2, L1Messenger.messageNonce());
assertEq(nonce + 2, L1Messenger.messageNonce());
}
}
function test_
L1MessengerXDomainSenderR
everts() external {
function test_
xDomainSender_notSet_r
everts() external {
vm.expectRevert("CrossDomainMessenger: xDomainMessageSender is not set");
vm.expectRevert("CrossDomainMessenger: xDomainMessageSender is not set");
L1Messenger.xDomainMessageSender();
L1Messenger.xDomainMessageSender();
}
}
...
@@ -140,7 +140,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -140,7 +140,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
// TODO: might need a test contract
// TODO: might need a test contract
// function test_xDomainSenderSetCorrectly() external {}
// function test_xDomainSenderSetCorrectly() external {}
function test_
L1MessengerRelayMessageV0Fail
s() external {
function test_
relayMessage_v0_revert
s() external {
address target = address(0xabcd);
address target = address(0xabcd);
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
...
@@ -162,7 +162,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -162,7 +162,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
}
}
// relayMessage: should send a successful call to the target contract
// relayMessage: should send a successful call to the target contract
function test_
L1MessengerRelayMessageS
ucceeds() external {
function test_
relayMessage_s
ucceeds() external {
address target = address(0xabcd);
address target = address(0xabcd);
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
...
@@ -201,7 +201,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -201,7 +201,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
}
}
// relayMessage: should revert if attempting to relay a message sent to an L1 system contract
// relayMessage: should revert if attempting to relay a message sent to an L1 system contract
function test_
L1MessengerRelayMessageToSystemContract
() external {
function test_
relayMessage_toSystemContract_reverts
() external {
// set the target to be the OptimismPortal
// set the target to be the OptimismPortal
address target = address(op);
address target = address(op);
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
...
@@ -231,7 +231,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -231,7 +231,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
}
}
// relayMessage: should revert if eth is sent from a contract other than the standard bridge
// relayMessage: should revert if eth is sent from a contract other than the standard bridge
function test_
L1MessengerReplayMessageWithValue
() external {
function test_
replayMessage_withValue_reverts
() external {
address target = address(0xabcd);
address target = address(0xabcd);
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
bytes memory message = hex"1111";
bytes memory message = hex"1111";
...
@@ -250,7 +250,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -250,7 +250,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
}
}
// relayMessage: the xDomainMessageSender is reset to the original value
// relayMessage: the xDomainMessageSender is reset to the original value
function test_
L1MessengerxDomainMessageSenderReset
s() external {
function test_
xDomainMessageSender_reset_succeed
s() external {
vm.expectRevert("CrossDomainMessenger: xDomainMessageSender is not set");
vm.expectRevert("CrossDomainMessenger: xDomainMessageSender is not set");
L1Messenger.xDomainMessageSender();
L1Messenger.xDomainMessageSender();
...
@@ -272,7 +272,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -272,7 +272,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
}
}
// relayMessage: should revert if paused
// relayMessage: should revert if paused
function test_
L1MessengerRelayShouldRevertIfPaused
() external {
function test_
relayMessage_paused_reverts
() external {
vm.prank(L1Messenger.owner());
vm.prank(L1Messenger.owner());
L1Messenger.pause();
L1Messenger.pause();
...
@@ -282,7 +282,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -282,7 +282,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
// relayMessage: should send a successful call to the target contract after the first message
// relayMessage: should send a successful call to the target contract after the first message
// fails and ETH gets stuck, but the second message succeeds
// fails and ETH gets stuck, but the second message succeeds
function test_
L1MessengerRelayMessageFirstStuckSecondS
ucceeds() external {
function test_
relayMessage_retryAfterFailure_s
ucceeds() external {
address target = address(0xabcd);
address target = address(0xabcd);
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
uint256 value = 100;
uint256 value = 100;
...
@@ -338,7 +338,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -338,7 +338,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
}
}
// relayMessage: should revert if recipient is trying to reenter
// relayMessage: should revert if recipient is trying to reenter
function test_
L1MessengerRelayMessageRevertsOnReentrancy
() external {
function test_
relayMessage_reentrancy_reverts
() external {
address target = address(0xabcd);
address target = address(0xabcd);
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
address sender = Predeploys.L2_CROSS_DOMAIN_MESSENGER;
bytes memory message = abi.encodeWithSelector(
bytes memory message = abi.encodeWithSelector(
...
...
packages/contracts-bedrock/contracts/test/L1StandardBridge.t.sol
View file @
a37d8623
...
@@ -11,7 +11,7 @@ import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
...
@@ -11,7 +11,7 @@ import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import { stdStorage, StdStorage } from "forge-std/Test.sol";
import { stdStorage, StdStorage } from "forge-std/Test.sol";
contract L1StandardBridge_Getter_Test is Bridge_Initializer {
contract L1StandardBridge_Getter_Test is Bridge_Initializer {
function test_getters_succe
s
s() external {
function test_getters_succe
ed
s() external {
assert(L1Bridge.l2TokenBridge() == address(L2Bridge));
assert(L1Bridge.l2TokenBridge() == address(L2Bridge));
assert(L1Bridge.OTHER_BRIDGE() == L2Bridge);
assert(L1Bridge.OTHER_BRIDGE() == L2Bridge);
assert(L1Bridge.messenger() == L1Messenger);
assert(L1Bridge.messenger() == L1Messenger);
...
@@ -21,7 +21,7 @@ contract L1StandardBridge_Getter_Test is Bridge_Initializer {
...
@@ -21,7 +21,7 @@ contract L1StandardBridge_Getter_Test is Bridge_Initializer {
}
}
contract L1StandardBridge_Initialize_Test is Bridge_Initializer {
contract L1StandardBridge_Initialize_Test is Bridge_Initializer {
function test_initialize_succe
s
s() external {
function test_initialize_succe
ed
s() external {
assertEq(address(L1Bridge.messenger()), address(L1Messenger));
assertEq(address(L1Bridge.messenger()), address(L1Messenger));
assertEq(address(L1Bridge.OTHER_BRIDGE()), Predeploys.L2_STANDARD_BRIDGE);
assertEq(address(L1Bridge.OTHER_BRIDGE()), Predeploys.L2_STANDARD_BRIDGE);
...
@@ -35,7 +35,7 @@ contract L1StandardBridge_Initialize_TestFail is Bridge_Initializer {}
...
@@ -35,7 +35,7 @@ contract L1StandardBridge_Initialize_TestFail is Bridge_Initializer {}
contract L1StandardBridge_Receive_Test is Bridge_Initializer {
contract L1StandardBridge_Receive_Test is Bridge_Initializer {
// receive
// receive
// - can accept ETH
// - can accept ETH
function test_receive_succe
s
s() external {
function test_receive_succe
ed
s() external {
assertEq(address(op).balance, 0);
assertEq(address(op).balance, 0);
vm.expectEmit(true, true, true, true);
vm.expectEmit(true, true, true, true);
...
@@ -72,7 +72,7 @@ contract L1StandardBridge_DepositETH_Test is Bridge_Initializer {
...
@@ -72,7 +72,7 @@ contract L1StandardBridge_DepositETH_Test is Bridge_Initializer {
// - calls optimismPortal.depositTransaction
// - calls optimismPortal.depositTransaction
// - only EOA
// - only EOA
// - ETH ends up in the optimismPortal
// - ETH ends up in the optimismPortal
function test_depositETH_succe
s
s() external {
function test_depositETH_succe
ed
s() external {
assertEq(address(op).balance, 0);
assertEq(address(op).balance, 0);
vm.expectEmit(true, true, true, true);
vm.expectEmit(true, true, true, true);
...
@@ -101,7 +101,7 @@ contract L1StandardBridge_DepositETH_Test is Bridge_Initializer {
...
@@ -101,7 +101,7 @@ contract L1StandardBridge_DepositETH_Test is Bridge_Initializer {
}
}
contract L1StandardBridge_DepositETH_TestFail is Bridge_Initializer {
contract L1StandardBridge_DepositETH_TestFail is Bridge_Initializer {
function test_
DepositETH_revert_notEoa
() external {
function test_
depositETH_notEoa_reverts
() external {
// turn alice into a contract
// turn alice into a contract
vm.etch(alice, address(L1Token).code);
vm.etch(alice, address(L1Token).code);
...
@@ -117,7 +117,7 @@ contract L1StandardBridge_DepositETHTo_Test is Bridge_Initializer {
...
@@ -117,7 +117,7 @@ contract L1StandardBridge_DepositETHTo_Test is Bridge_Initializer {
// - calls optimismPortal.depositTransaction
// - calls optimismPortal.depositTransaction
// - EOA or contract can call
// - EOA or contract can call
// - ETH ends up in the optimismPortal
// - ETH ends up in the optimismPortal
function test_depositETHTo() external {
function test_depositETHTo
_succeeds
() external {
assertEq(address(op).balance, 0);
assertEq(address(op).balance, 0);
vm.expectEmit(true, true, true, true);
vm.expectEmit(true, true, true, true);
...
@@ -195,7 +195,7 @@ contract L1StandardBridge_DepositERC20_Test is Bridge_Initializer {
...
@@ -195,7 +195,7 @@ contract L1StandardBridge_DepositERC20_Test is Bridge_Initializer {
}
}
contract L1StandardBridge_DepositERC20_TestFail is Bridge_Initializer {
contract L1StandardBridge_DepositERC20_TestFail is Bridge_Initializer {
function test_depositERC20_
revert_notEoa
() external {
function test_depositERC20_
notEoa_reverts
() external {
// turn alice into a contract
// turn alice into a contract
vm.etch(alice, hex"ffff");
vm.etch(alice, hex"ffff");
...
@@ -211,7 +211,7 @@ contract L1StandardBridge_DepositERC20To_Test is Bridge_Initializer {
...
@@ -211,7 +211,7 @@ contract L1StandardBridge_DepositERC20To_Test is Bridge_Initializer {
// - emits ERC20DepositInitiated
// - emits ERC20DepositInitiated
// - calls optimismPortal.depositTransaction
// - calls optimismPortal.depositTransaction
// - callable by a contract
// - callable by a contract
function test_depositERC20To_succe
s
s() external {
function test_depositERC20To_succe
ed
s() external {
vm.expectEmit(true, true, true, true);
vm.expectEmit(true, true, true, true);
emit ERC20DepositInitiated(address(L1Token), address(L2Token), alice, bob, 1000, hex"");
emit ERC20DepositInitiated(address(L1Token), address(L2Token), alice, bob, 1000, hex"");
...
@@ -238,7 +238,7 @@ contract L1StandardBridge_FinalizeETHWithdrawal_Test is Bridge_Initializer {
...
@@ -238,7 +238,7 @@ contract L1StandardBridge_FinalizeETHWithdrawal_Test is Bridge_Initializer {
// finalizeETHWithdrawal
// finalizeETHWithdrawal
// - emits ETHWithdrawalFinalized
// - emits ETHWithdrawalFinalized
// - only callable by L2 bridge
// - only callable by L2 bridge
function test_finalizeETHWithdrawal() external {
function test_finalizeETHWithdrawal
_succeeds
() external {
uint256 aliceBalance = alice.balance;
uint256 aliceBalance = alice.balance;
vm.expectEmit(true, true, true, true);
vm.expectEmit(true, true, true, true);
...
@@ -270,7 +270,7 @@ contract L1StandardBridge_FinalizeERC20Withdrawal_Test is Bridge_Initializer {
...
@@ -270,7 +270,7 @@ contract L1StandardBridge_FinalizeERC20Withdrawal_Test is Bridge_Initializer {
// - updates bridge.deposits
// - updates bridge.deposits
// - emits ERC20WithdrawalFinalized
// - emits ERC20WithdrawalFinalized
// - only callable by L2 bridge
// - only callable by L2 bridge
function test_finalizeERC20Withdrawal() external {
function test_finalizeERC20Withdrawal
_succeeds
() external {
deal(address(L1Token), address(L1Bridge), 100, true);
deal(address(L1Token), address(L1Bridge), 100, true);
uint256 slot = stdstore
uint256 slot = stdstore
...
@@ -313,7 +313,7 @@ contract L1StandardBridge_FinalizeERC20Withdrawal_Test is Bridge_Initializer {
...
@@ -313,7 +313,7 @@ contract L1StandardBridge_FinalizeERC20Withdrawal_Test is Bridge_Initializer {
}
}
contract L1StandardBridge_FinalizeERC20Withdrawal_TestFail is Bridge_Initializer {
contract L1StandardBridge_FinalizeERC20Withdrawal_TestFail is Bridge_Initializer {
function test_finalizeERC20Withdrawal_
revert_notMessenger
() external {
function test_finalizeERC20Withdrawal_
notMessenger_reverts
() external {
vm.mockCall(
vm.mockCall(
address(L1Bridge.messenger()),
address(L1Bridge.messenger()),
abi.encodeWithSelector(CrossDomainMessenger.xDomainMessageSender.selector),
abi.encodeWithSelector(CrossDomainMessenger.xDomainMessageSender.selector),
...
@@ -331,7 +331,7 @@ contract L1StandardBridge_FinalizeERC20Withdrawal_TestFail is Bridge_Initializer
...
@@ -331,7 +331,7 @@ contract L1StandardBridge_FinalizeERC20Withdrawal_TestFail is Bridge_Initializer
);
);
}
}
function test_finalizeERC20Withdrawal_
revert_notOtherBridge
() external {
function test_finalizeERC20Withdrawal_
notOtherBridge_reverts
() external {
vm.mockCall(
vm.mockCall(
address(L1Bridge.messenger()),
address(L1Bridge.messenger()),
abi.encodeWithSelector(CrossDomainMessenger.xDomainMessageSender.selector),
abi.encodeWithSelector(CrossDomainMessenger.xDomainMessageSender.selector),
...
@@ -357,7 +357,7 @@ contract L1StandardBridge_FinalizeBridgeETH_Test is Bridge_Initializer {
...
@@ -357,7 +357,7 @@ contract L1StandardBridge_FinalizeBridgeETH_Test is Bridge_Initializer {
}
}
contract L1StandardBridge_FinalizeBridgeETH_TestFail is Bridge_Initializer {
contract L1StandardBridge_FinalizeBridgeETH_TestFail is Bridge_Initializer {
function test_finalizeBridgeETH_
revert_incorrectValue
() external {
function test_finalizeBridgeETH_
incorrectValue_reverts
() external {
address messenger = address(L1Bridge.messenger());
address messenger = address(L1Bridge.messenger());
vm.mockCall(
vm.mockCall(
messenger,
messenger,
...
@@ -370,7 +370,7 @@ contract L1StandardBridge_FinalizeBridgeETH_TestFail is Bridge_Initializer {
...
@@ -370,7 +370,7 @@ contract L1StandardBridge_FinalizeBridgeETH_TestFail is Bridge_Initializer {
L1Bridge.finalizeBridgeETH{ value: 50 }(alice, alice, 100, hex"");
L1Bridge.finalizeBridgeETH{ value: 50 }(alice, alice, 100, hex"");
}
}
function test_finalizeBridgeETH_
revert_sendToSelf
() external {
function test_finalizeBridgeETH_
sendToSelf_reverts
() external {
address messenger = address(L1Bridge.messenger());
address messenger = address(L1Bridge.messenger());
vm.mockCall(
vm.mockCall(
messenger,
messenger,
...
@@ -383,7 +383,7 @@ contract L1StandardBridge_FinalizeBridgeETH_TestFail is Bridge_Initializer {
...
@@ -383,7 +383,7 @@ contract L1StandardBridge_FinalizeBridgeETH_TestFail is Bridge_Initializer {
L1Bridge.finalizeBridgeETH{ value: 100 }(alice, address(L1Bridge), 100, hex"");
L1Bridge.finalizeBridgeETH{ value: 100 }(alice, address(L1Bridge), 100, hex"");
}
}
function test_finalizeBridgeETH_
revert_sendToMessenger
() external {
function test_finalizeBridgeETH_
sendToMessenger_reverts
() external {
address messenger = address(L1Bridge.messenger());
address messenger = address(L1Bridge.messenger());
vm.mockCall(
vm.mockCall(
messenger,
messenger,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment