Conversation
🦋 Changeset detectedLatest commit: 4007f2c The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
21942e4 to
a5008f8
Compare
|
This PR changes implementation code, but doesn't include a changeset. Did you forget to add one? |
a5008f8 to
86a4257
Compare
packages/contracts-bedrock/contracts/test/L1CrossDomainMessenger.t.sol
Outdated
Show resolved
Hide resolved
|
Made into a draft. Will combine all upgradability changes into a single PR. |
|
Hey @maurelian! This PR has merge conflicts. Please fix them before continuing review. |
86a4257 to
bd9ed34
Compare
|
Hey @maurelian! This PR has merge conflicts. Please fix them before continuing review. |
packages/contracts-bedrock/contracts/test/L1CrossDomainMessenger.t.sol
Outdated
Show resolved
Hide resolved
bd9ed34 to
11f0f8c
Compare
packages/contracts-bedrock/contracts/test/L1CrossDomainMessenger.t.sol
Outdated
Show resolved
Hide resolved
packages/contracts-bedrock/contracts/test/L1CrossDomainMessenger.t.sol
Outdated
Show resolved
Hide resolved
|
Could also use an update to the hh deploy script to call |
|
Perhaps a rebase will trigger CI |
11f0f8c to
3d6518d
Compare
Already had that locally, just pushed :) |
3d6518d to
b5f22e6
Compare
c98ee00 to
e9c39c2
Compare
42c0aef to
c08af18
Compare
|
Hey @maurelian! This PR has merge conflicts. Please fix them before continuing review. |
|
This is almost ready to be merged, looks like it just has a merge conflict now |
c08af18 to
1b28918
Compare
This shifts the order of inheritance so that the initializable values are in the first slot of the portal, which is consistent with all other contracts we have that inherit from initializable
Forge seems to be working again!? This reverts commit bb8cdf2.
1b28918 to
4007f2c
Compare
Description
Adds upgradability to the
OptimismPortalcontract, and makes its parent contractResourceMeteringamenable to upgradeability.Additional context
Initializablecode and pattern.ResourceMeteringdoesn't inherit fromInitializableitself, but the contract has been madeabstract, and the constructor was converted to aninternalfunction called__ResourceMetering_init. This makes it easier to use in 3rd party contracts which are not upgradeable.initialize(). The contract's implementation still works without being behind a proxy. This is nice because it means we don't need to add a proxy to unit tests, but integration tests should be updated to deploy behind a proxy.