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
935d6ef3
Unverified
Commit
935d6ef3
authored
Nov 21, 2023
by
Maurelian
Committed by
GitHub
Nov 21, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #8227 from ethereum-optimism/feat/deploy-func-relocations
contracts-bedrock: Move modifiers up in Deploy.s.sol
parents
2e35a8f6
b6e25f7c
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
525 additions
and
585 deletions
+525
-585
.gas-snapshot
packages/contracts-bedrock/.gas-snapshot
+353
-353
Deploy.s.sol
packages/contracts-bedrock/scripts/Deploy.s.sol
+172
-232
No files found.
packages/contracts-bedrock/.gas-snapshot
View file @
935d6ef3
...
...
@@ -26,24 +26,24 @@ Bytes_toNibbles_Test:test_toNibbles_expectedResult128Bytes_works() (gas: 78882)
Bytes_toNibbles_Test:test_toNibbles_expectedResult5Bytes_works() (gas: 3992)
Bytes_toNibbles_Test:test_toNibbles_zeroLengthInput_works() (gas: 845)
Constants_Test:test_eip1967Constants_succeeds() (gas: 453)
CrossDomainMessenger_BaseGas_Test:test_baseGas_succeeds() (gas: 204
58
)
CrossDomainOwnable2_Test:test_onlyOwner_notMessenger_reverts() (gas: 85
39
)
CrossDomainOwnable2_Test:test_onlyOwner_notOwner2_reverts() (gas: 575
18
)
CrossDomainOwnable2_Test:test_onlyOwner_notOwner_reverts() (gas: 166
55
)
CrossDomainOwnable2_Test:test_onlyOwner_succeeds() (gas: 736
19
)
CrossDomainOwnable3_Test:test_constructor_succeeds() (gas: 1062
7
)
CrossDomainOwnable3_Test:test_crossDomainOnlyOwner_notMessenger_reverts() (gas: 283
63
)
CrossDomainOwnable3_Test:test_crossDomainOnlyOwner_notOwner2_reverts() (gas: 740
02
)
CrossDomainOwnable3_Test:test_crossDomainOnlyOwner_notOwner_reverts() (gas: 32
118
)
CrossDomainOwnable3_Test:test_crossDomainTransferOwnership_succeeds() (gas: 91
600
)
CrossDomainOwnable3_Test:test_localOnlyOwner_notOwner_reverts() (gas: 132
60
)
CrossDomainOwnable3_Test:test_localOnlyOwner_succeeds() (gas: 352
71
)
CrossDomainOwnable3_Test:test_localTransferOwnership_succeeds() (gas: 52
158
)
CrossDomainOwnable3_Test:test_transferOwnershipNoLocal_succeeds() (gas: 48
662
)
CrossDomainMessenger_BaseGas_Test:test_baseGas_succeeds() (gas: 204
80
)
CrossDomainOwnable2_Test:test_onlyOwner_notMessenger_reverts() (gas: 85
17
)
CrossDomainOwnable2_Test:test_onlyOwner_notOwner2_reverts() (gas: 575
83
)
CrossDomainOwnable2_Test:test_onlyOwner_notOwner_reverts() (gas: 166
99
)
CrossDomainOwnable2_Test:test_onlyOwner_succeeds() (gas: 736
62
)
CrossDomainOwnable3_Test:test_constructor_succeeds() (gas: 1062
8
)
CrossDomainOwnable3_Test:test_crossDomainOnlyOwner_notMessenger_reverts() (gas: 283
41
)
CrossDomainOwnable3_Test:test_crossDomainOnlyOwner_notOwner2_reverts() (gas: 740
21
)
CrossDomainOwnable3_Test:test_crossDomainOnlyOwner_notOwner_reverts() (gas: 32
096
)
CrossDomainOwnable3_Test:test_crossDomainTransferOwnership_succeeds() (gas: 91
578
)
CrossDomainOwnable3_Test:test_localOnlyOwner_notOwner_reverts() (gas: 132
38
)
CrossDomainOwnable3_Test:test_localOnlyOwner_succeeds() (gas: 352
94
)
CrossDomainOwnable3_Test:test_localTransferOwnership_succeeds() (gas: 52
202
)
CrossDomainOwnable3_Test:test_transferOwnershipNoLocal_succeeds() (gas: 48
706
)
CrossDomainOwnable3_Test:test_transferOwnership_noLocalZeroAddress_reverts() (gas: 12090)
CrossDomainOwnable3_Test:test_transferOwnership_notOwner_reverts() (gas: 13460)
CrossDomainOwnable3_Test:test_transferOwnership_zeroAddress_reverts() (gas: 121
77
)
CrossDomainOwnableThroughPortal_Test:test_depositTransaction_crossDomainOwner_succeeds() (gas: 815
70
)
CrossDomainOwnable3_Test:test_transferOwnership_zeroAddress_reverts() (gas: 121
55
)
CrossDomainOwnableThroughPortal_Test:test_depositTransaction_crossDomainOwner_succeeds() (gas: 815
26
)
CrossDomainOwnable_Test:test_onlyOwner_notOwner_reverts() (gas: 10597)
CrossDomainOwnable_Test:test_onlyOwner_succeeds() (gas: 34905)
DelayedVetoable_Getters_Test:test_getters() (gas: 24400)
...
...
@@ -51,11 +51,11 @@ DelayedVetoable_Getters_TestFail:test_getters_notZeroAddress_reverts() (gas: 360
DelayedVetoable_HandleCall_TestFail:test_handleCall_unauthorizedInitiation_reverts() (gas: 15172)
DeployerWhitelist_Test:test_owner_succeeds() (gas: 7582)
DeployerWhitelist_Test:test_storageSlots_succeeds() (gas: 33417)
DisputeGameFactory_Owner_Test:test_owner_succeeds() (gas: 126
11
)
DisputeGameFactory_SetImplementation_Test:test_setImplementation_notOwner_reverts() (gas: 16
078
)
DisputeGameFactory_SetImplementation_Test:test_setImplementation_succeeds() (gas: 443
23
)
DisputeGameFactory_TransferOwnership_Test:test_transferOwnership_notOwner_reverts() (gas: 159
74
)
DisputeGameFactory_TransferOwnership_Test:test_transferOwnership_succeeds() (gas: 187
38
)
DisputeGameFactory_Owner_Test:test_owner_succeeds() (gas: 126
77
)
DisputeGameFactory_SetImplementation_Test:test_setImplementation_notOwner_reverts() (gas: 16
121
)
DisputeGameFactory_SetImplementation_Test:test_setImplementation_succeeds() (gas: 443
68
)
DisputeGameFactory_TransferOwnership_Test:test_transferOwnership_notOwner_reverts() (gas: 159
96
)
DisputeGameFactory_TransferOwnership_Test:test_transferOwnership_succeeds() (gas: 187
16
)
Drippie_Test:test_create_calledTwice_reverts() (gas: 168887)
Drippie_Test:test_create_succeeds() (gas: 183459)
Drippie_Test:test_drip_amount_succeeds() (gas: 285433)
...
...
@@ -89,218 +89,218 @@ FaucetTest:test_nonAdmin_drip_fails() (gas: 262520)
FaucetTest:test_receive_succeeds() (gas: 17423)
FaucetTest:test_withdraw_nonAdmin_reverts() (gas: 13167)
FaucetTest:test_withdraw_succeeds() (gas: 78381)
FaultDisputeGame_ResolvesCorrectly_CorrectRoot1:test_resolvesCorrectly_succeeds() (gas: 6600
30
)
FaultDisputeGame_ResolvesCorrectly_CorrectRoot2:test_resolvesCorrectly_succeeds() (gas: 666
890
)
FaultDisputeGame_ResolvesCorrectly_CorrectRoot3:test_resolvesCorrectly_succeeds() (gas: 663
593
)
FaultDisputeGame_ResolvesCorrectly_CorrectRoot4:test_resolvesCorrectly_succeeds() (gas: 666
766
)
FaultDisputeGame_ResolvesCorrectly_CorrectRoot5:test_resolvesCorrectly_succeeds() (gas: 666
079
)
FaultDisputeGame_ResolvesCorrectly_IncorrectRoot1:test_resolvesCorrectly_succeeds() (gas: 652
788
)
FaultDisputeGame_ResolvesCorrectly_IncorrectRoot2:test_resolvesCorrectly_succeeds() (gas: 658
276
)
FaultDisputeGame_ResolvesCorrectly_IncorrectRoot3:test_resolvesCorrectly_succeeds() (gas: 6556
38
)
FaultDisputeGame_ResolvesCorrectly_IncorrectRoot4:test_resolvesCorrectly_succeeds() (gas: 656
576
)
FaultDisputeGame_ResolvesCorrectly_IncorrectRoot5:test_resolvesCorrectly_succeeds() (gas: 6560
27
)
FaultDisputeGame_Test:test_addLocalData_static_succeeds() (gas: 6423
66
)
FaultDisputeGame_Test:test_createdAt_succeeds() (gas: 104
61
)
FaultDisputeGame_Test:test_extraData_succeeds() (gas: 32
407
)
FaultDisputeGame_Test:test_gameData_succeeds() (gas: 328
57
)
FaultDisputeGame_Test:test_gameType_succeeds() (gas: 828
7
)
FaultDisputeGame_Test:test_initialize_correctData_succeeds() (gas: 578
51
)
FaultDisputeGame_Test:test_initialize_firstOutput_reverts() (gas: 2138
53
)
FaultDisputeGame_Test:test_initialize_l1HeadTooOld_reverts() (gas: 2285
95
)
FaultDisputeGame_Test:test_move_clockCorrectness_succeeds() (gas: 5942
23
)
FaultDisputeGame_Test:test_move_clockTimeExceeded_reverts() (gas: 231
97
)
FaultDisputeGame_Test:test_move_defendRoot_reverts() (gas: 133
22
)
FaultDisputeGame_Test:test_move_duplicateClaim_reverts() (gas: 1473
90
)
FaultDisputeGame_Test:test_move_duplicateClaimsDifferentSubgames_succeeds() (gas: 5568
32
)
FaultDisputeGame_Test:test_move_gameDepthExceeded_reverts() (gas: 5858
75
)
FaultDisputeGame_Test:test_move_gameNotInProgress_reverts() (gas: 110
10
)
FaultDisputeGame_Test:test_move_nonExistentParent_reverts() (gas: 246
68
)
FaultDisputeGame_Test:test_move_simpleAttack_succeeds() (gas: 15
2008
)
FaultDisputeGame_Test:test_resolve_challengeContested_succeeds() (gas: 2694
73
)
FaultDisputeGame_Test:test_resolve_claimAlreadyResolved_reverts() (gas: 2723
56
)
FaultDisputeGame_Test:test_resolve_claimAtMaxDepthAlreadyResolved_reverts() (gas: 5866
06
)
FaultDisputeGame_Test:test_resolve_notInProgress_reverts() (gas: 97
76
)
FaultDisputeGame_Test:test_resolve_outOfOrderResolution_reverts() (gas: 30
9015
)
FaultDisputeGame_Test:test_resolve_rootContested_succeeds() (gas: 1391
19
)
FaultDisputeGame_Test:test_resolve_rootUncontestedButUnresolved_reverts() (gas: 159
35
)
FaultDisputeGame_Test:test_resolve_rootUncontestedClockNotExpired_succeeds() (gas: 184
28
)
FaultDisputeGame_Test:test_resolve_rootUncontested_succeeds() (gas: 514
84
)
FaultDisputeGame_Test:test_resolve_stepReached_succeeds() (gas: 4984
48
)
FaultDisputeGame_Test:test_resolve_teamDeathmatch_succeeds() (gas: 4433
99
)
FaultDisputeGame_Test:test_rootClaim_succeeds() (gas: 82
32
)
FeeVault_Test:test_constructor_baseFeeVault_succeeds() (gas: 174
50
)
FeeVault_Test:test_constructor_l1FeeVault_succeeds() (gas: 17
418
)
GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_0() (gas: 3523
36
)
GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_1() (gas: 29505
86
)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 5407
52
)
FaultDisputeGame_ResolvesCorrectly_CorrectRoot1:test_resolvesCorrectly_succeeds() (gas: 6600
96
)
FaultDisputeGame_ResolvesCorrectly_CorrectRoot2:test_resolvesCorrectly_succeeds() (gas: 666
956
)
FaultDisputeGame_ResolvesCorrectly_CorrectRoot3:test_resolvesCorrectly_succeeds() (gas: 663
659
)
FaultDisputeGame_ResolvesCorrectly_CorrectRoot4:test_resolvesCorrectly_succeeds() (gas: 666
832
)
FaultDisputeGame_ResolvesCorrectly_CorrectRoot5:test_resolvesCorrectly_succeeds() (gas: 666
145
)
FaultDisputeGame_ResolvesCorrectly_IncorrectRoot1:test_resolvesCorrectly_succeeds() (gas: 652
840
)
FaultDisputeGame_ResolvesCorrectly_IncorrectRoot2:test_resolvesCorrectly_succeeds() (gas: 658
328
)
FaultDisputeGame_ResolvesCorrectly_IncorrectRoot3:test_resolvesCorrectly_succeeds() (gas: 6556
91
)
FaultDisputeGame_ResolvesCorrectly_IncorrectRoot4:test_resolvesCorrectly_succeeds() (gas: 656
629
)
FaultDisputeGame_ResolvesCorrectly_IncorrectRoot5:test_resolvesCorrectly_succeeds() (gas: 6560
80
)
FaultDisputeGame_Test:test_addLocalData_static_succeeds() (gas: 6423
85
)
FaultDisputeGame_Test:test_createdAt_succeeds() (gas: 104
17
)
FaultDisputeGame_Test:test_extraData_succeeds() (gas: 32
363
)
FaultDisputeGame_Test:test_gameData_succeeds() (gas: 328
35
)
FaultDisputeGame_Test:test_gameType_succeeds() (gas: 828
8
)
FaultDisputeGame_Test:test_initialize_correctData_succeeds() (gas: 578
73
)
FaultDisputeGame_Test:test_initialize_firstOutput_reverts() (gas: 2138
31
)
FaultDisputeGame_Test:test_initialize_l1HeadTooOld_reverts() (gas: 2285
73
)
FaultDisputeGame_Test:test_move_clockCorrectness_succeeds() (gas: 5942
67
)
FaultDisputeGame_Test:test_move_clockTimeExceeded_reverts() (gas: 231
75
)
FaultDisputeGame_Test:test_move_defendRoot_reverts() (gas: 133
44
)
FaultDisputeGame_Test:test_move_duplicateClaim_reverts() (gas: 1473
68
)
FaultDisputeGame_Test:test_move_duplicateClaimsDifferentSubgames_succeeds() (gas: 5568
54
)
FaultDisputeGame_Test:test_move_gameDepthExceeded_reverts() (gas: 5858
31
)
FaultDisputeGame_Test:test_move_gameNotInProgress_reverts() (gas: 110
32
)
FaultDisputeGame_Test:test_move_nonExistentParent_reverts() (gas: 246
90
)
FaultDisputeGame_Test:test_move_simpleAttack_succeeds() (gas: 15
1964
)
FaultDisputeGame_Test:test_resolve_challengeContested_succeeds() (gas: 2694
56
)
FaultDisputeGame_Test:test_resolve_claimAlreadyResolved_reverts() (gas: 2723
79
)
FaultDisputeGame_Test:test_resolve_claimAtMaxDepthAlreadyResolved_reverts() (gas: 5866
29
)
FaultDisputeGame_Test:test_resolve_notInProgress_reverts() (gas: 97
54
)
FaultDisputeGame_Test:test_resolve_outOfOrderResolution_reverts() (gas: 30
8993
)
FaultDisputeGame_Test:test_resolve_rootContested_succeeds() (gas: 1391
41
)
FaultDisputeGame_Test:test_resolve_rootUncontestedButUnresolved_reverts() (gas: 159
58
)
FaultDisputeGame_Test:test_resolve_rootUncontestedClockNotExpired_succeeds() (gas: 184
06
)
FaultDisputeGame_Test:test_resolve_rootUncontested_succeeds() (gas: 514
62
)
FaultDisputeGame_Test:test_resolve_stepReached_succeeds() (gas: 4984
65
)
FaultDisputeGame_Test:test_resolve_teamDeathmatch_succeeds() (gas: 4433
81
)
FaultDisputeGame_Test:test_rootClaim_succeeds() (gas: 82
77
)
FeeVault_Test:test_constructor_baseFeeVault_succeeds() (gas: 174
06
)
FeeVault_Test:test_constructor_l1FeeVault_succeeds() (gas: 17
374
)
GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_0() (gas: 3523
79
)
GasBenchMark_L1CrossDomainMessenger:test_sendMessage_benchmark_1() (gas: 29505
42
)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 5407
08
)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 4052922)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 442
107
)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 34878
34
)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 430
32
)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 866
75
)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 442
085
)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 34878
12
)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 430
10
)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 866
53
)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 68485)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 689
66
)
GasBenchMark_OptimismPortal:test_proveWithdrawalTransaction_benchmark() (gas: 1432
33
)
GasPriceOracle_Test:test_baseFee_succeeds() (gas: 83
48
)
GasPriceOracle_Test:test_decimals_succeeds() (gas: 62
34
)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 689
88
)
GasBenchMark_OptimismPortal:test_proveWithdrawalTransaction_benchmark() (gas: 1432
55
)
GasPriceOracle_Test:test_baseFee_succeeds() (gas: 83
92
)
GasPriceOracle_Test:test_decimals_succeeds() (gas: 62
12
)
GasPriceOracle_Test:test_gasPrice_succeeds() (gas: 8340)
GasPriceOracle_Test:test_l1BaseFee_succeeds() (gas: 10
680
)
GasPriceOracle_Test:test_overhead_succeeds() (gas: 106
37
)
GasPriceOracle_Test:test_scalar_succeeds() (gas: 10
700
)
GasPriceOracle_Test:test_setGasPrice_doesNotExist_reverts() (gas: 59
56
)
GasPriceOracle_Test:test_setL1BaseFee_doesNotExist_reverts() (gas: 597
6
)
GasPriceOracle_Test:test_l1BaseFee_succeeds() (gas: 10
702
)
GasPriceOracle_Test:test_overhead_succeeds() (gas: 106
81
)
GasPriceOracle_Test:test_scalar_succeeds() (gas: 10
678
)
GasPriceOracle_Test:test_setGasPrice_doesNotExist_reverts() (gas: 59
99
)
GasPriceOracle_Test:test_setL1BaseFee_doesNotExist_reverts() (gas: 597
7
)
GovernanceToken_Test:test_approve_succeeds() (gas: 138023)
GovernanceToken_Test:test_burnFrom_succeeds() (gas: 1275
82
)
GovernanceToken_Test:test_burn_succeeds() (gas: 1190
92
)
GovernanceToken_Test:test_constructor_succeeds() (gas: 23
693
)
GovernanceToken_Test:test_decreaseAllowance_succeeds() (gas: 141
912
)
GovernanceToken_Test:test_increaseAllowance_succeeds() (gas: 1420
22
)
GovernanceToken_Test:test_mint_fromNotOwner_reverts() (gas: 21
378
)
GovernanceToken_Test:test_mint_fromOwner_succeeds() (gas: 1109
4
0)
GovernanceToken_Test:test_transferFrom_succeeds() (gas: 151
340
)
GovernanceToken_Test:test_transfer_succeeds() (gas: 1428
67
)
Hashing_hashDepositSource_Test:test_hashDepositSource_succeeds() (gas:
700
)
GovernanceToken_Test:test_burnFrom_succeeds() (gas: 1275
60
)
GovernanceToken_Test:test_burn_succeeds() (gas: 1190
70
)
GovernanceToken_Test:test_constructor_succeeds() (gas: 23
735
)
GovernanceToken_Test:test_decreaseAllowance_succeeds() (gas: 141
889
)
GovernanceToken_Test:test_increaseAllowance_succeeds() (gas: 1420
66
)
GovernanceToken_Test:test_mint_fromNotOwner_reverts() (gas: 21
421
)
GovernanceToken_Test:test_mint_fromOwner_succeeds() (gas: 1109
6
0)
GovernanceToken_Test:test_transferFrom_succeeds() (gas: 151
296
)
GovernanceToken_Test:test_transfer_succeeds() (gas: 1428
23
)
Hashing_hashDepositSource_Test:test_hashDepositSource_succeeds() (gas:
656
)
L1BlockNumberTest:test_fallback_succeeds() (gas: 18677)
L1BlockNumberTest:test_getL1BlockNumber_succeeds() (gas: 10647)
L1BlockNumberTest:test_receive_succeeds() (gas: 25384)
L1BlockTest:test_basefee_succeeds() (gas: 75
76
)
L1BlockTest:test_hash_succeeds() (gas: 7
694
)
L1BlockTest:test_number_succeeds() (gas: 76
74
)
L1BlockTest:test_basefee_succeeds() (gas: 75
99
)
L1BlockTest:test_hash_succeeds() (gas: 7
716
)
L1BlockTest:test_number_succeeds() (gas: 76
96
)
L1BlockTest:test_sequenceNumber_succeeds() (gas: 7676)
L1BlockTest:test_timestamp_succeeds() (gas: 76
63
)
L1BlockTest:test_updateValues_succeeds() (gas: 633
27
)
L1CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 24
803
)
L1CrossDomainMessenger_Test:test_relayMessage_legacyOldReplay_reverts() (gas: 49
385
)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailureThenSuccess_reverts() (gas: 2370
22
)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailure_succeeds() (gas: 2309
78
)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterSuccess_reverts() (gas: 1239
50
)
L1CrossDomainMessenger_Test:test_relayMessage_legacy_succeeds() (gas: 773
09
)
L1CrossDomainMessenger_Test:test_relayMessage_retryAfterFailure_succeeds() (gas: 2249
38
)
L1CrossDomainMessenger_Test:test_relayMessage_succeeds() (gas: 743
45
)
L1CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 564
75
)
L1CrossDomainMessenger_Test:test_relayMessage_v2_reverts() (gas: 12
410
)
L1CrossDomainMessenger_Test:test_replayMessage_withValue_reverts() (gas: 310
31
)
L1CrossDomainMessenger_Test:test_sendMessage_succeeds() (gas: 3909
52
)
L1CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 16669
56
)
L1CrossDomainMessenger_Test:test_xDomainMessageSender_reset_succeeds() (gas: 856
30
)
L1BlockTest:test_timestamp_succeeds() (gas: 76
85
)
L1BlockTest:test_updateValues_succeeds() (gas: 633
05
)
L1CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 24
759
)
L1CrossDomainMessenger_Test:test_relayMessage_legacyOldReplay_reverts() (gas: 49
408
)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailureThenSuccess_reverts() (gas: 2370
00
)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterFailure_succeeds() (gas: 2309
56
)
L1CrossDomainMessenger_Test:test_relayMessage_legacyRetryAfterSuccess_reverts() (gas: 1239
73
)
L1CrossDomainMessenger_Test:test_relayMessage_legacy_succeeds() (gas: 773
31
)
L1CrossDomainMessenger_Test:test_relayMessage_retryAfterFailure_succeeds() (gas: 2249
81
)
L1CrossDomainMessenger_Test:test_relayMessage_succeeds() (gas: 743
22
)
L1CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 564
53
)
L1CrossDomainMessenger_Test:test_relayMessage_v2_reverts() (gas: 12
366
)
L1CrossDomainMessenger_Test:test_replayMessage_withValue_reverts() (gas: 310
75
)
L1CrossDomainMessenger_Test:test_sendMessage_succeeds() (gas: 3909
74
)
L1CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 16669
75
)
L1CrossDomainMessenger_Test:test_xDomainMessageSender_reset_succeeds() (gas: 856
07
)
L1CrossDomainMessenger_Test:test_xDomainSender_notSet_reverts() (gas: 24282)
L1ERC721Bridge_Test:test_bridgeERC721To_localTokenZeroAddress_reverts() (gas: 6278
8
)
L1ERC721Bridge_Test:test_bridgeERC721To_remoteTokenZeroAddress_reverts() (gas: 373
62
)
L1ERC721Bridge_Test:test_bridgeERC721To_succeeds() (gas: 4510
75
)
L1ERC721Bridge_Test:test_bridgeERC721To_wrongOwner_reverts() (gas: 710
51
)
L1ERC721Bridge_Test:test_bridgeERC721_fromContract_reverts() (gas: 357
36
)
L1ERC721Bridge_Test:test_bridgeERC721_localTokenZeroAddress_reverts() (gas: 6059
5
)
L1ERC721Bridge_Test:test_bridgeERC721_remoteTokenZeroAddress_reverts() (gas: 351
72
)
L1ERC721Bridge_Test:test_bridgeERC721_succeeds() (gas: 45077
0
)
L1ERC721Bridge_Test:test_bridgeERC721_wrongOwner_reverts() (gas: 708
54
)
L1ERC721Bridge_Test:test_bridgeERC721To_localTokenZeroAddress_reverts() (gas: 6278
9
)
L1ERC721Bridge_Test:test_bridgeERC721To_remoteTokenZeroAddress_reverts() (gas: 373
83
)
L1ERC721Bridge_Test:test_bridgeERC721To_succeeds() (gas: 4510
97
)
L1ERC721Bridge_Test:test_bridgeERC721To_wrongOwner_reverts() (gas: 710
07
)
L1ERC721Bridge_Test:test_bridgeERC721_fromContract_reverts() (gas: 357
57
)
L1ERC721Bridge_Test:test_bridgeERC721_localTokenZeroAddress_reverts() (gas: 6059
6
)
L1ERC721Bridge_Test:test_bridgeERC721_remoteTokenZeroAddress_reverts() (gas: 351
91
)
L1ERC721Bridge_Test:test_bridgeERC721_succeeds() (gas: 45077
1
)
L1ERC721Bridge_Test:test_bridgeERC721_wrongOwner_reverts() (gas: 708
10
)
L1ERC721Bridge_Test:test_constructor_succeeds() (gas: 16611)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notEscrowed_reverts() (gas: 271
54
)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notEscrowed_reverts() (gas: 271
98
)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notFromRemoteMessenger_reverts() (gas: 24920)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notViaLocalMessenger_reverts() (gas: 211
50
)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_selfToken_reverts() (gas: 226
94
)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_succeeds() (gas: 420
728
)
L1StandardBridge_BridgeETHTo_Test:test_bridgeETHTo_succeeds() (gas: 5131
35
)
L1StandardBridge_BridgeETH_Test:test_bridgeETH_succeeds() (gas: 5003
44
)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_succeeds() (gas: 7191
45
)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 7167
64
)
L1StandardBridge_DepositERC20_TestFail:test_depositERC20_notEoa_reverts() (gas: 249
77
)
L1StandardBridge_DepositETHTo_Test:test_depositETHTo_succeeds() (gas: 5131
88
)
L1StandardBridge_DepositETH_Test:test_depositETH_succeeds() (gas: 5004
83
)
L1StandardBridge_DepositETH_TestFail:test_depositETH_notEoa_reverts() (gas: 43
404
)
L1StandardBridge_FinalizeBridgeETH_Test:test_finalizeBridgeETH_succeeds() (gas: 553
99
)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_incorrectValue_reverts() (gas: 379
76
)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 3
8011
)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToSelf_reverts() (gas: 3
8003
)
L1StandardBridge_FinalizeERC20Withdrawal_Test:test_finalizeERC20Withdrawal_succeeds() (gas: 4762
44
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_notMessenger_reverts() (gas: 349
65
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_notOtherBridge_reverts() (gas: 353
44
)
L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal_succeeds() (gas: 67
111
)
L1StandardBridge_Getter_Test:test_getters_succeeds() (gas: 304
89
)
L1StandardBridge_Initialize_Test:test_initialize_succeeds() (gas: 25
183
)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_notViaLocalMessenger_reverts() (gas: 211
28
)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_selfToken_reverts() (gas: 226
72
)
L1ERC721Bridge_Test:test_finalizeBridgeERC721_succeeds() (gas: 420
684
)
L1StandardBridge_BridgeETHTo_Test:test_bridgeETHTo_succeeds() (gas: 5131
77
)
L1StandardBridge_BridgeETH_Test:test_bridgeETH_succeeds() (gas: 5003
66
)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_succeeds() (gas: 7191
01
)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 7167
42
)
L1StandardBridge_DepositERC20_TestFail:test_depositERC20_notEoa_reverts() (gas: 249
33
)
L1StandardBridge_DepositETHTo_Test:test_depositETHTo_succeeds() (gas: 5131
44
)
L1StandardBridge_DepositETH_Test:test_depositETH_succeeds() (gas: 5004
61
)
L1StandardBridge_DepositETH_TestFail:test_depositETH_notEoa_reverts() (gas: 43
360
)
L1StandardBridge_FinalizeBridgeETH_Test:test_finalizeBridgeETH_succeeds() (gas: 553
55
)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_incorrectValue_reverts() (gas: 379
32
)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 3
7967
)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_sendToSelf_reverts() (gas: 3
7959
)
L1StandardBridge_FinalizeERC20Withdrawal_Test:test_finalizeERC20Withdrawal_succeeds() (gas: 4762
79
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_notMessenger_reverts() (gas: 349
21
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_notOtherBridge_reverts() (gas: 353
22
)
L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal_succeeds() (gas: 67
089
)
L1StandardBridge_Getter_Test:test_getters_succeeds() (gas: 304
67
)
L1StandardBridge_Initialize_Test:test_initialize_succeeds() (gas: 25
227
)
L1StandardBridge_Receive_Test:test_receive_succeeds() (gas: 613466)
L2CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 8
521
)
L2CrossDomainMessenger_Test:test_relayMessage_retry_succeeds() (gas: 191
101
)
L2CrossDomainMessenger_Test:test_messageVersion_succeeds() (gas: 8
477
)
L2CrossDomainMessenger_Test:test_relayMessage_retry_succeeds() (gas: 191
079
)
L2CrossDomainMessenger_Test:test_relayMessage_succeeds() (gas: 48936)
L2CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 290
56
)
L2CrossDomainMessenger_Test:test_relayMessage_v2_reverts() (gas: 117
56
)
L2CrossDomainMessenger_Test:test_relayMessage_toSystemContract_reverts() (gas: 290
34
)
L2CrossDomainMessenger_Test:test_relayMessage_v2_reverts() (gas: 117
34
)
L2CrossDomainMessenger_Test:test_sendMessage_succeeds() (gas: 124025)
L2CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 1358
57
)
L2CrossDomainMessenger_Test:test_sendMessage_twice_succeeds() (gas: 1358
99
)
L2CrossDomainMessenger_Test:test_xDomainMessageSender_reset_succeeds() (gas: 49311)
L2CrossDomainMessenger_Test:test_xDomainSender_senderNotSet_reverts() (gas: 106
86
)
L2ERC721Bridge_Test:test_bridgeERC721To_localTokenZeroAddress_reverts() (gas: 2649
8
)
L2ERC721Bridge_Test:test_bridgeERC721To_remoteTokenZeroAddress_reverts() (gas: 2181
4
)
L2ERC721Bridge_Test:test_bridgeERC721To_succeeds() (gas: 1500
00
)
L2ERC721Bridge_Test:test_bridgeERC721To_wrongOwner_reverts() (gas: 29
494
)
L2ERC721Bridge_Test:test_bridgeERC721_fromContract_reverts() (gas: 2219
3
)
L2ERC721Bridge_Test:test_bridgeERC721_localTokenZeroAddress_reverts() (gas: 243
54
)
L2ERC721Bridge_Test:test_bridgeERC721_remoteTokenZeroAddress_reverts() (gas: 196
51
)
L2ERC721Bridge_Test:test_bridgeERC721_succeeds() (gas: 1476
63
)
L2ERC721Bridge_Test:test_bridgeERC721_wrongOwner_reverts() (gas: 293
26
)
L2CrossDomainMessenger_Test:test_xDomainSender_senderNotSet_reverts() (gas: 106
64
)
L2ERC721Bridge_Test:test_bridgeERC721To_localTokenZeroAddress_reverts() (gas: 2649
9
)
L2ERC721Bridge_Test:test_bridgeERC721To_remoteTokenZeroAddress_reverts() (gas: 2181
5
)
L2ERC721Bridge_Test:test_bridgeERC721To_succeeds() (gas: 1500
22
)
L2ERC721Bridge_Test:test_bridgeERC721To_wrongOwner_reverts() (gas: 29
515
)
L2ERC721Bridge_Test:test_bridgeERC721_fromContract_reverts() (gas: 2219
4
)
L2ERC721Bridge_Test:test_bridgeERC721_localTokenZeroAddress_reverts() (gas: 243
10
)
L2ERC721Bridge_Test:test_bridgeERC721_remoteTokenZeroAddress_reverts() (gas: 196
29
)
L2ERC721Bridge_Test:test_bridgeERC721_succeeds() (gas: 1476
19
)
L2ERC721Bridge_Test:test_bridgeERC721_wrongOwner_reverts() (gas: 293
45
)
L2ERC721Bridge_Test:test_constructor_succeeds() (gas: 12411)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_alreadyExists_reverts() (gas: 313
53
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_interfaceNotCompliant_reverts() (gas: 2389
55
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_notFromRemoteMessenger_reverts() (gas: 1991
8
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_notViaLocalMessenger_reverts() (gas: 161
71
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_selfToken_reverts() (gas: 19
816
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_succeeds() (gas: 1720
94
)
L2OutputOracleUpgradeable_Test:test_initValuesOnImpl_succeeds() (gas: 43
714
)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy_succeeds() (gas: 534
27
)
L2OutputOracleUpgradeable_Test:test_initializeImpl_alreadyInitialized_reverts() (gas: 24
715
)
L2OutputOracleUpgradeable_Test:test_initializeProxy_alreadyInitialized_reverts() (gas: 263
28
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_alreadyExists_reverts() (gas: 313
75
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_interfaceNotCompliant_reverts() (gas: 2389
78
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_notFromRemoteMessenger_reverts() (gas: 1991
9
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_notViaLocalMessenger_reverts() (gas: 161
49
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_selfToken_reverts() (gas: 19
794
)
L2ERC721Bridge_Test:test_finalizeBridgeERC721_succeeds() (gas: 1720
50
)
L2OutputOracleUpgradeable_Test:test_initValuesOnImpl_succeeds() (gas: 43
691
)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy_succeeds() (gas: 534
71
)
L2OutputOracleUpgradeable_Test:test_initializeImpl_alreadyInitialized_reverts() (gas: 24
693
)
L2OutputOracleUpgradeable_Test:test_initializeProxy_alreadyInitialized_reverts() (gas: 263
50
)
L2OutputOracleUpgradeable_Test:test_upgrading_succeeds() (gas: 191094)
L2OutputOracle_constructor_Test:test_constructor_l2BlockTimeZero_reverts() (gas: 53454)
L2OutputOracle_constructor_Test:test_constructor_submissionInterval_reverts() (gas: 53
486
)
L2OutputOracle_constructor_Test:test_constructor_succeeds() (gas: 56
916
)
L2OutputOracle_constructor_Test:test_initialize_badTimestamp_reverts() (gas: 152
70
)
L2OutputOracle_constructor_Test:test_constructor_submissionInterval_reverts() (gas: 53
530
)
L2OutputOracle_constructor_Test:test_constructor_succeeds() (gas: 56
872
)
L2OutputOracle_constructor_Test:test_initialize_badTimestamp_reverts() (gas: 152
92
)
L2OutputOracle_deleteOutputs_Test:test_deleteL2Outputs_afterLatest_reverts() (gas: 225293)
L2OutputOracle_deleteOutputs_Test:test_deleteL2Outputs_finalized_reverts() (gas: 1159
15
)
L2OutputOracle_deleteOutputs_Test:test_deleteL2Outputs_ifNotChallenger_reverts() (gas: 189
74
)
L2OutputOracle_deleteOutputs_Test:test_deleteL2Outputs_nonExistent_reverts() (gas: 114
320
)
L2OutputOracle_deleteOutputs_Test:test_deleteOutputs_multipleOutputs_succeeds() (gas: 315
178
)
L2OutputOracle_deleteOutputs_Test:test_deleteOutputs_singleOutput_succeeds() (gas: 1905
66
)
L2OutputOracle_getter_Test:test_computeL2Timestamp_succeeds() (gas: 444
65
)
L2OutputOracle_getter_Test:test_getL2OutputIndexAfter_multipleOutputsExist_succeeds() (gas: 27499
2
)
L2OutputOracle_getter_Test:test_getL2OutputIndexAfter_noOutputsExis_reverts() (gas: 17
915
)
L2OutputOracle_getter_Test:test_getL2OutputIndexAfter_previousBlock_succeeds() (gas: 101
420
)
L2OutputOracle_getter_Test:test_getL2OutputIndexAfter_sameBlock_succeeds() (gas: 1013
28
)
L2OutputOracle_getter_Test:test_getL2Output_succeeds() (gas: 10790
0
)
L2OutputOracle_getter_Test:test_latestBlockNumber_succeeds() (gas: 102
405
)
L2OutputOracle_getter_Test:test_nextBlockNumber_succeeds() (gas: 17
560
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_emptyOutput_reverts() (gas: 320
89
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_futureTimetamp_reverts() (gas: 32
118
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_notProposer_reverts() (gas: 239
99
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_proposeAnotherOutput_succeeds() (gas: 1072
02
)
L2OutputOracle_deleteOutputs_Test:test_deleteL2Outputs_finalized_reverts() (gas: 1159
59
)
L2OutputOracle_deleteOutputs_Test:test_deleteL2Outputs_ifNotChallenger_reverts() (gas: 189
51
)
L2OutputOracle_deleteOutputs_Test:test_deleteL2Outputs_nonExistent_reverts() (gas: 114
298
)
L2OutputOracle_deleteOutputs_Test:test_deleteOutputs_multipleOutputs_succeeds() (gas: 315
221
)
L2OutputOracle_deleteOutputs_Test:test_deleteOutputs_singleOutput_succeeds() (gas: 1905
44
)
L2OutputOracle_getter_Test:test_computeL2Timestamp_succeeds() (gas: 444
43
)
L2OutputOracle_getter_Test:test_getL2OutputIndexAfter_multipleOutputsExist_succeeds() (gas: 27499
3
)
L2OutputOracle_getter_Test:test_getL2OutputIndexAfter_noOutputsExis_reverts() (gas: 17
893
)
L2OutputOracle_getter_Test:test_getL2OutputIndexAfter_previousBlock_succeeds() (gas: 101
376
)
L2OutputOracle_getter_Test:test_getL2OutputIndexAfter_sameBlock_succeeds() (gas: 1013
70
)
L2OutputOracle_getter_Test:test_getL2Output_succeeds() (gas: 10790
1
)
L2OutputOracle_getter_Test:test_latestBlockNumber_succeeds() (gas: 102
383
)
L2OutputOracle_getter_Test:test_nextBlockNumber_succeeds() (gas: 17
604
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_emptyOutput_reverts() (gas: 320
44
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_futureTimetamp_reverts() (gas: 32
096
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_notProposer_reverts() (gas: 239
77
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_proposeAnotherOutput_succeeds() (gas: 1072
44
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_unexpectedBlockNumber_reverts() (gas: 31846)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_unmatchedBlockhash_reverts() (gas: 32
869
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_unmatchedBlockhash_reverts() (gas: 32
912
)
L2OutputOracle_proposeL2Output_Test:test_proposeL2Output_wrongFork_reverts() (gas: 32367)
L2OutputOracle_proposeL2Output_Test:test_proposeWithBlockhashAndHeight_succeeds() (gas: 987
46
)
L2StandardBridge_BridgeERC20To_Test:test_bridgeERC20To_succeeds() (gas: 3906
47
)
L2StandardBridge_BridgeERC20To_Test:test_withdrawTo_withdrawingERC20_succeeds() (gas: 3908
95
)
L2StandardBridge_BridgeERC20_Test:test_bridgeERC20_succeeds() (gas: 3862
60
)
L2StandardBridge_BridgeERC20_Test:test_bridgeLegacyERC20_succeeds() (gas: 3945
28
)
L2StandardBridge_BridgeERC20_Test:test_withdrawLegacyERC20_succeeds() (gas: 3948
90
)
L2StandardBridge_BridgeERC20_Test:test_withdraw_notEOA_reverts() (gas: 251
904
)
L2StandardBridge_BridgeERC20_Test:test_withdraw_withdrawingERC20_succeeds() (gas: 3865
56
)
L2StandardBridge_Bridge_Test:test_finalizeBridgeETH_incorrectValue_reverts() (gas: 238
67
)
L2StandardBridge_Bridge_Test:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 2398
3
)
L2StandardBridge_Bridge_Test:test_finalizeBridgeETH_sendToSelf_reverts() (gas: 238
94
)
L2StandardBridge_Bridge_Test:test_finalizeDeposit_depositingERC20_succeeds() (gas: 938
14
)
L2StandardBridge_Bridge_Test:test_finalizeDeposit_depositingETH_succeeds() (gas: 92
711
)
L2StandardBridge_FinalizeBridgeETH_Test:test_finalizeBridgeETH_succeeds() (gas: 431
71
)
L2StandardBridge_Test:test_initialize_succeeds() (gas: 268
04
)
L2OutputOracle_proposeL2Output_Test:test_proposeWithBlockhashAndHeight_succeeds() (gas: 987
24
)
L2StandardBridge_BridgeERC20To_Test:test_bridgeERC20To_succeeds() (gas: 3906
12
)
L2StandardBridge_BridgeERC20To_Test:test_withdrawTo_withdrawingERC20_succeeds() (gas: 3908
77
)
L2StandardBridge_BridgeERC20_Test:test_bridgeERC20_succeeds() (gas: 3862
42
)
L2StandardBridge_BridgeERC20_Test:test_bridgeLegacyERC20_succeeds() (gas: 3945
10
)
L2StandardBridge_BridgeERC20_Test:test_withdrawLegacyERC20_succeeds() (gas: 3948
55
)
L2StandardBridge_BridgeERC20_Test:test_withdraw_notEOA_reverts() (gas: 251
886
)
L2StandardBridge_BridgeERC20_Test:test_withdraw_withdrawingERC20_succeeds() (gas: 3865
39
)
L2StandardBridge_Bridge_Test:test_finalizeBridgeETH_incorrectValue_reverts() (gas: 238
45
)
L2StandardBridge_Bridge_Test:test_finalizeBridgeETH_sendToMessenger_reverts() (gas: 2398
4
)
L2StandardBridge_Bridge_Test:test_finalizeBridgeETH_sendToSelf_reverts() (gas: 238
72
)
L2StandardBridge_Bridge_Test:test_finalizeDeposit_depositingERC20_succeeds() (gas: 938
79
)
L2StandardBridge_Bridge_Test:test_finalizeDeposit_depositingETH_succeeds() (gas: 92
667
)
L2StandardBridge_FinalizeBridgeETH_Test:test_finalizeBridgeETH_succeeds() (gas: 431
27
)
L2StandardBridge_Test:test_initialize_succeeds() (gas: 268
26
)
L2StandardBridge_Test:test_receive_succeeds() (gas: 175032)
L2StandardBridge_Test:test_withdraw_ether_succeeds() (gas: 141
296
)
L2StandardBridge_Test:test_withdraw_insufficientValue_reverts() (gas: 16
586
)
LegacyERC20ETH_Test:test_approve_doesNotExist_reverts() (gas: 1074
5
)
LegacyERC20ETH_Test:test_burn_doesNotExist_reverts() (gas: 10
705
)
LegacyERC20ETH_Test:test_crossDomain_succeeds() (gas: 64
00
)
LegacyERC20ETH_Test:test_decreaseAllowance_doesNotExist_reverts() (gas: 107
47
)
L2StandardBridge_Test:test_withdraw_ether_succeeds() (gas: 141
340
)
L2StandardBridge_Test:test_withdraw_insufficientValue_reverts() (gas: 16
609
)
LegacyERC20ETH_Test:test_approve_doesNotExist_reverts() (gas: 1074
6
)
LegacyERC20ETH_Test:test_burn_doesNotExist_reverts() (gas: 10
661
)
LegacyERC20ETH_Test:test_crossDomain_succeeds() (gas: 64
42
)
LegacyERC20ETH_Test:test_decreaseAllowance_doesNotExist_reverts() (gas: 107
24
)
LegacyERC20ETH_Test:test_increaseAllowance_doesNotExist_reverts() (gas: 10757)
LegacyERC20ETH_Test:test_metadata_succeeds() (gas: 157
95
)
LegacyERC20ETH_Test:test_mint_doesNotExist_reverts() (gas: 106
72
)
LegacyERC20ETH_Test:test_metadata_succeeds() (gas: 157
73
)
LegacyERC20ETH_Test:test_mint_doesNotExist_reverts() (gas: 106
94
)
LegacyERC20ETH_Test:test_transferFrom_doesNotExist_reverts() (gas: 13002)
LegacyERC20ETH_Test:test_transfer_doesNotExist_reverts() (gas: 10
801
)
LegacyMessagePasser_Test:test_passMessageToL1_succeeds() (gas: 346
29
)
LegacyERC20ETH_Test:test_transfer_doesNotExist_reverts() (gas: 10
779
)
LegacyMessagePasser_Test:test_passMessageToL1_succeeds() (gas: 346
07
)
LibPosition_Test:test_pos_correctness_succeeds() (gas: 38711)
LivenessGuard_CheckAfterExecution_TestFails:test_checkAfterExecution_callerIsNotSafe_revert() (gas: 8576)
LivenessGuard_CheckTx_Test:test_checkTransaction_succeeds() (gas: 233535)
...
...
@@ -329,81 +329,81 @@ LivenessModule_RemoveOwners_TestFail:test_removeOwners_ownerHasShownLivenessRece
LivenessModule_RemoveOwners_TestFail:test_removeOwners_ownerHasSignedRecently_reverts() (gas: 615047)
LivenessModule_RemoveOwners_TestFail:test_removeOwners_swapToFallbackOwner_reverts() (gas: 1278252)
LivenessModule_RemoveOwners_TestFail:test_removeOwners_wrongPreviousOwner_reverts() (gas: 73954)
MIPS_Test:test_add_succeeds() (gas: 12
3021
)
MIPS_Test:test_add_succeeds() (gas: 12
2999
)
MIPS_Test:test_addiSign_succeeds() (gas: 122946)
MIPS_Test:test_addi_succeeds() (gas: 1231
66
)
MIPS_Test:test_addu_succeeds() (gas: 12
2975
)
MIPS_Test:test_addui_succeeds() (gas: 123
162
)
MIPS_Test:test_and_succeeds() (gas: 12
3017
)
MIPS_Test:test_andi_succeeds() (gas: 12
2994
)
MIPS_Test:test_beq_succeeds() (gas: 2034
27
)
MIPS_Test:test_bgez_succeeds() (gas: 1222
65
)
MIPS_Test:test_bgtz_succeeds() (gas: 12220
5
)
MIPS_Test:test_blez_succeeds() (gas: 1221
42
)
MIPS_Test:test_bltz_succeeds() (gas: 1222
62
)
MIPS_Test:test_bne_succeeds() (gas: 1223
51
)
MIPS_Test:test_branch_inDelaySlot_fails() (gas: 865
36
)
MIPS_Test:test_brk_succeeds() (gas: 1226
55
)
MIPS_Test:test_clo_succeeds() (gas: 122
707
)
MIPS_Test:test_clone_succeeds() (gas: 1225
63
)
MIPS_Test:test_clz_succeeds() (gas: 1231
77
)
MIPS_Test:test_div_succeeds() (gas: 1231
34
)
MIPS_Test:test_divu_succeeds() (gas: 1231
42
)
MIPS_Test:test_exit_succeeds() (gas: 1226
57
)
MIPS_Test:test_fcntl_succeeds() (gas: 204
864
)
MIPS_Test:test_illegal_instruction_fails() (gas: 920
45
)
MIPS_Test:test_invalid_root_fails() (gas: 436
238
)
MIPS_Test:test_jal_nonzeroRegion_succeeds() (gas: 1212
50
)
MIPS_Test:test_jal_succeeds() (gas: 1212
17
)
MIPS_Test:test_addi_succeeds() (gas: 1231
44
)
MIPS_Test:test_addu_succeeds() (gas: 12
3041
)
MIPS_Test:test_addui_succeeds() (gas: 123
228
)
MIPS_Test:test_and_succeeds() (gas: 12
2995
)
MIPS_Test:test_andi_succeeds() (gas: 12
3016
)
MIPS_Test:test_beq_succeeds() (gas: 2034
05
)
MIPS_Test:test_bgez_succeeds() (gas: 1222
43
)
MIPS_Test:test_bgtz_succeeds() (gas: 12220
6
)
MIPS_Test:test_blez_succeeds() (gas: 1221
20
)
MIPS_Test:test_bltz_succeeds() (gas: 1222
84
)
MIPS_Test:test_bne_succeeds() (gas: 1223
29
)
MIPS_Test:test_branch_inDelaySlot_fails() (gas: 865
58
)
MIPS_Test:test_brk_succeeds() (gas: 1226
11
)
MIPS_Test:test_clo_succeeds() (gas: 122
685
)
MIPS_Test:test_clone_succeeds() (gas: 1225
41
)
MIPS_Test:test_clz_succeeds() (gas: 1231
33
)
MIPS_Test:test_div_succeeds() (gas: 1231
12
)
MIPS_Test:test_divu_succeeds() (gas: 1231
85
)
MIPS_Test:test_exit_succeeds() (gas: 1226
79
)
MIPS_Test:test_fcntl_succeeds() (gas: 204
906
)
MIPS_Test:test_illegal_instruction_fails() (gas: 920
23
)
MIPS_Test:test_invalid_root_fails() (gas: 436
194
)
MIPS_Test:test_jal_nonzeroRegion_succeeds() (gas: 1212
28
)
MIPS_Test:test_jal_succeeds() (gas: 1212
83
)
MIPS_Test:test_jalr_succeeds() (gas: 122425)
MIPS_Test:test_jr_succeeds() (gas: 1220
96
)
MIPS_Test:test_jump_inDelaySlot_fails() (gas: 85
884
)
MIPS_Test:test_jump_nonzeroRegion_succeeds() (gas: 1209
94
)
MIPS_Test:test_jump_succeeds() (gas: 1209
69
)
MIPS_Test:test_lb_succeeds() (gas: 128
187
)
MIPS_Test:test_lbu_succeeds() (gas: 1280
85
)
MIPS_Test:test_lh_succeeds() (gas: 1282
29
)
MIPS_Test:test_lhu_succeeds() (gas: 1281
03
)
MIPS_Test:test_ll_succeeds() (gas: 1283
03
)
MIPS_Test:test_lui_succeeds() (gas: 1222
93
)
MIPS_Test:test_jr_succeeds() (gas: 1220
74
)
MIPS_Test:test_jump_inDelaySlot_fails() (gas: 85
906
)
MIPS_Test:test_jump_nonzeroRegion_succeeds() (gas: 1209
72
)
MIPS_Test:test_jump_succeeds() (gas: 1209
25
)
MIPS_Test:test_lb_succeeds() (gas: 128
210
)
MIPS_Test:test_lbu_succeeds() (gas: 1280
63
)
MIPS_Test:test_lh_succeeds() (gas: 1282
30
)
MIPS_Test:test_lhu_succeeds() (gas: 1281
68
)
MIPS_Test:test_ll_succeeds() (gas: 1283
69
)
MIPS_Test:test_lui_succeeds() (gas: 1222
71
)
MIPS_Test:test_lw_succeeds() (gas: 127976)
MIPS_Test:test_lwl_succeeds() (gas: 2431
61
)
MIPS_Test:test_lwr_succeeds() (gas: 2434
28
)
MIPS_Test:test_lwl_succeeds() (gas: 2431
83
)
MIPS_Test:test_lwr_succeeds() (gas: 2434
50
)
MIPS_Test:test_mfhi_succeeds() (gas: 122634)
MIPS_Test:test_mflo_succeeds() (gas: 122718)
MIPS_Test:test_mmap_succeeds() (gas: 1196
37
)
MIPS_Test:test_movn_succeeds() (gas: 2040
54
)
MIPS_Test:test_movz_succeeds() (gas: 2039
45
)
MIPS_Test:test_mthi_succeeds() (gas: 1226
78
)
MIPS_Test:test_mtlo_succeeds() (gas: 1227
41
)
MIPS_Test:test_mul_succeeds() (gas: 1222
78
)
MIPS_Test:test_mult_succeeds() (gas: 1229
59
)
MIPS_Test:test_multu_succeeds() (gas: 1230
18
)
MIPS_Test:test_nor_succeeds() (gas: 123
109
)
MIPS_Test:test_or_succeeds() (gas: 1230
24
)
MIPS_Test:test_mmap_succeeds() (gas: 1196
81
)
MIPS_Test:test_movn_succeeds() (gas: 2040
32
)
MIPS_Test:test_movz_succeeds() (gas: 2039
67
)
MIPS_Test:test_mthi_succeeds() (gas: 1226
56
)
MIPS_Test:test_mtlo_succeeds() (gas: 1227
84
)
MIPS_Test:test_mul_succeeds() (gas: 1222
34
)
MIPS_Test:test_mult_succeeds() (gas: 1229
37
)
MIPS_Test:test_multu_succeeds() (gas: 1230
40
)
MIPS_Test:test_nor_succeeds() (gas: 123
065
)
MIPS_Test:test_or_succeeds() (gas: 1230
68
)
MIPS_Test:test_ori_succeeds() (gas: 123026)
MIPS_Test:test_preimage_read_succeeds() (gas: 235
502
)
MIPS_Test:test_preimage_read_succeeds() (gas: 235
480
)
MIPS_Test:test_preimage_write_succeeds() (gas: 127574)
MIPS_Test:test_prestate_exited_succeeds() (gas: 1138
35
)
MIPS_Test:test_prestate_exited_succeeds() (gas: 1138
13
)
MIPS_Test:test_sb_succeeds() (gas: 161547)
MIPS_Test:test_sc_succeeds() (gas: 161752)
MIPS_Test:test_sh_succeeds() (gas: 1616
06
)
MIPS_Test:test_sll_succeeds() (gas: 1222
60
)
MIPS_Test:test_sllv_succeeds() (gas: 1224
02
)
MIPS_Test:test_slt_succeeds() (gas: 2052
50
)
MIPS_Test:test_sltu_succeeds() (gas: 1232
85
)
MIPS_Test:test_sra_succeeds() (gas: 1224
90
)
MIPS_Test:test_srav_succeeds() (gas: 1227
58
)
MIPS_Test:test_srl_succeeds() (gas: 1222
76
)
MIPS_Test:test_srlv_succeeds() (gas: 122
506
)
MIPS_Test:test_step_abi_succeeds() (gas: 585
32
)
MIPS_Test:test_sub_succeeds() (gas: 1230
07
)
MIPS_Test:test_subu_succeeds() (gas: 1230
92
)
MIPS_Test:test_sw_succeeds() (gas: 161
604
)
MIPS_Test:test_swl_succeeds() (gas: 1616
21
)
MIPS_Test:test_swr_succeeds() (gas: 1616
96
)
MIPS_Test:test_xor_succeeds() (gas: 1230
29
)
MIPS_Test:test_xori_succeeds() (gas: 1231
47
)
MIPS_Test:test_sh_succeeds() (gas: 1616
51
)
MIPS_Test:test_sll_succeeds() (gas: 1222
38
)
MIPS_Test:test_sllv_succeeds() (gas: 1224
46
)
MIPS_Test:test_slt_succeeds() (gas: 2052
06
)
MIPS_Test:test_sltu_succeeds() (gas: 1232
63
)
MIPS_Test:test_sra_succeeds() (gas: 1224
68
)
MIPS_Test:test_srav_succeeds() (gas: 1227
14
)
MIPS_Test:test_srl_succeeds() (gas: 1222
54
)
MIPS_Test:test_srlv_succeeds() (gas: 122
462
)
MIPS_Test:test_step_abi_succeeds() (gas: 585
10
)
MIPS_Test:test_sub_succeeds() (gas: 1230
50
)
MIPS_Test:test_subu_succeeds() (gas: 1230
48
)
MIPS_Test:test_sw_succeeds() (gas: 161
582
)
MIPS_Test:test_swl_succeeds() (gas: 1616
62
)
MIPS_Test:test_swr_succeeds() (gas: 1616
52
)
MIPS_Test:test_xor_succeeds() (gas: 1230
95
)
MIPS_Test:test_xori_succeeds() (gas: 1231
03
)
MerkleTrie_get_Test:test_get_corruptedProof_reverts() (gas: 5710)
MerkleTrie_get_Test:test_get_extraProofElements_reverts() (gas: 58889)
MerkleTrie_get_Test:test_get_invalidDataRemainder_reverts() (gas: 35867)
...
...
@@ -425,76 +425,76 @@ MerkleTrie_get_Test:test_get_validProof9_succeeds() (gas: 48802)
MerkleTrie_get_Test:test_get_wrongKeyProof_reverts() (gas: 50752)
MerkleTrie_get_Test:test_get_zeroBranchValueLength_reverts() (gas: 41706)
MerkleTrie_get_Test:test_get_zeroLengthKey_reverts() (gas: 3632)
MintManager_constructor_Test:test_constructor_succeeds() (gas: 10
623
)
MintManager_constructor_Test:test_constructor_succeeds() (gas: 10
579
)
MintManager_mint_Test:test_mint_afterPeriodElapsed_succeeds() (gas: 148184)
MintManager_mint_Test:test_mint_beforePeriodElapsed_reverts() (gas: 140
479
)
MintManager_mint_Test:test_mint_beforePeriodElapsed_reverts() (gas: 140
523
)
MintManager_mint_Test:test_mint_fromNotOwner_reverts() (gas: 11054)
MintManager_mint_Test:test_mint_fromOwner_succeeds() (gas: 1373
30
)
MintManager_mint_Test:test_mint_moreThanCap_reverts() (gas: 1425
90
)
MintManager_upgrade_Test:test_upgrade_fromNotOwner_reverts() (gas: 1
1041
)
MintManager_mint_Test:test_mint_fromOwner_succeeds() (gas: 1373
08
)
MintManager_mint_Test:test_mint_moreThanCap_reverts() (gas: 1425
68
)
MintManager_upgrade_Test:test_upgrade_fromNotOwner_reverts() (gas: 1
0975
)
MintManager_upgrade_Test:test_upgrade_fromOwner_succeeds() (gas: 23509)
MintManager_upgrade_Test:test_upgrade_toZeroAddress_reverts() (gas: 110
70
)
OptimismMintableERC20_Test:test_bridge_succeeds() (gas: 77
32
)
OptimismMintableERC20_Test:test_burn_notBridge_reverts() (gas: 111
68
)
OptimismMintableERC20_Test:test_burn_succeeds() (gas: 510
57
)
OptimismMintableERC20_Test:test_erc165_supportsInterface_succeeds() (gas: 78
63
)
OptimismMintableERC20_Test:test_l1Token_succeeds() (gas: 77
32
)
OptimismMintableERC20_Test:test_l2Bridge_succeeds() (gas: 7
687
)
OptimismMintableERC20_Test:test_legacy_succeeds() (gas: 1463
0
)
OptimismMintableERC20_Test:test_mint_notBridge_reverts() (gas: 11
212
)
OptimismMintableERC20_Test:test_mint_succeeds() (gas: 63
595
)
OptimismMintableERC20_Test:test_remoteToken_succeeds() (gas: 77
55
)
OptimismMintableERC721Factory_Test:test_constructor_succeeds() (gas: 8
424
)
OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_sameTwice_reverts() (gas: 893739346051680007
8
)
OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_succeeds() (gas: 23165
45
)
MintManager_upgrade_Test:test_upgrade_toZeroAddress_reverts() (gas: 110
92
)
OptimismMintableERC20_Test:test_bridge_succeeds() (gas: 77
10
)
OptimismMintableERC20_Test:test_burn_notBridge_reverts() (gas: 111
90
)
OptimismMintableERC20_Test:test_burn_succeeds() (gas: 510
40
)
OptimismMintableERC20_Test:test_erc165_supportsInterface_succeeds() (gas: 78
19
)
OptimismMintableERC20_Test:test_l1Token_succeeds() (gas: 77
10
)
OptimismMintableERC20_Test:test_l2Bridge_succeeds() (gas: 7
710
)
OptimismMintableERC20_Test:test_legacy_succeeds() (gas: 1463
1
)
OptimismMintableERC20_Test:test_mint_notBridge_reverts() (gas: 11
190
)
OptimismMintableERC20_Test:test_mint_succeeds() (gas: 63
639
)
OptimismMintableERC20_Test:test_remoteToken_succeeds() (gas: 77
33
)
OptimismMintableERC721Factory_Test:test_constructor_succeeds() (gas: 8
380
)
OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_sameTwice_reverts() (gas: 893739346051680007
6
)
OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_succeeds() (gas: 23165
23
)
OptimismMintableERC721Factory_Test:test_createOptimismMintableERC721_zeroRemoteToken_reverts() (gas: 9542)
OptimismMintableERC721_Test:test_burn_notBridge_reverts() (gas: 1369
67
)
OptimismMintableERC721_Test:test_burn_succeeds() (gas: 1188
74
)
OptimismMintableERC721_Test:test_constructor_succeeds() (gas: 2451
6
)
OptimismMintableERC721_Test:test_safeMint_notBridge_reverts() (gas: 11
209
)
OptimismMintableERC721_Test:test_burn_notBridge_reverts() (gas: 1369
89
)
OptimismMintableERC721_Test:test_burn_succeeds() (gas: 1188
92
)
OptimismMintableERC721_Test:test_constructor_succeeds() (gas: 2451
7
)
OptimismMintableERC721_Test:test_safeMint_notBridge_reverts() (gas: 11
165
)
OptimismMintableERC721_Test:test_safeMint_succeeds() (gas: 140599)
OptimismMintableERC721_Test:test_supportsInterfaces_succeeds() (gas: 90
50
)
OptimismMintableERC721_Test:test_tokenURI_succeeds() (gas: 163
605
)
OptimismMintableTokenFactory_Test:test_bridge_succeeds() (gas: 7
720
)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenWithDecimals_succeeds() (gas: 11404
41
)
OptimismMintableTokenFactory_Test:test_createStandardL2Token_remoteIsZero_reverts() (gas: 96
20
)
OptimismMintableTokenFactory_Test:test_createStandardL2Token_sameTwice_reverts() (gas: 893739346051676434
5
)
OptimismMintableTokenFactory_Test:test_createStandardL2Token_succeeds() (gas: 11404
33
)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 144
53
)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 160
51
)
OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_succeeds() (gas: 26
689
)
OptimismPortalUpgradeable_Test:test_upgradeToAndCall_upgrading_succeeds() (gas: 1859
77
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputRootChanges_reverts() (gas: 1780
74
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_reverts() (gas: 1814
39
)
OptimismMintableERC721_Test:test_supportsInterfaces_succeeds() (gas: 90
93
)
OptimismMintableERC721_Test:test_tokenURI_succeeds() (gas: 163
583
)
OptimismMintableTokenFactory_Test:test_bridge_succeeds() (gas: 7
698
)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenWithDecimals_succeeds() (gas: 11404
19
)
OptimismMintableTokenFactory_Test:test_createStandardL2Token_remoteIsZero_reverts() (gas: 96
43
)
OptimismMintableTokenFactory_Test:test_createStandardL2Token_sameTwice_reverts() (gas: 893739346051676434
4
)
OptimismMintableTokenFactory_Test:test_createStandardL2Token_succeeds() (gas: 11404
10
)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 144
09
)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 160
07
)
OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_succeeds() (gas: 26
711
)
OptimismPortalUpgradeable_Test:test_upgradeToAndCall_upgrading_succeeds() (gas: 1859
99
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputRootChanges_reverts() (gas: 1780
52
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_reverts() (gas: 1814
61
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalNotProven_reverts() (gas: 41777)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalProofNotOldEnough_reverts() (gas: 173449)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onInsufficientGas_reverts() (gas: 180332)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onRecentWithdrawal_reverts() (gas: 1541
91
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReentrancy_reverts() (gas: 2183
84
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReplay_reverts() (gas: 219
614
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_paused_reverts() (gas: 536
66
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_provenWithdrawalHash_succeeds() (gas: 2089
60
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails_fails() (gas: 879774668769616266
6
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onRecentWithdrawal_reverts() (gas: 1541
69
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReentrancy_reverts() (gas: 2183
62
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReplay_reverts() (gas: 219
592
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_paused_reverts() (gas: 536
22
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_provenWithdrawalHash_succeeds() (gas: 2089
38
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails_fails() (gas: 879774668769616266
3
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_timestampLessThanL2OracleStart_reverts() (gas: 170961)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidOutputRootProof_reverts() (gas: 857
58
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidOutputRootProof_reverts() (gas: 857
14
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidWithdrawalProof_reverts() (gas: 111248)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onSelfCall_reverts() (gas: 529
89
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_paused_reverts() (gas: 73
807
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRootAndOutputIndex_succeeds() (gas: 2946
72
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRoot_succeeds() (gas: 2273
43
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProve_reverts() (gas: 166
490
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_validWithdrawalProof_succeeds() (gas: 154
361
)
OptimismPortal_Test:test_constructor_succeeds() (gas: 310
35
)
OptimismPortal_Test:test_depositTransaction_contractCreation_reverts() (gas: 143
22
)
OptimismPortal_Test:test_depositTransaction_largeData_reverts() (gas: 5122
5
2)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onSelfCall_reverts() (gas: 529
44
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_paused_reverts() (gas: 73
785
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRootAndOutputIndex_succeeds() (gas: 2946
94
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProveChangedOutputRoot_succeeds() (gas: 2273
65
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_replayProve_reverts() (gas: 166
513
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_validWithdrawalProof_succeeds() (gas: 154
405
)
OptimismPortal_Test:test_constructor_succeeds() (gas: 310
14
)
OptimismPortal_Test:test_depositTransaction_contractCreation_reverts() (gas: 143
00
)
OptimismPortal_Test:test_depositTransaction_largeData_reverts() (gas: 5122
7
2)
OptimismPortal_Test:test_depositTransaction_smallGasLimit_reverts() (gas: 14578)
OptimismPortal_Test:test_isOutputFinalized_succeeds() (gas: 122745)
OptimismPortal_Test:test_minimumGasLimit_succeeds() (gas: 176
4
3)
OptimismPortal_Test:test_minimumGasLimit_succeeds() (gas: 176
6
3)
OptimismPortal_Test:test_pause_onlyGuardian_reverts() (gas: 22284)
OptimismPortal_Test:test_pause_succeeds() (gas: 42
226
)
OptimismPortal_Test:test_simple_isOutputFinalized_succeeds() (gas: 3818
0
)
OptimismPortal_Test:test_unpause_onlyGuardian_reverts() (gas: 462
74
)
OptimismPortal_Test:test_unpause_succeeds() (gas: 317
44
)
OptimismPortal_Test:test_pause_succeeds() (gas: 42
182
)
OptimismPortal_Test:test_simple_isOutputFinalized_succeeds() (gas: 3818
1
)
OptimismPortal_Test:test_unpause_onlyGuardian_reverts() (gas: 462
52
)
OptimismPortal_Test:test_unpause_succeeds() (gas: 317
27
)
OptimistAllowlistTest:test_constructor_succeeds() (gas: 16362)
OptimistAllowlistTest:test_isAllowedToMint_fromAllowlistAttestorWithFalsyValue_fails() (gas: 49652)
OptimistAllowlistTest:test_isAllowedToMint_fromAllowlistAttestor_succeeds() (gas: 49276)
...
...
@@ -549,9 +549,9 @@ PreimageOracle_Test:test_loadLocalData_multipleContexts_succeeds() (gas: 147718)
PreimageOracle_Test:test_loadLocalData_onePart_succeeds() (gas: 75905)
PreimageOracle_Test:test_loadLocalData_outOfBoundsOffset_reverts() (gas: 8882)
ProtocolVersions_Initialize_Test:test_initialize_events_succeeds() (gas: 59548)
ProtocolVersions_Initialize_Test:test_initialize_values_succeeds() (gas: 450
46
)
ProtocolVersions_Setters_TestFail:test_setRecommended_notOwner_reverts() (gas: 155
53
)
ProtocolVersions_Setters_TestFail:test_setRequired_notOwner_reverts() (gas: 155
87
)
ProtocolVersions_Initialize_Test:test_initialize_values_succeeds() (gas: 450
91
)
ProtocolVersions_Setters_TestFail:test_setRecommended_notOwner_reverts() (gas: 155
97
)
ProtocolVersions_Setters_TestFail:test_setRequired_notOwner_reverts() (gas: 155
43
)
ProxyAdmin_Test:test_chugsplashChangeProxyAdmin_succeeds() (gas: 36440)
ProxyAdmin_Test:test_chugsplashGetProxyAdmin_succeeds() (gas: 15610)
ProxyAdmin_Test:test_chugsplashGetProxyImplementation_succeeds() (gas: 51040)
...
...
@@ -660,30 +660,30 @@ ResourceMetering_Test:test_meter_useMax_succeeds() (gas: 20020816)
ResourceMetering_Test:test_meter_useMoreThanMax_reverts() (gas: 19549)
SafeCall_Test:test_callWithMinGas_noLeakageHigh_succeeds() (gas: 1020805932)
SafeCall_Test:test_callWithMinGas_noLeakageLow_succeeds() (gas: 1094905711)
SequencerFeeVault_L2Withdrawal_Test:test_withdraw_toL2_succeeds() (gas: 805
02
)
SequencerFeeVault_L2Withdrawal_Test:test_withdraw_toL2recipientReverts_fails() (gas: 489
48
)
SequencerFeeVault_Test:test_constructor_succeeds() (gas: 770
5
)
SequencerFeeVault_Test:test_minWithdrawalAmount_succeeds() (gas: 12
794
)
SequencerFeeVault_L2Withdrawal_Test:test_withdraw_toL2_succeeds() (gas: 805
24
)
SequencerFeeVault_L2Withdrawal_Test:test_withdraw_toL2recipientReverts_fails() (gas: 489
04
)
SequencerFeeVault_Test:test_constructor_succeeds() (gas: 770
6
)
SequencerFeeVault_Test:test_minWithdrawalAmount_succeeds() (gas: 12
860
)
SequencerFeeVault_Test:test_receive_succeeds() (gas: 17395)
SequencerFeeVault_Test:test_withdraw_notEnough_reverts() (gas: 9
399
)
SequencerFeeVault_Test:test_withdraw_toL1_succeeds() (gas: 6160
90
)
SetPrevBaseFee_Test:test_setPrevBaseFee_succeeds() (gas: 11
595
)
StandardBridge_Stateless_Test:test_isCorrectTokenPair_succeeds() (gas: 501
49
)
StandardBridge_Stateless_Test:test_isOptimismMintableERC20_succeeds() (gas: 33
142
)
SequencerFeeVault_Test:test_withdraw_notEnough_reverts() (gas: 9
421
)
SequencerFeeVault_Test:test_withdraw_toL1_succeeds() (gas: 6160
68
)
SetPrevBaseFee_Test:test_setPrevBaseFee_succeeds() (gas: 11
617
)
StandardBridge_Stateless_Test:test_isCorrectTokenPair_succeeds() (gas: 501
71
)
StandardBridge_Stateless_Test:test_isOptimismMintableERC20_succeeds() (gas: 33
098
)
Storage_Roundtrip_Test:test_setGetAddress_succeeds(bytes32,address) (runs: 64, μ: 31221, ~: 31843)
Storage_Roundtrip_Test:test_setGetBytes32_succeeds(bytes32,bytes32) (runs: 64, μ: 31654, ~: 31654)
Storage_Roundtrip_Test:test_setGetUint_succeeds(bytes32,uint256) (runs: 64, μ: 30731, ~: 31664)
SystemConfig_Initialize_Test:test_initialize_values_succeeds() (gas: 45
459
)
SystemConfig_Initialize_Test:test_initialize_values_succeeds() (gas: 45
504
)
SystemConfig_Initialize_TestFail:test_initialize_lowGasLimit_reverts() (gas: 61167)
SystemConfig_Setters_TestFail:test_setBatcherHash_notOwner_reverts() (gas: 156
09
)
SystemConfig_Setters_TestFail:test_setBatcherHash_notOwner_reverts() (gas: 156
31
)
SystemConfig_Setters_TestFail:test_setGasConfig_notOwner_reverts() (gas: 15687)
SystemConfig_Setters_TestFail:test_setGasLimit_notOwner_reverts() (gas: 156
77
)
SystemConfig_Setters_TestFail:test_setResourceConfig_badMinMax_reverts() (gas: 1855
8
)
SystemConfig_Setters_TestFail:test_setResourceConfig_badPrecision_reverts() (gas: 211
82
)
SystemConfig_Setters_TestFail:test_setResourceConfig_lowGasLimit_reverts() (gas: 221
85
)
SystemConfig_Setters_TestFail:test_setResourceConfig_notOwner_reverts() (gas: 168
77
)
SystemConfig_Setters_TestFail:test_setResourceConfig_zeroDenominator_reverts() (gas: 185
95
)
SystemConfig_Setters_TestFail:test_setUnsafeBlockSigner_notOwner_reverts() (gas: 156
58
)
SystemConfig_Setters_TestFail:test_setGasLimit_notOwner_reverts() (gas: 156
55
)
SystemConfig_Setters_TestFail:test_setResourceConfig_badMinMax_reverts() (gas: 1855
9
)
SystemConfig_Setters_TestFail:test_setResourceConfig_badPrecision_reverts() (gas: 211
60
)
SystemConfig_Setters_TestFail:test_setResourceConfig_lowGasLimit_reverts() (gas: 221
63
)
SystemConfig_Setters_TestFail:test_setResourceConfig_notOwner_reverts() (gas: 168
54
)
SystemConfig_Setters_TestFail:test_setResourceConfig_zeroDenominator_reverts() (gas: 185
73
)
SystemConfig_Setters_TestFail:test_setUnsafeBlockSigner_notOwner_reverts() (gas: 156
79
)
TransactorTest:test_call_succeeds() (gas: 26754)
TransactorTest:test_call_unauthorized_reverts() (gas: 18139)
TransactorTest:test_constructor_succeeds() (gas: 9673)
...
...
packages/contracts-bedrock/scripts/Deploy.s.sol
View file @
935d6ef3
...
...
@@ -54,11 +54,134 @@ import { Types } from "scripts/Types.sol";
contract Deploy is Deployer {
DeployConfig cfg;
////////////////////////////////////////////////////////////////
// Modifiers //
////////////////////////////////////////////////////////////////
/// @notice Modifier that wraps a function in broadcasting.
modifier broadcast() {
vm.startBroadcast();
_;
vm.stopBroadcast();
}
/// @notice Modifier that will only allow a function to be called on devnet.
modifier onlyDevnet() {
uint256 chainid = block.chainid;
if (chainid == Chains.LocalDevnet || chainid == Chains.GethDevnet) {
_;
}
}
/// @notice Modifier that will only allow a function to be called on a public
/// testnet or devnet.
modifier onlyTestnetOrDevnet() {
uint256 chainid = block.chainid;
if (
chainid == Chains.Goerli || chainid == Chains.Sepolia || chainid == Chains.LocalDevnet
|| chainid == Chains.GethDevnet
) {
_;
}
}
////////////////////////////////////////////////////////////////
// Accessors //
////////////////////////////////////////////////////////////////
/// @inheritdoc Deployer
function name() public pure override returns (string memory name_) {
name_ = "Deploy";
}
/// @notice The create2 salt used for deployment of the contract implementations.
/// Using this helps to reduce config across networks as the implementation
/// addresses will be the same across networks when deployed with create2.
function _implSalt() internal returns (bytes32) {
return keccak256(bytes(vm.envOr("IMPL_SALT", string("ethers phoenix"))));
}
/// @notice Returns the proxy addresses
function _proxies() private view returns (Types.ContractSet memory proxies_) {
proxies_ = Types.ContractSet({
L1CrossDomainMessenger: mustGetAddress("L1CrossDomainMessengerProxy"),
L1StandardBridge: mustGetAddress("L1StandardBridgeProxy"),
L2OutputOracle: mustGetAddress("L2OutputOracleProxy"),
OptimismMintableERC20Factory: mustGetAddress("OptimismMintableERC20FactoryProxy"),
OptimismPortal: mustGetAddress("OptimismPortalProxy"),
SystemConfig: mustGetAddress("SystemConfigProxy"),
L1ERC721Bridge: mustGetAddress("L1ERC721BridgeProxy"),
ProtocolVersions: mustGetAddress("ProtocolVersionsProxy")
});
}
////////////////////////////////////////////////////////////////
// State Changing Helper Functions //
////////////////////////////////////////////////////////////////
/// @notice Gets the address of the SafeProxyFactory and Safe singleton for use in deploying a new GnosisSafe.
function _getSafeFactory() internal returns (SafeProxyFactory safeProxyFactory_, Safe safeSingleton_) {
// These are they standard create2 deployed contracts. First we'll check if they are deployed,
// if not we'll deploy new ones, though not at these addresses.
address safeProxyFactory = 0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2;
address safeSingleton = 0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552;
safeProxyFactory.code.length == 0
? safeProxyFactory_ = new SafeProxyFactory()
: safeProxyFactory_ = SafeProxyFactory(safeProxyFactory);
safeSingleton.code.length == 0 ? safeSingleton_ = new Safe() : safeSingleton_ = Safe(payable(safeSingleton));
save("SafeProxyFactory", address(safeProxyFactory_));
save("SafeSingleton", address(safeSingleton_));
}
/// @notice Make a call from the Safe contract to an arbitrary address with arbitrary data
function _callViaSafe(address _target, bytes memory _data) internal {
Safe safe = Safe(mustGetAddress("SystemOwnerSafe"));
// This is the signature format used the caller is also the signer.
bytes memory signature = abi.encodePacked(uint256(uint160(msg.sender)), bytes32(0), uint8(1));
safe.execTransaction({
to: _target,
value: 0,
data: _data,
operation: SafeOps.Operation.Call,
safeTxGas: 0,
baseGas: 0,
gasPrice: 0,
gasToken: address(0),
refundReceiver: payable(address(0)),
signatures: signature
});
}
/// @notice Call from the Safe contract to the Proxy Admin's upgrade and call method
function _upgradeAndCallViaSafe(address _proxy, address _implementation, bytes memory _innerCallData) internal {
address proxyAdmin = mustGetAddress("ProxyAdmin");
bytes memory data =
abi.encodeCall(ProxyAdmin.upgradeAndCall, (payable(_proxy), _implementation, _innerCallData));
_callViaSafe({ _target: proxyAdmin, _data: data });
}
/// @notice Transfer ownership of the ProxyAdmin contract to the final system owner
function transferProxyAdminOwnership() public broadcast {
ProxyAdmin proxyAdmin = ProxyAdmin(mustGetAddress("ProxyAdmin"));
address owner = proxyAdmin.owner();
address safe = mustGetAddress("SystemOwnerSafe");
if (owner != safe) {
proxyAdmin.transferOwnership(safe);
console.log("ProxyAdmin ownership transferred to Safe at: %s", safe);
}
}
////////////////////////////////////////////////////////////////
// SetUp and Run //
////////////////////////////////////////////////////////////////
function setUp() public virtual override {
super.setUp();
...
...
@@ -95,54 +218,24 @@ contract Deploy is Deployer {
transferDisputeGameFactoryOwnership();
}
/// @notice The create2 salt used for deployment of the contract implementations.
/// Using this helps to reduce config across networks as the implementation
/// addresses will be the same across networks when deployed with create2.
function implSalt() internal returns (bytes32) {
return keccak256(bytes(vm.envOr("IMPL_SALT", string("ethers phoenix"))));
}
/// @notice Modifier that wraps a function in broadcasting.
modifier broadcast() {
vm.startBroadcast();
_;
vm.stopBroadcast();
}
/// @notice Modifier that will only allow a function to be called on devnet.
modifier onlyDevnet() {
uint256 chainid = block.chainid;
if (chainid == Chains.LocalDevnet || chainid == Chains.GethDevnet) {
_;
}
}
/// @notice Modifier that will only allow a function to be called on a public
/// testnet or devnet.
modifier onlyTestnetOrDevnet() {
uint256 chainid = block.chainid;
if (
chainid == Chains.Goerli || chainid == Chains.Sepolia || chainid == Chains.LocalDevnet
|| chainid == Chains.GethDevnet
) {
_;
}
}
////////////////////////////////////////////////////////////////
// High Level Deployment Functions //
////////////////////////////////////////////////////////////////
/// @notice Deploy all of the proxies
function deployProxies() public {
deployAddressManager();
deployProxyAdmin();
deploy
OptimismPortalProxy(
);
deploy
L2OutputOracleProxy(
);
deploy
SystemConfigProxy(
);
deploy
ERC1967Proxy("OptimismPortalProxy"
);
deploy
ERC1967Proxy("L2OutputOracleProxy"
);
deploy
ERC1967Proxy("SystemConfigProxy"
);
deployL1StandardBridgeProxy();
deployL1CrossDomainMessengerProxy();
deploy
OptimismMintableERC20FactoryProxy(
);
deploy
L1ERC721BridgeProxy(
);
deploy
DisputeGameFactoryProxy(
);
deploy
ProtocolVersionsProxy(
);
deploy
ERC1967Proxy("OptimismMintableERC20FactoryProxy"
);
deploy
ERC1967Proxy("L1ERC721BridgeProxy"
);
deploy
ERC1967Proxy("DisputeGameFactoryProxy"
);
deploy
ERC1967Proxy("ProtocolVersionsProxy"
);
transferAddressManagerOwnership(); // to the ProxyAdmin
}
...
...
@@ -163,22 +256,9 @@ contract Deploy is Deployer {
deployProtocolVersions();
}
// @notice Gets the address of the SafeProxyFactory and Safe singleton for use in deploying a new GnosisSafe.
function _getSafeFactory() internal returns (SafeProxyFactory safeProxyFactory_, Safe safeSingleton_) {
// These are they standard create2 deployed contracts. First we'll check if they are deployed,
// if not we'll deploy new ones, though not at these addresses.
address safeProxyFactory = 0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2;
address safeSingleton = 0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552;
safeProxyFactory.code.length == 0
? safeProxyFactory_ = new SafeProxyFactory()
: safeProxyFactory_ = SafeProxyFactory(safeProxyFactory);
safeSingleton.code.length == 0 ? safeSingleton_ = new Safe() : safeSingleton_ = Safe(payable(safeSingleton));
save("SafeProxyFactory", address(safeProxyFactory_));
save("SafeSingleton", address(safeSingleton_));
}
////////////////////////////////////////////////////////////////
// Non-Proxied Deployment Functions //
////////////////////////////////////////////////////////////////
/// @notice Deploy the Safe
function deploySafe() public broadcast returns (address addr_) {
...
...
@@ -226,7 +306,20 @@ contract Deploy is Deployer {
addr_ = address(admin);
}
/// @notice Deploy the L1StandardBridgeProxy
/// @notice Deploy the StorageSetter contract, used for upgrades.
function deployStorageSetter() public broadcast returns (address addr_) {
StorageSetter setter = new StorageSetter{ salt: _implSalt() }();
console.log("StorageSetter deployed at: %s", address(setter));
string memory version = setter.version();
console.log("StorageSetter version: %s", version);
addr_ = address(setter);
}
////////////////////////////////////////////////////////////////
// Proxy Deployment Functions //
////////////////////////////////////////////////////////////////
/// @notice Deploy the L1StandardBridgeProxy using a ChugSplashProxy
function deployL1StandardBridgeProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
L1ChugSplashProxy proxy = new L1ChugSplashProxy(proxyAdmin);
...
...
@@ -239,22 +332,7 @@ contract Deploy is Deployer {
addr_ = address(proxy);
}
/// @notice Deploy the L2OutputOracleProxy
function deployL2OutputOracleProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("L2OutputOracleProxy", address(proxy));
console.log("L2OutputOracleProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the L1CrossDomainMessengerProxy
/// @notice Deploy the L1CrossDomainMessengerProxy using a ResolvedDelegateProxy
function deployL1CrossDomainMessengerProxy() public broadcast returns (address addr_) {
AddressManager addressManager = AddressManager(mustGetAddress("AddressManager"));
string memory contractName = "OVM_L1CrossDomainMessenger";
...
...
@@ -273,8 +351,8 @@ contract Deploy is Deployer {
addr_ = address(proxy);
}
/// @notice Deploy the OptimismPortalProxy
function deployOptimismPortalProxy() public broadcast returns (address addr_) {
function deployERC1967Proxy(string memory _name) public broadcast returns (address addr_) {
console.log(string.concat("Deploying ", _name));
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
...
...
@@ -283,96 +361,19 @@ contract Deploy is Deployer {
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("OptimismPortalProxy", address(proxy));
console.log("OptimismPortalProxy deployed at %s", address(proxy));
save(_name, address(proxy));
console.log(" at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the OptimismMintableERC20FactoryProxy
function deployOptimismMintableERC20FactoryProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("OptimismMintableERC20FactoryProxy", address(proxy));
console.log("OptimismMintableERC20FactoryProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the L1ERC721BridgeProxy
function deployL1ERC721BridgeProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("L1ERC721BridgeProxy", address(proxy));
console.log("L1ERC721BridgeProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the SystemConfigProxy
function deploySystemConfigProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("SystemConfigProxy", address(proxy));
console.log("SystemConfigProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the DisputeGameFactoryProxy
function deployDisputeGameFactoryProxy() public onlyDevnet broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("DisputeGameFactoryProxy", address(proxy));
console.log("DisputeGameFactoryProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the ProtocolVersionsProxy
function deployProtocolVersionsProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("ProtocolVersionsProxy", address(proxy));
console.log("ProtocolVersionsProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
////////////////////////////////////////////////////////////////
// Implementation Deployment Functions //
////////////////////////////////////////////////////////////////
/// @notice Deploy the L1CrossDomainMessenger
function deployL1CrossDomainMessenger() public broadcast returns (address addr_) {
address portal = mustGetAddress("OptimismPortalProxy");
L1CrossDomainMessenger messenger = new L1CrossDomainMessenger{ salt: implSalt() }({
L1CrossDomainMessenger messenger = new L1CrossDomainMessenger{ salt:
_
implSalt() }({
_portal: OptimismPortal(payable(portal))
});
...
...
@@ -398,7 +399,7 @@ contract Deploy is Deployer {
L2OutputOracle l2OutputOracle = L2OutputOracle(mustGetAddress("L2OutputOracleProxy"));
SystemConfig systemConfig = SystemConfig(mustGetAddress("SystemConfigProxy"));
OptimismPortal portal = new OptimismPortal{ salt: implSalt() }({
OptimismPortal portal = new OptimismPortal{ salt:
_
implSalt() }({
_l2Oracle: l2OutputOracle,
_guardian: guardian,
_paused: true,
...
...
@@ -421,7 +422,7 @@ contract Deploy is Deployer {
/// @notice Deploy the L2OutputOracle
function deployL2OutputOracle() public broadcast returns (address addr_) {
L2OutputOracle oracle = new L2OutputOracle{ salt: implSalt() }({
L2OutputOracle oracle = new L2OutputOracle{ salt:
_
implSalt() }({
_submissionInterval: cfg.l2OutputOracleSubmissionInterval(),
_l2BlockTime: cfg.l2BlockTime(),
_startingBlockNumber: 0,
...
...
@@ -454,7 +455,7 @@ contract Deploy is Deployer {
function deployOptimismMintableERC20Factory() public broadcast returns (address addr_) {
address l1standardBridgeProxy = mustGetAddress("L1StandardBridgeProxy");
OptimismMintableERC20Factory factory =
new OptimismMintableERC20Factory{ salt: implSalt() }({_bridge: l1standardBridgeProxy});
new OptimismMintableERC20Factory{ salt:
_
implSalt() }({_bridge: l1standardBridgeProxy});
require(factory.BRIDGE() == l1standardBridgeProxy);
require(factory.bridge() == l1standardBridgeProxy);
...
...
@@ -467,7 +468,7 @@ contract Deploy is Deployer {
/// @notice Deploy the DisputeGameFactory
function deployDisputeGameFactory() public onlyDevnet broadcast returns (address addr_) {
DisputeGameFactory factory = new DisputeGameFactory{ salt: implSalt() }();
DisputeGameFactory factory = new DisputeGameFactory{ salt:
_
implSalt() }();
save("DisputeGameFactory", address(factory));
console.log("DisputeGameFactory deployed at %s", address(factory));
...
...
@@ -476,7 +477,7 @@ contract Deploy is Deployer {
/// @notice Deploy the BlockOracle
function deployBlockOracle() public onlyDevnet broadcast returns (address addr_) {
BlockOracle oracle = new BlockOracle{ salt: implSalt() }();
BlockOracle oracle = new BlockOracle{ salt:
_
implSalt() }();
save("BlockOracle", address(oracle));
console.log("BlockOracle deployed at %s", address(oracle));
...
...
@@ -485,7 +486,7 @@ contract Deploy is Deployer {
/// @notice Deploy the ProtocolVersions
function deployProtocolVersions() public broadcast returns (address addr_) {
ProtocolVersions versions = new ProtocolVersions{ salt: implSalt() }();
ProtocolVersions versions = new ProtocolVersions{ salt:
_
implSalt() }();
save("ProtocolVersions", address(versions));
console.log("ProtocolVersions deployed at %s", address(versions));
...
...
@@ -494,7 +495,7 @@ contract Deploy is Deployer {
/// @notice Deploy the PreimageOracle
function deployPreimageOracle() public onlyDevnet broadcast returns (address addr_) {
PreimageOracle preimageOracle = new PreimageOracle{ salt: implSalt() }();
PreimageOracle preimageOracle = new PreimageOracle{ salt:
_
implSalt() }();
save("PreimageOracle", address(preimageOracle));
console.log("PreimageOracle deployed at %s", address(preimageOracle));
...
...
@@ -503,7 +504,7 @@ contract Deploy is Deployer {
/// @notice Deploy Mips
function deployMips() public onlyDevnet broadcast returns (address addr_) {
MIPS mips = new MIPS{ salt: implSalt() }(IPreimageOracle(mustGetAddress("PreimageOracle")));
MIPS mips = new MIPS{ salt:
_
implSalt() }(IPreimageOracle(mustGetAddress("PreimageOracle")));
save("Mips", address(mips));
console.log("MIPS deployed at %s", address(mips));
...
...
@@ -549,7 +550,7 @@ contract Deploy is Deployer {
function deployL1StandardBridge() public broadcast returns (address addr_) {
address l1CrossDomainMessengerProxy = mustGetAddress("L1CrossDomainMessengerProxy");
L1StandardBridge bridge = new L1StandardBridge{ salt: implSalt() }({
L1StandardBridge bridge = new L1StandardBridge{ salt:
_
implSalt() }({
_messenger: payable(l1CrossDomainMessengerProxy)
});
...
...
@@ -567,7 +568,7 @@ contract Deploy is Deployer {
/// @notice Deploy the L1ERC721Bridge
function deployL1ERC721Bridge() public broadcast returns (address addr_) {
address l1CrossDomainMessengerProxy = mustGetAddress("L1CrossDomainMessengerProxy");
L1ERC721Bridge bridge = new L1ERC721Bridge{ salt: implSalt() }({
L1ERC721Bridge bridge = new L1ERC721Bridge{ salt:
_
implSalt() }({
_messenger: l1CrossDomainMessengerProxy,
_otherBridge: Predeploys.L2_ERC721_BRIDGE
});
...
...
@@ -596,36 +597,9 @@ contract Deploy is Deployer {
require(addressManager.owner() == proxyAdmin);
}
/// @notice Make a call from the Safe contract to an arbitrary address with arbitrary data
function _callViaSafe(address _target, bytes memory _data) internal {
Safe safe = Safe(mustGetAddress("SystemOwnerSafe"));
// This is the signature format used the caller is also the signer.
bytes memory signature = abi.encodePacked(uint256(uint160(msg.sender)), bytes32(0), uint8(1));
safe.execTransaction({
to: _target,
value: 0,
data: _data,
operation: SafeOps.Operation.Call,
safeTxGas: 0,
baseGas: 0,
gasPrice: 0,
gasToken: address(0),
refundReceiver: payable(address(0)),
signatures: signature
});
}
/// @notice Call from the Safe contract to the Proxy Admin's upgrade and call method
function _upgradeAndCallViaSafe(address _proxy, address _implementation, bytes memory _innerCallData) internal {
address proxyAdmin = mustGetAddress("ProxyAdmin");
bytes memory data =
abi.encodeCall(ProxyAdmin.upgradeAndCall, (payable(_proxy), _implementation, _innerCallData));
_callViaSafe({ _target: proxyAdmin, _data: data });
}
////////////////////////////////////////////////////////////////
// Initialize Functions //
////////////////////////////////////////////////////////////////
/// @notice Initialize the DisputeGameFactory
function initializeDisputeGameFactory() public onlyDevnet broadcast {
...
...
@@ -844,17 +818,6 @@ contract Deploy is Deployer {
ChainAssertions.checkProtocolVersions(_proxies(), cfg);
}
/// @notice Transfer ownership of the ProxyAdmin contract to the final system owner
function transferProxyAdminOwnership() public broadcast {
ProxyAdmin proxyAdmin = ProxyAdmin(mustGetAddress("ProxyAdmin"));
address owner = proxyAdmin.owner();
address safe = mustGetAddress("SystemOwnerSafe");
if (owner != safe) {
proxyAdmin.transferOwnership(safe);
console.log("ProxyAdmin ownership transferred to Safe at: %s", safe);
}
}
/// @notice Transfer ownership of the DisputeGameFactory contract to the final system owner
function transferDisputeGameFactoryOwnership() public onlyDevnet broadcast {
DisputeGameFactory disputeGameFactory = DisputeGameFactory(mustGetAddress("DisputeGameFactoryProxy"));
...
...
@@ -953,27 +916,4 @@ contract Deploy is Deployer {
);
}
}
/// @notice Deploy the StorageSetter contract, used for upgrades.
function deployStorageSetter() public broadcast returns (address addr_) {
StorageSetter setter = new StorageSetter{ salt: implSalt() }();
console.log("StorageSetter deployed at: %s", address(setter));
string memory version = setter.version();
console.log("StorageSetter version: %s", version);
addr_ = address(setter);
}
/// @notice Returns the proxy addresses
function _proxies() private view returns (Types.ContractSet memory proxies_) {
proxies_ = Types.ContractSet({
L1CrossDomainMessenger: mustGetAddress("L1CrossDomainMessengerProxy"),
L1StandardBridge: mustGetAddress("L1StandardBridgeProxy"),
L2OutputOracle: mustGetAddress("L2OutputOracleProxy"),
OptimismMintableERC20Factory: mustGetAddress("OptimismMintableERC20FactoryProxy"),
OptimismPortal: mustGetAddress("OptimismPortalProxy"),
SystemConfig: mustGetAddress("SystemConfigProxy"),
L1ERC721Bridge: mustGetAddress("L1ERC721BridgeProxy"),
ProtocolVersions: mustGetAddress("ProtocolVersionsProxy")
});
}
}
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