Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

contracts-bedrock: remove crossdomain messenger pausability #4913

Merged
merged 7 commits into from
Feb 25, 2023

Conversation

tynes
Copy link
Contributor

@tynes tynes commented Feb 17, 2023

Description

Removes pausability from the messenger and ensures to maintain the storage layout.
This touches a lot of parts of the system. The deploy scripts should get special attention during review.

The storage layout checking script was refactored a bit so that it shows progress when it runs, because it is pretty slow.

Tests
Unit tests simply needed to be removed for this feature. The tests covering ownability of the cross domain messengers are removed. The storage layout is preserved, you can look at the layout lock file to see this.

Additional Context
This builds on top of #4921 which added pausability to the portal. Now it is expected that the portal can be paused (withdrawals only) and there is no more pausability at the layer of the cross domain messenger. This prevents issues that arise when users try to do withdrawals when the messenger is paused, causing their withdrawals to get stuck.

Follow Up
I'd like to unify the spacer contracts in a follow up PR and then add the initializable contract afterwards. This would mean that we only need a single spacer contract and the old initialize storage slot would become a legacy spacer. The Initializable contract would follow the spacer contract in the inheritance chain, so that a new storage slot would be used for the new initialized slot. This would allow us to delete the try/catch in the dictator for the call to initializing the portal.

@tynes tynes requested a review from a team as a code owner February 17, 2023 02:01
@changeset-bot
Copy link

changeset-bot bot commented Feb 17, 2023

⚠️ No Changeset found

Latest commit: 608ebc9

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@mergify
Copy link
Contributor

mergify bot commented Feb 17, 2023

Hey @tynes! This PR has merge conflicts. Please fix them before continuing review.

@mergify mergify bot added the conflict label Feb 17, 2023
@tynes tynes requested a review from a team as a code owner February 17, 2023 02:09
@mergify mergify bot removed the conflict label Feb 17, 2023
@tynes
Copy link
Contributor Author

tynes commented Feb 17, 2023

This can remove the ownable upgradable from the crossdomain messenger as well

@tynes tynes marked this pull request as draft February 17, 2023 02:14
@mergify
Copy link
Contributor

mergify bot commented Feb 17, 2023

Hey @tynes! This PR has merge conflicts. Please fix them before continuing review.

@mergify mergify bot added the conflict label Feb 17, 2023
@mergify mergify bot removed the conflict label Feb 17, 2023
@mergify
Copy link
Contributor

mergify bot commented Feb 17, 2023

Hey @tynes! This PR has merge conflicts. Please fix them before continuing review.

@mergify mergify bot added the conflict label Feb 17, 2023
@mergify mergify bot removed the conflict label Feb 17, 2023
@tynes tynes marked this pull request as ready for review February 18, 2023 00:18
@tynes tynes mentioned this pull request Feb 18, 2023
@tynes
Copy link
Contributor Author

tynes commented Feb 18, 2023

Will follow up with notes on how to review this

@codecov
Copy link

codecov bot commented Feb 18, 2023

Codecov Report

Merging #4913 (608ebc9) into develop (1b0c603) will decrease coverage by 0.68%.
The diff coverage is 100.00%.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #4913      +/-   ##
===========================================
- Coverage    40.84%   40.17%   -0.68%     
===========================================
  Files          324      303      -21     
  Lines        19652    19009     -643     
  Branches       770      655     -115     
===========================================
- Hits          8027     7637     -390     
+ Misses       11026    10772     -254     
- Partials       599      600       +1     
Flag Coverage Δ
bedrock-go-tests 36.12% <100.00%> (-0.04%) ⬇️
contracts-bedrock-tests 49.74% <ø> (+0.31%) ⬆️
contracts-tests 98.86% <ø> (ø)
core-utils-tests ?
dtl-tests 47.15% <ø> (ø)
fault-detector-tests 33.88% <ø> (ø)
sdk-tests 38.74% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
op-chain-ops/genesis/config.go 29.26% <ø> (-0.46%) ⬇️
...ts-bedrock/contracts/L1/L1CrossDomainMessenger.sol 75.00% <ø> (+15.00%) ⬆️
...ts-bedrock/contracts/deployment/SystemDictator.sol 0.00% <ø> (ø)
...drock/contracts/universal/CrossDomainMessenger.sol 78.37% <ø> (+4.56%) ⬆️
op-chain-ops/genesis/layer_one.go 75.34% <100.00%> (-0.21%) ⬇️
op-node/sources/batching.go 82.65% <0.00%> (-3.07%) ⬇️
packages/core-utils/src/common/misc.ts
packages/core-utils/src/common/test-utils.ts
packages/core-utils/src/optimism/hashing.ts
packages/core-utils/src/index.ts
... and 17 more

@mergify
Copy link
Contributor

mergify bot commented Feb 18, 2023

Hey @tynes! This PR has merge conflicts. Please fix them before continuing review.

@mergify mergify bot added the conflict label Feb 18, 2023
@mergify mergify bot removed the conflict label Feb 21, 2023
@tynes
Copy link
Contributor Author

tynes commented Feb 21, 2023

This PR is going to need some changes once #4921 is merged

@mergify
Copy link
Contributor

mergify bot commented Feb 21, 2023

Hey @tynes! This PR has merge conflicts. Please fix them before continuing review.

@mergify mergify bot added the conflict label Feb 21, 2023
@mergify mergify bot removed the conflict label Feb 23, 2023
@tynes tynes force-pushed the feat/ctb-remove-xdm-pause branch 2 times, most recently from bfcee85 to 49a8621 Compare February 23, 2023 18:35
@mergify
Copy link
Contributor

mergify bot commented Feb 23, 2023

Hey @tynes! This PR has merge conflicts. Please fix them before continuing review.

@mergify mergify bot added the conflict label Feb 23, 2023
@mergify mergify bot removed the conflict label Feb 23, 2023
@mergify
Copy link
Contributor

mergify bot commented Feb 24, 2023

Hey @tynes! This PR has merge conflicts. Please fix them before continuing review.

@mergify mergify bot added the conflict label Feb 24, 2023
@mergify mergify bot removed the conflict label Feb 24, 2023
@tynes
Copy link
Contributor Author

tynes commented Feb 25, 2023

@Mergifyio refresh

@mergify
Copy link
Contributor

mergify bot commented Feb 25, 2023

refresh

✅ Pull request refreshed

Copy link
Collaborator

@mslipper mslipper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go changes LGTM.

@mslipper mslipper merged commit 8969e46 into develop Feb 25, 2023
@mslipper mslipper deleted the feat/ctb-remove-xdm-pause branch February 25, 2023 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants