Skip to content

Develop -> Master PR#1652

Merged
tynes merged 29 commits intomasterfrom
develop
Oct 29, 2021
Merged

Develop -> Master PR#1652
tynes merged 29 commits intomasterfrom
develop

Conversation

@tynes
Copy link
Copy Markdown
Contributor

@tynes tynes commented Oct 29, 2021

Description
Merge develop to master

cfromknecht and others added 29 commits October 8, 2021 16:41
Co-authored-by: Liam Horne <liam@lihorne.com>
feat: add go/batch-submitter env var parsing
build: fix mismatched js package versions (reduce yarn.lock size)
Creates a custom SentryStremHandler that functions analgously to a
log.StreamHandler, with the exception that any LvlError logs or higher
are posted to Sentry. It also leverages the existing go-ethereum logging
formatters, specifically JSONFormat, to post any additional log context
items as a JSON blob via extra data.
Adds logic to parse private key strings from a string (for debug
purposes) or from a valid BIP39 mnemonic and valid BIP32 derivation
path.

Additionally adds a ParseAddress helper to ensure proper parsing and
sanitization of contract addresses.
Adds the main BatchSubmitter service struct that will provide resources
to the (yet to be implemented) TxBatchSubmitter and StateBatchSubmitter
sub-services. This root service also sets up Sentry logging and
the embedded Prometheus metrics server.
feat: batch-submitter peripheral resources
The constants are actually defined in the reverse order of their
severity. The prior behavior would log everything _but_ log.LvlCrit.
Also parse the L1 timestamp in `injectContext`.
This value is useful but was not previously parsed
and added to the ethers provider
core-utils: parse L1 timestamp in injectContext
This commit adds a SimpleTxManager for tracking and bumping fees on txs
the batch submitter needs to publish. The bulk of the logic is adapated
from the existing tx manager (YNATM) used in the typescript version to
minimize any new classes of bugs that are not already considered.

The manager is configured via a min and max gas price, as well as an
additive gas price step that is applied after each resubmission interval
elapses, before signing and broadcasting a new transaction. This
corresponds to the LINEAR fee policy available in YNATM.

Txs generated from the same call to Send are treated as equivalent, thus
the method blocks until the first tx confirms. Care is taken to
throughly unit test the interactions and edge cases, as subtle bugs in
tx publication can lead to big headaches in prod. To this end, we
achieve 100% test coverage in the txmgr package:

```
coverage: 100.0% of statements
ok  	github.com/ethereum-optimism/go/batch-submitter/txmgr	10.311s
```
feat: add batch-submitter/txmgr for tx publication and  gas bumping
Fixed nit, added changeset for rpc-proxy
…y-on-post

Bypass lua checking when the request is not a POST
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Oct 29, 2021

🦋 Changeset detected

Latest commit: 240e62e

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 Patch
@eth-optimism/batch-submitter Patch
@eth-optimism/common-ts Patch
@eth-optimism/contracts Patch
@eth-optimism/core-utils Patch
@eth-optimism/data-transport-layer Patch
@eth-optimism/hardhat-ovm Patch
@eth-optimism/message-relayer Patch
@eth-optimism/replica-healthcheck Patch
@eth-optimism/specs Patch
@eth-optimism/rpc-proxy 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-ops Area: ops labels Oct 29, 2021
@tynes tynes merged commit f32e922 into master Oct 29, 2021
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-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.

6 participants