Skip to content

regenesis: 0.5.0#1594

Merged
smartcontracts merged 354 commits intodevelopfrom
regenesis/0.5.0
Nov 10, 2021
Merged

regenesis: 0.5.0#1594
smartcontracts merged 354 commits intodevelopfrom
regenesis/0.5.0

Conversation

@tynes
Copy link
Copy Markdown
Contributor

@tynes tynes commented Oct 15, 2021

Description
Tracking PR for the eventual regenesis to develop merge.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Oct 15, 2021

🦋 Changeset detected

Latest commit: 4578fc7

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 11 packages
Name Type
@eth-optimism/integration-tests Minor
@eth-optimism/l2geth Minor
@eth-optimism/contracts Minor
@eth-optimism/message-relayer Patch
@eth-optimism/core-utils Minor
@eth-optimism/batch-submitter Patch
@eth-optimism/gas-oracle Minor
@eth-optimism/regenesis-surgery Patch
@eth-optimism/builder Patch
@eth-optimism/data-transport-layer Patch
@eth-optimism/replica-healthcheck Patch

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

@github-actions github-actions bot added 2-reviewers A-op-batcher Area: op-batcher M-ci Meta: ci related work A-pkg-core-utils Area: packages/core-utils A-integration Area: integration tests A-cannon Area: cannon A-ops Area: ops labels Oct 15, 2021
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Oct 15, 2021

Codecov Report

Merging #1594 (2049794) into develop (b3363ac) will increase coverage by 3.81%.
The diff coverage is 75.47%.

❗ Current head 2049794 differs from pull request most recent head 4578fc7. Consider uploading reports for the commit 4578fc7 to get more accurate results
Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #1594      +/-   ##
===========================================
+ Coverage    76.52%   80.33%   +3.81%     
===========================================
  Files           82       47      -35     
  Lines         3041     1449    -1592     
  Branches       466      218     -248     
===========================================
- Hits          2327     1164    -1163     
+ Misses         714      285     -429     
Flag Coverage Δ
batch-submitter ?
contracts 87.96% <75.47%> (+1.91%) ⬆️
core-utils 56.53% <ø> (-6.74%) ⬇️
data-transport-layer ?
message-relayer ?

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

Impacted Files Coverage Δ
...tracts/contracts/L1/deployment/AddressDictator.sol 0.00% <0.00%> (ø)
...cts/contracts/L1/deployment/ChugSplashDictator.sol 0.00% <0.00%> (ø)
.../contracts/L2/messaging/L2CrossDomainMessenger.sol 92.85% <ø> (ø)
...tracts/contracts/L2/messaging/L2StandardBridge.sol 95.45% <ø> (ø)
.../contracts/L2/messaging/L2StandardTokenFactory.sol 100.00% <ø> (ø)
.../contracts/L2/predeploys/OVM_DeployerWhitelist.sol 0.00% <ø> (ø)
...ages/contracts/contracts/L2/predeploys/OVM_ETH.sol 100.00% <ø> (ø)
...cts/contracts/L2/predeploys/OVM_GasPriceOracle.sol 100.00% <ø> (ø)
...ontracts/L2/predeploys/OVM_L2ToL1MessagePasser.sol 0.00% <ø> (ø)
.../contracts/L2/predeploys/OVM_SequencerFeeVault.sol 100.00% <ø> (ø)
... and 102 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b3363ac...4578fc7. Read the comment docs.

tynes and others added 17 commits November 10, 2021 16:21
Update build command for the integration tests to
simply use `yarn build` so that it is the same
as the rest of the packages.
Reduce the number of requests sent by the message-relayer
in the docker setup to make the logs better
Manually handle locking and unlocking to prevent race conditions
if the fee logic. The case that needs to be handled is as follows:
a `gas-oracle` transaction updates the gas price after an queue
origin sequencer tx is sent via RPC and already goes through the
fee check. This would cause the transaction to be accepted and then
fail during the state transition. This is bad because we do not
have logic to hold on to the failed transaction to execute later,
which is what the user would expect when sending transactions to
L1. All transactions that are sent to the miner *must* be valid
transactions.
The response of the RPC endpoint `eth_getTransactionReceipt`
will now return 4 new fields.

- `l1GasPrice`
- `l1GasUsed`
- `l1Fee`
- `l1FeeScalar`

These fields are added to the database as part of the receipt
itself. This means that it is a consensus change as the
serialization of the receipt has been updated. This impacts
the blockhash because the block header commits to a merkle root
of all of the receipts in the block.

Each of the new fields on the receipt exist in the state but
would require an archive node to query for as the values can
change over time.
Have the ethers L2 context helper pass through the
new optimistic ethereum related fields
Breaking change in v0.8.0
as activated by default in 0.8
mslipper and others added 23 commits November 10, 2021 16:29
Update the regenesis surgery tests to use the `GenesisJsonProvider`.
Remove hardhat to test with and use `ts-mocha` instead.
The dockerfile was failing on the step due to `python` no longer
existing in the alpinelinux archives. This commit updates the
version of `python` to `python3` so that the deployer image
can build properly. Also update the integration-tests image
to use python3 and the deployer entrypoint script to use python3

```
 > [ethereumoptimism/deployer:latest stage-1  2/13] RUN apk add --no-cache git curl python bash jq:
124 2.190 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
124 2.170 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
124 2.803 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
124 2.783 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
124 6.396 ERROR: unable to select packages:
124 6.416 ERROR: unable to select packages:
124 6.431   python (no such package):
124 6.431     required by: world[python]
124 6.451   python (no such package):
124 6.451     required by: world[python]
```
refactor(contracts): Rename deployAndPostDeploy to deployAndVerifyAndThen
This commit adds an addressNames object, which should be used both for
names in the address manager, and naming deployment artifacts.

fix(contracts): Remove unused queue container test code

feat(contracts): Split up managed and unmanaged names

refactor(contracts): Move address names into a single nested object

refactor(contracts): Make address keys similar to values

chore: add changeset

docs(contracts): Add a docstring to deployAndPostDeploy

refactor(contracts): Remove unnecessary contract name

If the Address Manager's name is the same as the contract artifact
we don't need specify the contract name argument.
THE `TARGET_GAS_LIMIT` should be set to 15 million.
This will match what is deployed on kovan and what will
be deployed on mainnet.
Enable the RPC test for `rollup_gasPrices` that
was previously disabled due to how the gas pricing
scheme was changed in `v0.5.0`.
@smartcontracts smartcontracts marked this pull request as ready for review November 10, 2021 21:35
@smartcontracts smartcontracts merged commit f1631a5 into develop Nov 10, 2021
@smartcontracts smartcontracts deleted the regenesis/0.5.0 branch November 10, 2021 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-cannon Area: cannon A-integration Area: integration tests A-op-batcher Area: op-batcher A-ops Area: ops A-pkg-core-utils Area: packages/core-utils M-ci Meta: ci related work

Projects

None yet

Development

Successfully merging this pull request may close these issues.