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