Skip to content

Develop -> Master#3697

Merged
mslipper merged 123 commits intomasterfrom
develop
Oct 13, 2022
Merged

Develop -> Master#3697
mslipper merged 123 commits intomasterfrom
develop

Conversation

@mslipper
Copy link
Contributor

protolambda and others added 30 commits September 29, 2022 14:17
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…3600)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Use the companion network config to ensure that the
correct artifact is being used.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
These changes make the `OptimismMintableERC721Factory` in line
with the bedrock version of the `OptimismMintableERC20Factory`.
We might as well follow what we are doing with the new erc20
factory to keep things in line with each other.

These changes are very small, they just rename a function to
not follow the deprecated naming scheme, the function now returns
an address which makes testing/integration a bit easier and also
does a slight refactor to prevent the need to cast a type 3 times.

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

`ParseWithdrawalInitiated` used to pass every log to `abi.EventByID`. Since `abi.EventByID` was bound to the `L2ToL1MessagePasser` contract, any logs on the receipt from a different contract would cause this function to return an error. This breaks support for parsing withdrawal events initiated by the `L2StandardBridge`, since the bridge adds many events of its own. This PR updates `ParseWithdrawalInitiated` to use the hex-encoded withdrawal intiated topic to determine which log messages to use instead.

* add extension 1

* Update op-node/withdrawals/utils.go

Co-authored-by: protolambda <proto@protolambda.com>

* Update op-node/withdrawals/utils.go

Co-authored-by: protolambda <proto@protolambda.com>

* Update op-node/withdrawals/utils.go

Co-authored-by: protolambda <proto@protolambda.com>

* add docstring

* use shared lib

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

* op-e2e: action testing L1 replica actor

* op-e2e: action testing L1 miner (#3607)

* op-e2e: remove unused empty actors file
…ge (#3587)

Co-authored-by: Mark Tyneway <mark.tyneway@gmail.com>
* ctp: deploy goerli nft bridge fixes

Test on kovan

* ctp: goerli nft bridge deployment artifacts

* ctp: delete kovan bridge artifacts

* ctp: revert deploy script

* ctp: add goerli nft bridge deployment changeset
* ctb: Remove unused event in tests

* ctb: Initial clean up of L1StdBridge tests

Breaks the test suite up in to test contracts. Each state changing
method has its own contract for happy tests and another for sad
tests.

* chore: Bindings

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
op-e2e: Action testing L2 engine (without block building)
…ding

op-e2e: Action testing L2 Engine Block building
smartcontracts and others added 18 commits October 8, 2022 12:24
Removes an unnecessary parameter from the L200 initialization function
since this parameter is already set in the constructor.
fix(ctb): remove unnecessary L2OO init param
… RPCError.Data (#3683)

* fix: add optional data field to RPCError struct

* fix: formatting lint

* feat(proxyd): add changeset
Our current proxyd deployment does not share rate limit state across multiple servers within a backend group. This means that rate limits on the public endpoint are artifically high.

This PR adds a Redis-based rate limiter to fix this problem. While our current rate limiting library (github.com/sethvargo/go-limiter) _does_ support Redis, the client library it uses is not type safe, is less performant, and would require us to update the other places we use Redis. To avoid these issues, I created a simple rate limiting interface with both Redis and memory backend.

Note that this PR only adds the new implementations - it does not integrate them with the rest of the codebase. I'll do that in a separate PR to make review easier.
Integrates the custom rate limiter in the previous PR into the rest of the application. Also takes the opportunity to clean up how we instantiate Redis clients so that we can share them among multiple different services.

There are some config changes in this PR. Specifically, you must specify a `base_rate` and `base_interval` in the rate limit config.
The handler returned from `log.LvlFilterHandler` wasn't being consumed anywhere, so log level configuration was being ignored.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
The L2 head was being logged rather than the safe head's L1 origin.
Both op mainnet and op goerli

The following script was used for the deployment.
The commented out lines were used for mainnet.

```bash

NETWORK=optimism-goerli

npx hardhat deploy --network $NETWORK --tags MintManager
```
…ate_limiter_implementation

proxyd: Custom rate limiter implementation
…e_custom_rate_limiter

proxyd: Integrate custom rate limiter
@changeset-bot
Copy link

changeset-bot bot commented Oct 13, 2022

🦋 Changeset detected

Latest commit: 1471911

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

This PR includes changesets to release 12 packages
Name Type
@eth-optimism/proxyd Minor
@eth-optimism/contracts-bedrock Patch
@eth-optimism/sdk Patch
@eth-optimism/contracts-periphery Patch
@eth-optimism/l2geth Patch
@eth-optimism/integration-tests Patch
@eth-optimism/indexer Minor
@eth-optimism/endpoint-monitor Major
@eth-optimism/ci-builder Patch
@eth-optimism/actor-tests Patch
@eth-optimism/drippie-mon Patch
@eth-optimism/message-relayer 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 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-cannon Area: cannon A-ops Area: ops A-pkg-sdk Area: packages/sdk labels Oct 13, 2022
@mergify mergify bot requested a review from tynes October 13, 2022 15:28
@mslipper mslipper merged commit 093b758 into master Oct 13, 2022
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-bindings Area: op-bindings A-ops Area: ops A-pkg-contracts-bedrock Area: packages/contracts-bedrock A-pkg-sdk Area: packages/sdk C-protocol-critical Category: Modifies protocol-critical code

Projects

None yet

Development

Successfully merging this pull request may close these issues.