Skip to content

Develop -> Master#3602

Merged
mslipper merged 63 commits intomasterfrom
develop
Sep 29, 2022
Merged

Develop -> Master#3602
mslipper merged 63 commits intomasterfrom
develop

Conversation

@mslipper
Copy link
Contributor

smartcontracts and others added 30 commits September 23, 2022 17:22
* fix(ct): bug in L2OutputOracle constructor

Fixes a small bug in the L2OutputOracle constructor where an assertion
was being made about the wrong value. Unlikely that this would've caused
any significant issues but worth fixing anyway.

* Update l1genesis generation code

Puts the genesis timestamp inside the simulator, and updates the simulator code to properly wait for blocks to be mined. See the comments in deployer.go and layer_one.go.

* Update gas snapshot

Co-authored-by: Matthew Slipper <me@matthewslipper.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* proxyd: Add customizable whitelist error message

Alchemy is asking for this so that we can include their affiliate link.

* add missing test case

* fix error message

* goimports
* proxyd: Add batch size metric and configurable max

The max batch size will be overwritten if it is over `MaxBatchRPCCallsHardLimit`.

Builds on #3544.

* changeset

* fix lint

* fix test
* contracts-bedrock: add semver to erc20 factory

* op-bindings: regenerate

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…3541)

The ownable upgradable modifier was not used anywhere
in the contract. The erc20 factory does not follow that
pattern. This change simplifies things by moving
values to immutables instead of being in storage.

This is a cleanup PR before migrating these contracts to
`contracts-bedrock`.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* op-node: Fix OPB-10

Fixes OPB-10: No Checks for Deposit Transaction Type When Calling `L1InfoDepositTxData()`. This PR adds a check in `blockToBatch` that checks the type of the first transaction in the block, and returns an error if it isn't a deposit transaction.

* goimports

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* ci: Ignore l2geth coverage reports

* ci: Upload coverage reports in js-lint-test

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* op-chain-ops: implement withdrawal hashing

Implement both the new hashing scheme and the legacy
hashing for withdrawals so that the withdrawals can
be migrated.

Also implement encoding and decoding of the withdrawals

* more tests

* op-chain-ops: code review fixes

* op-chain-ops: fix message passer

Now that the old message passer is being kept in the L2
state, be sure to the use legacy address. The new message
passer is at a different address.
Introduces a new task for validating the correctness of spacer
variables. Prevents future developers from accidentally moving spacers.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
The tests run as part of `bedrock-go-tests` so no need
to have a task specific for `op-chain-ops`.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Adds versioning rules to the Bedrock contracts package.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Adds consistency checks for L1 syncing nodes in the DTL. One of my
personal nodes seemed to halt with this error, so fixing it.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* op-node: Fix OPB-07

Fixes Sigma Prime audit issue OPB-07: Private Key Stored Without Encryption. This PR requires reading the sequencer private key from an environment variable rather than a file on disk.

Fixes ENG-2616

* fix devnet

* delete superfluous file

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Minor modification that puts the raw body as a string on the request
object. Useful for applications where the raw body is required rather
than the parsed JSON body as given by bodyParser. For example, this is
useful when verifying GitHub webhooks.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This job isn't needed anymore since we're compiling the artifacts into the bindings.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
There was a leftover require from when the contract
was `initializable`. This commit removes that because
it is no longer needed.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…genesis (#3569)

* op-chain-ops: use PoS consensus in simulated backend in deployer, and add PoS option to genesis

* op-geth: update dependencies for new simulated backend option and ttd check fix

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
smartcontracts and others added 19 commits September 27, 2022 18:37
* feat(ctb): no refunds

Removes refunds from the StandardBridge flow.

* regenerate bindings

Co-authored-by: Matthew Slipper <me@matthewslipper.com>
This will make it easier to test the e2e nft deployment
scripts.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Removes refunds for failed NFT deposits.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This new name is more idiomatic in go and avoids a confusion with
the '642'.
`check-changed` fails on stacked PRs. This PR updated the CircleCI config to simply run tests if check-changed fails in order to prevent PRs from getting blocked.
This makes the L1 Retrieval a purely pull based stage. This commit
required large modifications to the channel bank stage in order
for the channel bank to maintain it's own progress.
The L1 Retrieval stage is now responsible for pulling data from
the L1 Traversal stage. In addition, the pipeline is responsible
for advancing the state of the L1 Traversal stage.

The L1 Traversal stage only provides access to the current L1 block
once - it pretends to be a queue that is consumed from.
* ctp: fixup deploy scripts for the nft bridge

The most important one is the deploy script for the
`Proxy` that will end up at the predeploy on L2. There
are specific checks for the correct deployer account
being used. Will likely require some changes to the
hardhat config when doing the actual deployment.

* ctp: update deploy scripts

* ctp: update deploy scripts

* ctp: move away from deterministic deployments

* op: deployments

* fixes

* deploy-script: refactor

* deploy: comments
This again requires a fair amount of changes to channel_in_reader.go
for the channel in reader to maintain its progress state.
Like the rest of the changes, this also required modifications to
the next stage - the batch queue in order for it to manage the
progress API. This commit required even more changes than usual.
I changed the pipeline to be reset to a common starting point
and now use the L2SafeHead block to filter out adding batches &
L1 blocks to the batch queue.
The attributes queue actually had pretty few modifications to work
with the progress API. The logic of switching the batch queue over
was a bit more complex because the batch queue is very stateful, but
still not the worst.
The progress API is very nearly removed from the engine queue stage.
op-node: Switch batch queue to be pull based
op-node: Switch channel bank and channel in reader to a pull based stage
op-node: Switch L1 Retrieval to pull based
op-node: Switch L1 Traversal to a pull based model
* op-e2e/actions: action tests base test util

* actions: extend action testing doc comments

* actions: docstring about format and args

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
@changeset-bot
Copy link

changeset-bot bot commented Sep 29, 2022

🦋 Changeset detected

Latest commit: 7b5fb40

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

This PR includes changesets to release 13 packages
Name Type
@eth-optimism/integration-tests Patch
@eth-optimism/contracts-periphery Patch
@eth-optimism/common-ts Patch
@eth-optimism/contracts-bedrock Minor
@eth-optimism/proxyd Patch
@eth-optimism/contracts Patch
@eth-optimism/data-transport-layer Patch
@eth-optimism/hardhat-deploy-config Patch
@eth-optimism/drippie-mon Patch
@eth-optimism/message-relayer Patch
@eth-optimism/replica-healthcheck Patch
@eth-optimism/actor-tests Patch
@eth-optimism/sdk 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

@mslipper mslipper merged commit 8af6d15 into master Sep 29, 2022
@github-actions github-actions bot added 2-reviewers C-protocol-critical Category: Modifies protocol-critical code A-pkg-contracts-bedrock Area: packages/contracts-bedrock A-op-bindings Area: op-bindings A-integration Area: integration tests A-ops Area: ops labels Sep 29, 2022
@mergify mergify bot requested a review from smartcontracts September 29, 2022 01:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-integration Area: integration tests A-op-bindings Area: op-bindings A-ops Area: ops A-pkg-contracts-bedrock Area: packages/contracts-bedrock C-protocol-critical Category: Modifies protocol-critical code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants