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
dcdbd78e
Unverified
Commit
dcdbd78e
authored
Nov 21, 2022
by
Kelvin Fichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
maint(ctb): minor cleanups in L2OO
Several small cleanups to the L2OutputOracle.
parent
7d0483a1
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
59 additions
and
72 deletions
+59
-72
l2outputoracle.go
op-bindings/bindings/l2outputoracle.go
+11
-11
.gas-snapshot
packages/contracts-bedrock/.gas-snapshot
+30
-30
L2OutputOracle.sol
packages/contracts-bedrock/contracts/L1/L2OutputOracle.sol
+12
-22
L2OutputOracle.t.sol
...ges/contracts-bedrock/contracts/test/L2OutputOracle.t.sol
+4
-7
OptimismPortal.t.sol
...ges/contracts-bedrock/contracts/test/OptimismPortal.t.sol
+2
-2
No files found.
op-bindings/bindings/l2outputoracle.go
View file @
dcdbd78e
This diff is collapsed.
Click to expand it.
packages/contracts-bedrock/.gas-snapshot
View file @
dcdbd78e
...
@@ -5,7 +5,7 @@ GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 1122
...
@@ -5,7 +5,7 @@ GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 1122
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 348176)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 348176)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 112253)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 112253)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 40502)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 40502)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 686
48
)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 686
20
)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 74956)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 74956)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 35693)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 35693)
CrossDomainMessenger_Test:testFuzz_baseGas(uint32) (runs: 256, μ: 20196, ~: 20196)
CrossDomainMessenger_Test:testFuzz_baseGas(uint32) (runs: 256, μ: 20196, ~: 20196)
...
@@ -85,29 +85,29 @@ L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 122423)
...
@@ -85,29 +85,29 @@ L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 122423)
L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 134632)
L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 134632)
L2CrossDomainMessenger_Test:test_L2MessengerXDomainSenderReverts() (gas: 10568)
L2CrossDomainMessenger_Test:test_L2MessengerXDomainSenderReverts() (gas: 10568)
L2CrossDomainMessenger_Test:test_L2MessengerxDomainMessageSenderResets() (gas: 52615)
L2CrossDomainMessenger_Test:test_L2MessengerxDomainMessageSenderResets() (gas: 52615)
L2OutputOracleTest:testCannot_ProposeWithUnmatchedBlockhash() (gas: 26
850
)
L2OutputOracleTest:testCannot_ProposeWithUnmatchedBlockhash() (gas: 26
798
)
L2OutputOracleTest:testCannot_constructWithBadTimestamp() (gas: 50
456
)
L2OutputOracleTest:testCannot_constructWithBadTimestamp() (gas: 50
365
)
L2OutputOracleTest:testCannot_deleteL2Output_ifNotOwner() (gas: 250
90
)
L2OutputOracleTest:testCannot_deleteL2Output_ifNotOwner() (gas: 250
64
)
L2OutputOracleTest:testCannot_deleteL2Output_withWrongRoot() (gas: 913
9
9)
L2OutputOracleTest:testCannot_deleteL2Output_withWrongRoot() (gas: 913
1
9)
L2OutputOracleTest:testCannot_deleteL2Output_withWrongTime() (gas: 873
8
2)
L2OutputOracleTest:testCannot_deleteL2Output_withWrongTime() (gas: 873
0
2)
L2OutputOracleTest:testCannot_proposeEmptyOutput() (gas: 24
126
)
L2OutputOracleTest:testCannot_proposeEmptyOutput() (gas: 24
074
)
L2OutputOracleTest:testCannot_proposeFutureTimetamp() (gas: 260
95
)
L2OutputOracleTest:testCannot_proposeFutureTimetamp() (gas: 260
43
)
L2OutputOracleTest:testCannot_proposeL2OutputIfNotProposer() (gas: 235
63
)
L2OutputOracleTest:testCannot_proposeL2OutputIfNotProposer() (gas: 235
37
)
L2OutputOracleTest:testCannot_proposeOnWrongFork() (gas: 263
68
)
L2OutputOracleTest:testCannot_proposeOnWrongFork() (gas: 263
16
)
L2OutputOracleTest:testCannot_proposeUnexpectedBlockNumber() (gas: 2
6003
)
L2OutputOracleTest:testCannot_proposeUnexpectedBlockNumber() (gas: 2
5977
)
L2OutputOracleTest:test_changeProposer() (gas: 47047)
L2OutputOracleTest:test_changeProposer() (gas: 47047)
L2OutputOracleTest:test_computeL2Timestamp() (gas: 30
215
)
L2OutputOracleTest:test_computeL2Timestamp() (gas: 30
483
)
L2OutputOracleTest:test_constructor() (gas: 45
612
)
L2OutputOracleTest:test_constructor() (gas: 45
586
)
L2OutputOracleTest:test_deleteOutput() (gas: 77
197
)
L2OutputOracleTest:test_deleteOutput() (gas: 77
092
)
L2OutputOracleTest:test_getL2Output() (gas: 88
478
)
L2OutputOracleTest:test_getL2Output() (gas: 88
702
)
L2OutputOracleTest:test_latestBlockNumber() (gas: 76
240
)
L2OutputOracleTest:test_latestBlockNumber() (gas: 76
186
)
L2OutputOracleTest:test_nextBlockNumber() (gas: 15187)
L2OutputOracleTest:test_nextBlockNumber() (gas: 15187)
L2OutputOracleTest:test_proposeWithBlockhashAndHeight() (gas: 7
5044
)
L2OutputOracleTest:test_proposeWithBlockhashAndHeight() (gas: 7
4990
)
L2OutputOracleTest:test_proposingAnotherOutput() (gas: 768
69
)
L2OutputOracleTest:test_proposingAnotherOutput() (gas: 768
15
)
L2OutputOracleTest:test_updateOwner() (gas: 36063)
L2OutputOracleTest:test_updateOwner() (gas: 36063)
L2OutputOracleUpgradeable_Test:test_cannotInitImpl() (gas: 17403)
L2OutputOracleUpgradeable_Test:test_cannotInitImpl() (gas: 17403)
L2OutputOracleUpgradeable_Test:test_cannotInitProxy() (gas: 22398)
L2OutputOracleUpgradeable_Test:test_cannotInitProxy() (gas: 22398)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy() (gas: 360
94
)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy() (gas: 360
68
)
L2OutputOracleUpgradeable_Test:test_upgrading() (gas: 180457)
L2OutputOracleUpgradeable_Test:test_upgrading() (gas: 180457)
L2StandardBridge_Test:test_cannotWithdrawEthWithoutSendingIt() (gas: 21749)
L2StandardBridge_Test:test_cannotWithdrawEthWithoutSendingIt() (gas: 21749)
L2StandardBridge_Test:test_finalizeBridgeETH_incorrectValueReverts() (gas: 23733)
L2StandardBridge_Test:test_finalizeBridgeETH_incorrectValueReverts() (gas: 23733)
...
@@ -149,21 +149,21 @@ OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 10
...
@@ -149,21 +149,21 @@ OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 10
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15767)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15767)
OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_success() (gas: 16010)
OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_success() (gas: 16010)
OptimismPortalUpgradeable_Test:test_upgradeToAndCall_upgrading_success() (gas: 180435)
OptimismPortalUpgradeable_Test:test_upgradeToAndCall_upgrading_success() (gas: 180435)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputRootChanges_reverts() (gas: 1927
96
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputRootChanges_reverts() (gas: 1927
70
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_reverts() (gas: 1950
84
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_reverts() (gas: 1950
58
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalNotProven_reverts() (gas: 39589)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalNotProven_reverts() (gas: 39589)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalProofNotOldEnough_reverts() (gas: 1905
38
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalProofNotOldEnough_reverts() (gas: 1905
12
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onInsufficientGas_reverts() (gas: 192953)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onInsufficientGas_reverts() (gas: 192953)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onRecentWithdrawal_reverts() (gas: 173010)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onRecentWithdrawal_reverts() (gas: 173010)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReentrancy_reverts() (gas: 233210)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReentrancy_reverts() (gas: 233210)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReplay_reverts() (gas: 2326
82
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReplay_reverts() (gas: 2326
04
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_provenWithdrawalHash_success() (gas: 2246
76
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_provenWithdrawalHash_success() (gas: 2246
24
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails_fails() (gas: 327
313
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails_fails() (gas: 327
261
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_timestampLessThanL2OracleStart_reverts() (gas: 1912
94
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_timestampLessThanL2OracleStart_reverts() (gas: 1912
68
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidOutputRootProof_reverts() (gas: 813
33
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidOutputRootProof_reverts() (gas: 813
07
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onSelfCall_reverts() (gas: 50776)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onSelfCall_reverts() (gas: 50776)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_oninvalidWithdrawalProof_reverts() (gas: 130
105
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_oninvalidWithdrawalProof_reverts() (gas: 130
079
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_validWithdrawalProof_success() (gas: 1768
47
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_validWithdrawalProof_success() (gas: 1768
21
)
OptimismPortal_Test:test_OptimismPortalConstructor() (gas: 17298)
OptimismPortal_Test:test_OptimismPortalConstructor() (gas: 17298)
OptimismPortal_Test:test_OptimismPortalReceiveEth_success() (gas: 127483)
OptimismPortal_Test:test_OptimismPortalReceiveEth_success() (gas: 127483)
OptimismPortal_Test:test_depositTransaction_NoValueContract_success() (gas: 76706)
OptimismPortal_Test:test_depositTransaction_NoValueContract_success() (gas: 76706)
...
@@ -175,7 +175,7 @@ OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreat
...
@@ -175,7 +175,7 @@ OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreat
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation_success() (gas: 75852)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation_success() (gas: 75852)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract_success() (gas: 83370)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract_success() (gas: 83370)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA_success() (gas: 83964)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA_success() (gas: 83964)
OptimismPortal_Test:test_isBlockFinalized_success() (gas: 113
53
7)
OptimismPortal_Test:test_isBlockFinalized_success() (gas: 113
32
7)
OptimismPortal_Test:test_simple_isBlockFinalized_success() (gas: 24142)
OptimismPortal_Test:test_simple_isBlockFinalized_success() (gas: 24142)
Proxy_Test:test_clashingFunctionSignatures() (gas: 101347)
Proxy_Test:test_clashingFunctionSignatures() (gas: 101347)
Proxy_Test:test_implementationKey() (gas: 20887)
Proxy_Test:test_implementationKey() (gas: 20887)
...
...
packages/contracts-bedrock/contracts/L1/L2OutputOracle.sol
View file @
dcdbd78e
...
@@ -222,10 +222,10 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
...
@@ -222,10 +222,10 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
);
);
}
}
emit OutputProposed(_outputRoot, block.timestamp, _l2BlockNumber);
l2Outputs[_l2BlockNumber] = Types.OutputProposal(_outputRoot, block.timestamp);
l2Outputs[_l2BlockNumber] = Types.OutputProposal(_outputRoot, block.timestamp);
latestBlockNumber = _l2BlockNumber;
latestBlockNumber = _l2BlockNumber;
emit OutputProposed(_outputRoot, block.timestamp, _l2BlockNumber);
}
}
/**
/**
...
@@ -242,11 +242,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
...
@@ -242,11 +242,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
view
view
returns (Types.OutputProposal memory)
returns (Types.OutputProposal memory)
{
{
require(
_l2BlockNumber >= STARTING_BLOCK_NUMBER,
"L2OutputOracle: block number cannot be less than the starting block number."
);
// Find the distance between _l2BlockNumber, and the checkpoint block before it.
// Find the distance between _l2BlockNumber, and the checkpoint block before it.
uint256 offset = (_l2BlockNumber - STARTING_BLOCK_NUMBER) % SUBMISSION_INTERVAL;
uint256 offset = (_l2BlockNumber - STARTING_BLOCK_NUMBER) % SUBMISSION_INTERVAL;
...
@@ -259,23 +254,23 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
...
@@ -259,23 +254,23 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
Types.OutputProposal memory output = l2Outputs[lookupBlockNumber];
Types.OutputProposal memory output = l2Outputs[lookupBlockNumber];
require(
require(
output.outputRoot != bytes32(0),
output.outputRoot != bytes32(0),
"L2OutputOracle:
No output found for that block number.
"
"L2OutputOracle:
no output found for the given block number
"
);
);
return output;
return output;
}
}
/**
/**
* @notice Transfers the proposer role to a new account (`newProposer`).
* @notice Allows the owner to change the proposer address.
* Can only be called by the current owner.
*
* @param _proposer New proposer address.
*/
*/
function changeProposer(address _newProposer) public onlyOwner {
function changeProposer(address _proposer) public onlyOwner {
require(
require(_proposer != address(0), "L2OutputOracle: new proposer cannot be the zero address");
_newProposer != address(0),
"L2OutputOracle: new proposer cannot be the zero address"
emit ProposerChanged(proposer, _proposer);
);
emit ProposerChanged(proposer, _newProposer);
proposer = _proposer;
proposer = _newProposer;
}
}
/**
/**
...
@@ -293,11 +288,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
...
@@ -293,11 +288,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
* @param _l2BlockNumber The L2 block number of the target block.
* @param _l2BlockNumber The L2 block number of the target block.
*/
*/
function computeL2Timestamp(uint256 _l2BlockNumber) public view returns (uint256) {
function computeL2Timestamp(uint256 _l2BlockNumber) public view returns (uint256) {
require(
_l2BlockNumber >= STARTING_BLOCK_NUMBER,
"L2OutputOracle: block number must be greater than or equal to starting block number"
);
return STARTING_TIMESTAMP + ((_l2BlockNumber - STARTING_BLOCK_NUMBER) * L2_BLOCK_TIME);
return STARTING_TIMESTAMP + ((_l2BlockNumber - STARTING_BLOCK_NUMBER) * L2_BLOCK_TIME);
}
}
}
}
packages/contracts-bedrock/contracts/test/L2OutputOracle.t.sol
View file @
dcdbd78e
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
pragma solidity 0.8.15;
import { stdError } from "forge-std/Test.sol";
import { L2OutputOracle_Initializer, NextImpl } from "./CommonTest.t.sol";
import { L2OutputOracle_Initializer, NextImpl } from "./CommonTest.t.sol";
import { L2OutputOracle } from "../L1/L2OutputOracle.sol";
import { L2OutputOracle } from "../L1/L2OutputOracle.sol";
import { Proxy } from "../universal/Proxy.sol";
import { Proxy } from "../universal/Proxy.sol";
...
@@ -74,13 +75,11 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
...
@@ -74,13 +75,11 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
assertEq(proposal.timestamp, block.timestamp);
assertEq(proposal.timestamp, block.timestamp);
// The block number is too low:
// The block number is too low:
vm.expectRevert(
vm.expectRevert(stdError.arithmeticError);
"L2OutputOracle: block number cannot be less than the starting block number."
);
oracle.getL2Output(0);
oracle.getL2Output(0);
// The block number is larger than the latest proposed output:
// The block number is larger than the latest proposed output:
vm.expectRevert("L2OutputOracle:
No output found for that block number.
");
vm.expectRevert("L2OutputOracle:
no output found for the given block number
");
oracle.getL2Output(nextBlockNumber + 1);
oracle.getL2Output(nextBlockNumber + 1);
}
}
...
@@ -95,9 +94,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
...
@@ -95,9 +94,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
function test_computeL2Timestamp() external {
function test_computeL2Timestamp() external {
// reverts if timestamp is too low
// reverts if timestamp is too low
vm.expectRevert(
vm.expectRevert(stdError.arithmeticError);
"L2OutputOracle: block number must be greater than or equal to starting block number"
);
oracle.computeL2Timestamp(startingBlockNumber - 1);
oracle.computeL2Timestamp(startingBlockNumber - 1);
// returns the correct value...
// returns the correct value...
...
...
packages/contracts-bedrock/contracts/test/OptimismPortal.t.sol
View file @
dcdbd78e
...
@@ -242,7 +242,7 @@ contract OptimismPortal_Test is Portal_Initializer {
...
@@ -242,7 +242,7 @@ contract OptimismPortal_Test is Portal_Initializer {
// The checkpointed block should not be finalized until 1 second from now.
// The checkpointed block should not be finalized until 1 second from now.
assertEq(op.isBlockFinalized(checkpoint), false);
assertEq(op.isBlockFinalized(checkpoint), false);
// Nor should a block after it
// Nor should a block after it
vm.expectRevert("L2OutputOracle:
No output found for that block number.
");
vm.expectRevert("L2OutputOracle:
no output found for the given block number
");
assertEq(op.isBlockFinalized(checkpoint + 1), false);
assertEq(op.isBlockFinalized(checkpoint + 1), false);
// Nor a block before it, even though the finalization period has passed, there is
// Nor a block before it, even though the finalization period has passed, there is
// not yet a checkpoint block on top of it for which that is true.
// not yet a checkpoint block on top of it for which that is true.
...
@@ -255,7 +255,7 @@ contract OptimismPortal_Test is Portal_Initializer {
...
@@ -255,7 +255,7 @@ contract OptimismPortal_Test is Portal_Initializer {
// So should the block before it.
// So should the block before it.
assertEq(op.isBlockFinalized(checkpoint - 1), true);
assertEq(op.isBlockFinalized(checkpoint - 1), true);
// But not the block after it.
// But not the block after it.
vm.expectRevert("L2OutputOracle:
No output found for that block number.
");
vm.expectRevert("L2OutputOracle:
no output found for the given block number
");
assertEq(op.isBlockFinalized(checkpoint + 1), false);
assertEq(op.isBlockFinalized(checkpoint + 1), false);
}
}
}
}
...
...
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